Skip to content

Latest commit

 

History

History
512 lines (441 loc) · 18.9 KB

File metadata and controls

512 lines (441 loc) · 18.9 KB

chaos

see https://aka.ms/autorest

This is the AutoRest configuration file for chaos.

Getting Started

To build the SDKs for My API, simply install AutoRest via npm (npm install -g autorest) and then run:

autorest readme.md

To see additional help and options, run:

autorest --help

For other options on installation see Installing AutoRest on the AutoRest github page.


Configuration

Basic Information

These are the global settings for the chaos.

title: ChaosManagementClient
description: Chaos Management Client
openapi-type: arm
tag: package-2025-01

Tag: package-2025-01

These settings apply only when --tag=package-2025-01 is specified on the command line.

input-file:
  - Microsoft.Chaos/stable/2025-01-01/openapi.json
suppressions:
  - code: TrackedExtensionResourcesAreNotAllowed
    from: openapi.json
    where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{parentProviderNamespace}/{parentResourceType}/{parentResourceName}/providers/Microsoft.Chaos/targets/{targetName}"].get
    reason: Not actually a tracked resource, but location property is required to avoid breaking changes
  - code: RequestSchemaForTrackedResourcesMustHaveTags
    from: openapi.json
    where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{parentProviderNamespace}/{parentResourceType}/{parentResourceName}/providers/Microsoft.Chaos/targets/{targetName}"].put
    reason: Not actually a tracked resource, but location property is required to avoid breaking changes
  - code: TrackedExtensionResourcesAreNotAllowed
    from: openapi.json
    where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{parentProviderNamespace}/{parentResourceType}/{parentResourceName}/providers/Microsoft.Chaos/targets/{targetName}"].put
    reason: Not actually a tracked resource, but location property is required to avoid breaking changes
  - code: TrackedResourcePatchOperation
    from: openapi.json
    where: $.definitions.Target
    reason: Not actually a tracked resource, but location property is required to avoid breaking changes
  - code: AvoidAdditionalProperties
    from: openapi.json
    where: $.definitions.Target.properties.properties
    reason: Existing GA-exposed resource which relies on additionalProperties currently. Our RP will release a V2 in the future.
  - code: PatchBodyParametersSchema
    from: openapi.json
    reason: already used in GA api version, fixing it will cause breaking change

Tag: package-preview-2024-11

These settings apply only when --tag=package-preview-2024-11 is specified on the command line.

input-file:
  - Microsoft.Chaos/preview/2024-11-01-preview/openapi.json
suppressions:
  - code: TrackedExtensionResourcesAreNotAllowed
    from: openapi.json
    where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{parentProviderNamespace}/{parentResourceType}/{parentResourceName}/providers/Microsoft.Chaos/targets/{targetName}"].get
    reason: Not actually a tracked resource, but location property is required to avoid breaking changes
  - code: RequestSchemaForTrackedResourcesMustHaveTags
    from: openapi.json
    where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{parentProviderNamespace}/{parentResourceType}/{parentResourceName}/providers/Microsoft.Chaos/targets/{targetName}"].put
    reason: Not actually a tracked resource, but location property is required to avoid breaking changes
  - code: TrackedExtensionResourcesAreNotAllowed
    from: openapi.json
    where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{parentProviderNamespace}/{parentResourceType}/{parentResourceName}/providers/Microsoft.Chaos/targets/{targetName}"].put
    reason: Not actually a tracked resource, but location property is required to avoid breaking changes
  - code: TrackedResourcePatchOperation
    from: openapi.json
    where: $.definitions.Target
    reason: Not actually a tracked resource, but location property is required to avoid breaking changes
  - code: AvoidAdditionalProperties
    from: openapi.json
    where: $.definitions.Target.properties.properties
    reason: Existing GA-exposed resource which relies on additionalProperties currently. Our RP will release a V2 in the future.
  - code: PatchBodyParametersSchema
    from: openapi.json
    reason: already used in GA api version, fixing it will cause breaking change

Tag: package-preview-2024-03

These settings apply only when --tag=package-preview-2024-03 is specified on the command line.

input-file:
  - Microsoft.Chaos/preview/2024-03-22-preview/capabilities.json
  - Microsoft.Chaos/preview/2024-03-22-preview/capabilityTypes.json
  - Microsoft.Chaos/preview/2024-03-22-preview/experiments.json
  - Microsoft.Chaos/preview/2024-03-22-preview/operationStatuses.json
  - Microsoft.Chaos/preview/2024-03-22-preview/operations.json
  - Microsoft.Chaos/preview/2024-03-22-preview/privateAccesses.json
  - Microsoft.Chaos/preview/2024-03-22-preview/targetTypes.json
  - Microsoft.Chaos/preview/2024-03-22-preview/targets.json
directive:
  - from: swagger-document
    where: "$.definitions.action"
    transform: >
      $["x-ms-client-name"] = "ChaosExperimentAction";
  - from: swagger-document
    where: "$.definitions.branch"
    transform: >
      $["x-ms-client-name"] = "ChaosExperimentBranch";
  - from: swagger-document
    where: "$.definitions.step"
    transform: >
      $["x-ms-client-name"] = "ChaosExperimentStep";
  - from: swagger-document
    where: "$.definitions.filter"
    transform: >
      $["x-ms-client-name"] = "ChaosTargetFilter";
  - from: swagger-document
    where: "$.definitions.simpleFilter"
    transform: >
      $["x-ms-client-name"] = "ChaosTargetSimpleFilter";
  - from: swagger-document
    where: "$.definitions.simpleFilterParameters"
    transform: >
      $["x-ms-client-name"] = "ChaosTargetSimpleFilterParameters";
  - from: swagger-document
    where: "$.definitions.selector"
    transform: >
      $["x-ms-client-name"] = "ChaosTargetSelector";
  - from: swagger-document
    where: "$.definitions.listSelector"
    transform: >
      $["x-ms-client-name"] = "ChaosTargetListSelector";
  - from: swagger-document
    where: "$.definitions.querySelector"
    transform: >
      $["x-ms-client-name"] = "ChaosTargetQuerySelector";

Tag: package-2024-01

These settings apply only when --tag=package-2024-01 is specified on the command line.

input-file:
  - Microsoft.Chaos/stable/2024-01-01/capabilities.json
  - Microsoft.Chaos/stable/2024-01-01/capabilityTypes.json
  - Microsoft.Chaos/stable/2024-01-01/experiments.json
  - Microsoft.Chaos/stable/2024-01-01/operationStatuses.json
  - Microsoft.Chaos/stable/2024-01-01/operations.json
  - Microsoft.Chaos/stable/2024-01-01/targetTypes.json
  - Microsoft.Chaos/stable/2024-01-01/targets.json
directive:
  - from: swagger-document
    where: "$.definitions.action"
    transform: >
      $["x-ms-client-name"] = "ChaosExperimentAction";
  - from: swagger-document
    where: "$.definitions.branch"
    transform: >
      $["x-ms-client-name"] = "ChaosExperimentBranch";
  - from: swagger-document
    where: "$.definitions.step"
    transform: >
      $["x-ms-client-name"] = "ChaosExperimentStep";
  - from: swagger-document
    where: "$.definitions.filter"
    transform: >
      $["x-ms-client-name"] = "ChaosTargetFilter";
  - from: swagger-document
    where: "$.definitions.simpleFilter"
    transform: >
      $["x-ms-client-name"] = "ChaosTargetSimpleFilter";
  - from: swagger-document
    where: "$.definitions.simpleFilterParameters"
    transform: >
      $["x-ms-client-name"] = "ChaosTargetSimpleFilterParameters";
  - from: swagger-document
    where: "$.definitions.selector"
    transform: >
      $["x-ms-client-name"] = "ChaosTargetSelector";
  - from: swagger-document
    where: "$.definitions.listSelector"
    transform: >
      $["x-ms-client-name"] = "ChaosTargetListSelector";
  - from: swagger-document
    where: "$.definitions.querySelector"
    transform: >
      $["x-ms-client-name"] = "ChaosTargetQuerySelector";

Tag: package-2023-11

These settings apply only when --tag=package-2023-11 is specified on the command line.

input-file:
  - Microsoft.Chaos/stable/2023-11-01/capabilities.json
  - Microsoft.Chaos/stable/2023-11-01/capabilityTypes.json
  - Microsoft.Chaos/stable/2023-11-01/experiments.json
  - Microsoft.Chaos/stable/2023-11-01/operationStatuses.json
  - Microsoft.Chaos/stable/2023-11-01/operations.json
  - Microsoft.Chaos/stable/2023-11-01/targetTypes.json
  - Microsoft.Chaos/stable/2023-11-01/targets.json
directive:
  - from: swagger-document
    where: "$.definitions.action"
    transform: >
      $["x-ms-client-name"] = "ChaosExperimentAction";
  - from: swagger-document
    where: "$.definitions.branch"
    transform: >
      $["x-ms-client-name"] = "ChaosExperimentBranch";
  - from: swagger-document
    where: "$.definitions.step"
    transform: >
      $["x-ms-client-name"] = "ChaosExperimentStep";
  - from: swagger-document
    where: "$.definitions.filter"
    transform: >
      $["x-ms-client-name"] = "ChaosTargetFilter";
  - from: swagger-document
    where: "$.definitions.simpleFilter"
    transform: >
      $["x-ms-client-name"] = "ChaosTargetSimpleFilter";
  - from: swagger-document
    where: "$.definitions.simpleFilterParameters"
    transform: >
      $["x-ms-client-name"] = "ChaosTargetSimpleFilterParameters";
  - from: swagger-document
    where: "$.definitions.selector"
    transform: >
      $["x-ms-client-name"] = "ChaosTargetSelector";
  - from: swagger-document
    where: "$.definitions.listSelector"
    transform: >
      $["x-ms-client-name"] = "ChaosTargetListSelector";
  - from: swagger-document
    where: "$.definitions.querySelector"
    transform: >
      $["x-ms-client-name"] = "ChaosTargetQuerySelector";

Tag: package-preview-2023-10

These settings apply only when --tag=package-preview-2023-10 is specified on the command line.

input-file:
  - Microsoft.Chaos/preview/2023-10-27-preview/capabilities.json
  - Microsoft.Chaos/preview/2023-10-27-preview/capabilityTypes.json
  - Microsoft.Chaos/preview/2023-10-27-preview/experiments.json
  - Microsoft.Chaos/preview/2023-10-27-preview/operationStatuses.json
  - Microsoft.Chaos/preview/2023-10-27-preview/operations.json
  - Microsoft.Chaos/preview/2023-10-27-preview/privateAccesses.json
  - Microsoft.Chaos/preview/2023-10-27-preview/targetTypes.json
  - Microsoft.Chaos/preview/2023-10-27-preview/targets.json
directive:
  - from: swagger-document
    where: "$.definitions.action"
    transform: >
      $["x-ms-client-name"] = "ChaosExperimentAction";
  - from: swagger-document
    where: "$.definitions.branch"
    transform: >
      $["x-ms-client-name"] = "ChaosExperimentBranch";
  - from: swagger-document
    where: "$.definitions.step"
    transform: >
      $["x-ms-client-name"] = "ChaosExperimentStep";
  - from: swagger-document
    where: "$.definitions.filter"
    transform: >
      $["x-ms-client-name"] = "ChaosTargetFilter";
  - from: swagger-document
    where: "$.definitions.simpleFilter"
    transform: >
      $["x-ms-client-name"] = "ChaosTargetSimpleFilter";
  - from: swagger-document
    where: "$.definitions.simpleFilterParameters"
    transform: >
      $["x-ms-client-name"] = "ChaosTargetSimpleFilterParameters";
  - from: swagger-document
    where: "$.definitions.selector"
    transform: >
      $["x-ms-client-name"] = "ChaosTargetSelector";
  - from: swagger-document
    where: "$.definitions.listSelector"
    transform: >
      $["x-ms-client-name"] = "ChaosTargetListSelector";
  - from: swagger-document
    where: "$.definitions.querySelector"
    transform: >
      $["x-ms-client-name"] = "ChaosTargetQuerySelector";

Tag: package-preview-2023-09

These settings apply only when --tag=package-preview-2023-09 is specified on the command line.

input-file:
  - Microsoft.Chaos/preview/2023-09-01-preview/capabilities.json
  - Microsoft.Chaos/preview/2023-09-01-preview/capabilityTypes.json
  - Microsoft.Chaos/preview/2023-09-01-preview/experiments.json
  - Microsoft.Chaos/preview/2023-09-01-preview/operations.json
  - Microsoft.Chaos/preview/2023-09-01-preview/targetTypes.json
  - Microsoft.Chaos/preview/2023-09-01-preview/targets.json
  - Microsoft.Chaos/preview/2023-09-01-preview/operationStatuses.json
directive:
  - from: swagger-document
    where: "$.definitions.action"
    transform: >
      $["x-ms-client-name"] = "ChaosExperimentAction";
  - from: swagger-document
    where: "$.definitions.branch"
    transform: >
      $["x-ms-client-name"] = "ChaosExperimentBranch";
  - from: swagger-document
    where: "$.definitions.step"
    transform: >
      $["x-ms-client-name"] = "ChaosExperimentStep";
  - from: swagger-document
    where: "$.definitions.filter"
    transform: >
      $["x-ms-client-name"] = "ChaosTargetFilter";
  - from: swagger-document
    where: "$.definitions.simpleFilter"
    transform: >
      $["x-ms-client-name"] = "ChaosTargetSimpleFilter";
  - from: swagger-document
    where: "$.definitions.simpleFilterParameters"
    transform: >
      $["x-ms-client-name"] = "ChaosTargetSimpleFilterParameters";
  - from: swagger-document
    where: "$.definitions.selector"
    transform: >
      $["x-ms-client-name"] = "ChaosTargetSelector";
  - from: swagger-document
    where: "$.definitions.listSelector"
    transform: >
      $["x-ms-client-name"] = "ChaosTargetListSelector";
  - from: swagger-document
    where: "$.definitions.querySelector"
    transform: >
      $["x-ms-client-name"] = "ChaosTargetQuerySelector";

Tag: package-2023-04-15-preview

These settings apply only when --tag=package-2023-04-15-preview is specified on the command line.

input-file:
  - Microsoft.Chaos/preview/2023-04-15-preview/capabilities.json
  - Microsoft.Chaos/preview/2023-04-15-preview/capabilityTypes.json
  - Microsoft.Chaos/preview/2023-04-15-preview/experiments.json
  - Microsoft.Chaos/preview/2023-04-15-preview/operations.json
  - Microsoft.Chaos/preview/2023-04-15-preview/targetTypes.json
  - Microsoft.Chaos/preview/2023-04-15-preview/targets.json

Tag: package-2023-04-01-preview

These settings apply only when --tag=package-2023-04-01-preview is specified on the command line.

input-file:
  - Microsoft.Chaos/preview/2023-04-01-preview/capabilities.json
  - Microsoft.Chaos/preview/2023-04-01-preview/capabilityTypes.json
  - Microsoft.Chaos/preview/2023-04-01-preview/experiments.json
  - Microsoft.Chaos/preview/2023-04-01-preview/operations.json
  - Microsoft.Chaos/preview/2023-04-01-preview/targetTypes.json
  - Microsoft.Chaos/preview/2023-04-01-preview/targets.json

Tag: package-2022-10-01-preview

These settings apply only when --tag=package-2022-10-01-preview is specified on the command line.

directive:
  - suppress: R3026
    reason: Patch is not implemented in this version.
    where:
      - $.definitions.experiment

input-file:
  - Microsoft.Chaos/preview/2022-10-01-preview/capabilities.json
  - Microsoft.Chaos/preview/2022-10-01-preview/capabilityTypes.json
  - Microsoft.Chaos/preview/2022-10-01-preview/experiments.json
  - Microsoft.Chaos/preview/2022-10-01-preview/operations.json
  - Microsoft.Chaos/preview/2022-10-01-preview/targetTypes.json
  - Microsoft.Chaos/preview/2022-10-01-preview/targets.json

Tag: package-2022-07-01-preview

These settings apply only when --tag=package-2022-07-01-preview is specified on the command line.

directive:
  - suppress: R3026
    reason: Patch is not implemented in this version.
    where:
      - $.definitions.experiment

input-file:
  - Microsoft.Chaos/preview/2022-07-01-preview/capabilities.json
  - Microsoft.Chaos/preview/2022-07-01-preview/experiments.json
  - Microsoft.Chaos/preview/2022-07-01-preview/operations.json
  - Microsoft.Chaos/preview/2022-07-01-preview/targets.json
  - Microsoft.Chaos/preview/2022-07-01-preview/targetTypes.json
  - Microsoft.Chaos/preview/2022-07-01-preview/capabilityTypes.json

Tag: package-2021-09-15-preview

These settings apply only when --tag=package-2021-09-15-preview is specified on the command line.

directive:
  - suppress: R3026
    reason: Patch is not implemented in this version.
    where:
      - $.definitions.experiment

input-file:
  - Microsoft.Chaos/preview/2021-09-15-preview/capabilities.json
  - Microsoft.Chaos/preview/2021-09-15-preview/experiments.json
  - Microsoft.Chaos/preview/2021-09-15-preview/operations.json
  - Microsoft.Chaos/preview/2021-09-15-preview/targets.json
  - Microsoft.Chaos/preview/2021-09-15-preview/targetTypes.json
  - Microsoft.Chaos/preview/2021-09-15-preview/capabilityTypes.json

Code Generation

Swagger to SDK

This section describes what SDK should be generated by the automatic system. This is not used by Autorest itself.

swagger-to-sdk:
  - repo: azure-sdk-for-python
  - repo: azure-sdk-for-java
  - repo: azure-sdk-for-go
  - repo: azure-sdk-for-js
  - repo: azure-resource-manager-schemas
  - repo: azure-cli-extensions
  - repo: azure-powershell

Az

See configuration in readme.az.md

Go

See configuration in readme.go.md

Python

See configuration in readme.python.md

TypeScript

See configuration in readme.typescript.md

CSharp

See configuration in readme.csharp.md

Suppression

directive:
  - suppress: TopLevelResourcesListBySubscription
    where: $.definitions.target
    from: targets.json
    reason: |-
      We have the top level resource list by subscription operation here: https://github.com/mariohdez/azure-rest-api-specs/blob/5a870f3163ae6e9cc5ed33d40cfff61764050213/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/targets.json#L37

      this is a false positive I believe.
  - suppress: TopLevelResourcesListBySubscription
    where: $.definitions.target
    from: targets.json
    reason: |-
      we defined the the top level resource list here:

      https://github.com/mariohdez/azure-rest-api-specs/blob/5a870f3163ae6e9cc5ed33d40cfff61764050213/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/targets.json#L37
  - suppress: EnumInsteadOfBoolean
    where: $.definitions.Operation.properties.isDataAction
    from: types.json
    reason: We are consuming the type model declaration from "common". I don't think our service is responsible for updating this error... Plz push back otherwise.