This is the AutoRest configuration file for Resource.
To build the SDK for Resource, simply Install AutoRest and in this folder, run:
autorest
To see additional help and options, run:
autorest --help
These are the global settings for the Resource API.
openapi-type: arm
tag: package-features-2015-12
tag: package-locks-2016-09
tag: package-policy-2020-09
tag: package-resources-2021-01
tag: package-subscriptions-2021-01
tag: package-links-2016-09
tag: package-managedapplications-2018-06
tag: package-deploymentscripts-2020-10
tag: package-templatespecs-2019-06-preview
These settings apply only when --tag=package-resources-2021-01
is specified on the command line.
input-file:
- Microsoft.Resources/stable/2021-01-01/resources.json
These settings apply only when --tag=package-policy-2020-09
is specified on the command line.
input-file:
- Microsoft.Authorization/stable/2020-09-01/dataPolicyManifests.json
- Microsoft.Authorization/stable/2020-09-01/policyAssignments.json
- Microsoft.Authorization/stable/2020-09-01/policyDefinitions.json
- Microsoft.Authorization/stable/2020-09-01/policySetDefinitions.json
- Microsoft.Authorization/preview/2020-07-01-preview/policyExemptions.json
# Needed when there is more than one input file
override-info:
title: PolicyClient
These settings apply only when --tag=package-preview-2020-08
is specified on the command line.
input-file:
- Microsoft.Solutions/preview/2020-08-21-preview/managedapplications.json
These settings apply only when --tag=package-subscriptions-2021-01
is specified on the command line.
input-file:
- Microsoft.Resources/stable/2021-01-01/subscriptions.json
These settings apply only when --tag=package-deploymentscripts-2020-10
is specified on the command line.
input-file:
- Microsoft.Resources/stable/2020-10-01/deploymentScripts.json
These settings apply only when --tag=package-deploymentscripts-2019-10-preview
is specified on the command line.
input-file:
- Microsoft.Resources/preview/2019-10-01-preview/deploymentScripts.json
These settings apply only when --tag=package-features-2015-12
is specified on the command line.
input-file:
- Microsoft.Features/stable/2015-12-01/features.json
These settings apply only when --tag=package-locks-2016-09
is specified on the command line.
input-file:
- Microsoft.Authorization/stable/2016-09-01/locks.json
These settings apply only when --tag=package-locks-2015-01
is specified on the command line.
input-file:
- Microsoft.Authorization/stable/2015-01-01/locks.json
These settings apply only when --tag=package-policy-2020-03
is specified on the command line.
input-file:
- Microsoft.Authorization/stable/2020-03-01/policyAssignments.json
- Microsoft.Authorization/stable/2020-03-01/policyDefinitions.json
- Microsoft.Authorization/stable/2020-03-01/policySetDefinitions.json
- Microsoft.Authorization/preview/2020-07-01-preview/policyExemptions.json
# Needed when there is more than one input file
override-info:
title: PolicyClient
These settings apply only when --tag=package-policy-2019-09
is specified on the command line.
input-file:
- Microsoft.Authorization/stable/2019-09-01/policyAssignments.json
- Microsoft.Authorization/stable/2019-09-01/policyDefinitions.json
- Microsoft.Authorization/stable/2019-09-01/policySetDefinitions.json
# Needed when there is more than one input file
override-info:
title: PolicyClient
These settings apply only when --tag=package-policy-2019-06
is specified on the command line.
input-file:
- Microsoft.Authorization/stable/2019-06-01/policyAssignments.json
- Microsoft.Authorization/stable/2019-06-01/policyDefinitions.json
- Microsoft.Authorization/stable/2019-06-01/policySetDefinitions.json
# Needed when there is more than one input file
override-info:
title: PolicyClient
These settings apply only when --tag=package-policy-2019-01
is specified on the command line.
input-file:
- Microsoft.Authorization/stable/2019-01-01/policyAssignments.json
- Microsoft.Authorization/stable/2019-01-01/policyDefinitions.json
- Microsoft.Authorization/stable/2019-01-01/policySetDefinitions.json
# Needed when there is more than one input file
override-info:
title: PolicyClient
These settings apply only when --tag=package-policy-2018-05
is specified on the command line.
input-file:
- Microsoft.Authorization/stable/2018-05-01/policyAssignments.json
- Microsoft.Authorization/stable/2018-05-01/policyDefinitions.json
- Microsoft.Authorization/stable/2018-05-01/policySetDefinitions.json
# Needed when there is more than one input file
override-info:
title: PolicyClient
These settings apply only when --tag=package-policy-2018-03
is specified on the command line.
input-file:
- Microsoft.Authorization/stable/2018-03-01/policyAssignments.json
- Microsoft.Authorization/stable/2018-03-01/policyDefinitions.json
- Microsoft.Authorization/stable/2018-03-01/policySetDefinitions.json
# Needed when there is more than one input file
override-info:
title: PolicyClient
These settings apply only when --tag=package-policy-2017-06
is specified on the command line.
input-file:
- Microsoft.Authorization/preview/2017-06-01-preview/policyAssignments.json
- Microsoft.Authorization/preview/2017-06-01-preview/policySetDefinitions.json
- Microsoft.Authorization/stable/2016-12-01/policyDefinitions.json
# Needed when there is more than one input file
override-info:
title: PolicyClient
These settings apply only when --tag=package-pure-policy-2017-06
is specified on the command line.
input-file:
- Microsoft.Authorization/preview/2017-06-01-preview/policyAssignments.json
- Microsoft.Authorization/preview/2017-06-01-preview/policySetDefinitions.json
# Needed when there is more than one input file
override-info:
title: PolicyClient
These settings apply only when --tag=package-templatespecs-2019-06-preview
is specified on the command line.
input-file:
- Microsoft.Resources/preview/2019-06-01-preview/templateSpecs.json
These settings apply only when --tag=package-policy-2016-12
is specified on the command line.
input-file:
- Microsoft.Authorization/stable/2016-12-01/policyDefinitions.json
- Microsoft.Authorization/stable/2016-12-01/policyAssignments.json
# Needed when there is more than one input file
override-info:
title: PolicyClient
These settings apply only when --tag=package-policy-2016-04
is specified on the command line.
input-file:
- Microsoft.Authorization/stable/2016-04-01/policy.json
These settings apply only when --tag=package-policy-2015-10
is specified on the command line.
input-file:
- Microsoft.Authorization/preview/2015-10-01-preview/policy.json
These settings apply only when --tag=package-resources-2020-10
is specified on the command line.
input-file:
- Microsoft.Resources/stable/2020-10-01/resources.json
These settings apply only when --tag=package-resources-2020-08
is specified on the command line.
input-file:
- Microsoft.Resources/stable/2020-08-01/resources.json
These settings apply only when --tag=package-resources-2020-06
is specified on the command line.
input-file:
- Microsoft.Resources/stable/2020-06-01/resources.json
These settings apply only when --tag=package-resources-2019-10
is specified on the command line.
input-file:
- Microsoft.Resources/stable/2019-10-01/resources.json
These settings apply only when --tag=package-resources-2019-08
is specified on the command line.
input-file:
- Microsoft.Resources/stable/2019-08-01/resources.json
These settings apply only when --tag=package-resources-2019-07
is specified on the command line.
input-file:
- Microsoft.Resources/stable/2019-07-01/resources.json
These settings apply only when --tag=package-resources-2019-0510
is specified on the command line.
input-file:
- Microsoft.Resources/stable/2019-05-10/resources.json
These settings apply only when --tag=package-resources-2019-05
is specified on the command line.
input-file:
- Microsoft.Resources/stable/2019-05-01/resources.json
These settings apply only when --tag=package-resources-2019-03
is specified on the command line.
input-file:
- Microsoft.Resources/stable/2019-03-01/resources.json
These settings apply only when --tag=package-resources-2018-05
is specified on the command line.
input-file:
- Microsoft.Resources/stable/2018-05-01/resources.json
These settings apply only when --tag=package-resources-2018-02
is specified on the command line.
input-file:
- Microsoft.Resources/stable/2018-02-01/resources.json
These settings apply only when --tag=package-resources-2017-05
is specified on the command line.
input-file:
- Microsoft.Resources/stable/2017-05-10/resources.json
These settings apply only when --tag=package-resources-2016-09
is specified on the command line.
input-file:
- Microsoft.Resources/stable/2016-09-01/resources.json
These settings apply only when --tag=package-resources-2016-07
is specified on the command line.
input-file:
- Microsoft.Resources/stable/2016-07-01/resources.json
These settings apply only when --tag=package-resources-2016-02
is specified on the command line.
input-file:
- Microsoft.Resources/stable/2016-02-01/resources.json
These settings apply only when --tag=package-resources-2015-11
is specified on the command line.
input-file:
- Microsoft.Resources/stable/2015-11-01/resources.json
These settings apply only when --tag=package-subscriptions-2020-01
is specified on the command line.
input-file:
- Microsoft.Resources/stable/2020-01-01/subscriptions.json
These settings apply only when --tag=package-subscriptions-2019-11
is specified on the command line.
input-file:
- Microsoft.Resources/stable/2019-11-01/subscriptions.json
These settings apply only when --tag=package-subscriptions-2019-06
is specified on the command line.
input-file:
- Microsoft.Resources/stable/2019-06-01/subscriptions.json
These settings apply only when --tag=package-subscriptions-2018-06
is specified on the command line.
input-file:
- Microsoft.Resources/stable/2018-06-01/subscriptions.json
These settings apply only when --tag=package-subscriptions-2016-06
is specified on the command line.
input-file:
- Microsoft.Resources/stable/2016-06-01/subscriptions.json
These settings apply only when --tag=package-subscriptions-2015-11
is specified on the command line.
input-file:
- Microsoft.Resources/stable/2015-11-01/subscriptions.json
These settings apply only when --tag=package-links-2016-09
is specified on the command line.
input-file:
- Microsoft.Resources/stable/2016-09-01/links.json
These settings apply only when --tag=package-managedapplications-2019-07
is specified on the command line.
input-file:
- Microsoft.Solutions/stable/2019-07-01/managedapplications.json
These settings apply only when --tag=package-managedapplications-2018-06
is specified on the command line.
input-file:
- Microsoft.Solutions/stable/2018-06-01/managedapplications.json
These settings apply only when --tag=package-managedapplications-2017-09
is specified on the command line.
input-file:
- Microsoft.Solutions/stable/2017-09-01/managedapplications.json
These settings apply only when --tag=package-managedapplications-2016-09
is specified on the command line.
input-file:
- Microsoft.Solutions/preview/2016-09-01-preview/managedapplications.json
directive:
- suppress: UniqueResourcePaths
from: policySetDefinitions.json
where: $.paths
reason: policy set definition under an extension resource with Microsoft.Management
- suppress: UniqueResourcePaths
from: resources.json
where: $.paths
reason: route definitions under an extension resource with Microsoft.Management
- suppress: UniqueResourcePaths
from: policyDefinitions.json
where: $.paths
reason: policy definition under an extension resource with Microsoft.Management
- suppress: UniqueResourcePaths
from: policyAssignments.json
where: $.paths
reason: policy assignment under an extension resource with Microsoft.Management
- suppress: UniqueResourcePaths
from: policyExemptions.json
where: $.paths
reason: policy exemption under an extension resource with Microsoft.Management
- suppress: OperationsAPIImplementation
from: policyAssignments.json
where: $.paths
reason: operation APIs for Microsoft.Authorization are to be defined in RBAC swagger
- suppress: OperationsAPIImplementation
from: policyDefinitions.json
where: $.paths
reason: operation APIs for Microsoft.Authorization are to be defined in RBAC swagger
- suppress: OperationsAPIImplementation
from: policySetDefinitions.json
where: $.paths
reason: operation APIs for Microsoft.Authorization are to be defined in RBAC swagger
- suppress: OperationsAPIImplementation
from: policyExemptions.json
where: $.paths
reason: operation APIs for Microsoft.Authorization are to be defined in RBAC swagger
- suppress: BodyTopLevelProperties
from: policyExemptions.json
where: $.definitions.PolicyExemption.properties
reason: Currently systemData is not allowed
- suppress: BodyTopLevelProperties
from: resources.json
where: $.definitions.ResourceGroup.properties
reason: managedBy is a top level property
- suppress: BodyTopLevelProperties
from: resources.json
where: $.definitions.GenericResource.properties
reason: managedBy is a top level property
- suppress: BodyTopLevelProperties
from: resources.json
where: $.definitions.GenericResourceExpanded.properties
reason: 'createdTime,changedTime & provisioningState are top-level properties'
- suppress: BodyTopLevelProperties
from: resources.json
where: $.definitions.TagDetails.properties
reason: TagDetails is a top level property
- suppress: BodyTopLevelProperties
from: resources.json
where: $.definitions.TagValue.properties
reason: TagValue is a top level property
- suppress: RequiredPropertiesMissingInResourceModel
from: resources.json
where: $.definitions.TagValue
reason: TagValue will be deprecated soon
- suppress: RequiredPropertiesMissingInResourceModel
from: resources.json
where: $.definitions.TagDetails
reason: TagDetails will be deprecated soon
- suppress: XmsResourceInPutResponse
from: resources.json
where: '$.paths["/subscriptions/{subscriptionId}/tagNames/{tagName}"].put'
reason: TagDetails is not an Azure resource
- suppress: BodyTopLevelProperties
from: managedapplications.json
where: $.definitions.Appliance.properties
reason: managedBy is a top level property
- suppress: BodyTopLevelProperties
from: managedapplications.json
where: $.definitions.ApplianceDefinition.properties
reason: managedBy is a top level property
- suppress: BodyTopLevelProperties
from: managedapplications.json
where: $.definitions.AppliancePatchable.properties
reason: managedBy is a top level property
- suppress: BodyTopLevelProperties
from: managedapplications.json
where: $.definitions.GenericResource.properties
reason: managedBy is a top level property
- from: deploymentScripts.json
suppress: TrackedResourceGetOperation
where: $.definitions.AzureCliScript
reason: Tooling issue.
- from: deploymentScripts.json
suppress: TrackedResourcePatchOperation
where: $.definitions.AzureCliScript
reason: Tooling issue.
- from: deploymentScripts.json
suppress: TrackedResourceGetOperation
where: $.definitions.AzurePowerShellScript
reason: Tooling issue
- from: deploymentScripts.json
suppress: TrackedResourcePatchOperation
where: $.definitions.AzurePowerShellScript
reason: Tooling issue
- from: deploymentScripts.json
suppress: OperationsAPIImplementation
where: $.paths
reason: OperationsAPI will come from Resources
- from: deploymentScripts.json
suppress: R3006
where:
- $.definitions.DeploymentScript.properties
- $.definitions.AzureCliScript.properties
- $.definitions.AzurePowerShellScript.properties
reason: Currently systemData is not allowed
- suppress: OperationsAPIImplementation
from: templateSpecs.json
where: $.paths
reason: OperationsAPI will come from Resources
- suppress: R3006
from: templateSpecs.json
where:
- $.definitions.TemplateSpec.properties
- $.definitions.TemplateSpecVersion.properties
- $.definitions.TemplateSpecUpdateModel.properties
- $.definitions.TemplateSpecVersionUpdateModel.properties
reason: Currently systemData is not allowed
- suppress: TrackedResourceListByImmediateParent
from: templateSpecs.json
where: $.definitions
reason: Tooling issue
- suppress: TrackedResourceListByResourceGroup
from: templateSpecs.json
where: $.definitions.TemplateSpecVersion
reason: Tooling issue
- suppress: OperationsAPIImplementation
where: $.paths
from: dataPolicyManifests.json
reason: operation APIs for Microsoft.Authorization are to be defined in RBAC swagger
- suppress: EnumInsteadOfBoolean
where: $.definitions.DataManifestCustomResourceFunctionDefinition.properties.allowCustomProperties
from: dataPolicyManifests.json
reason: 'This property can only have two values. '
- suppress: EnumInsteadOfBoolean
where: $.definitions.DataPolicyManifestProperties.properties.isBuiltInOnly
from: dataPolicyManifests.json
reason: 'This property can only have two values. '
- suppress: PageableOperation
where: '$.paths["/providers/Microsoft.Authorization/dataPolicyManifests"].get'
from: dataPolicyManifests.json
reason: Pagination not supported. The size of the result list is pretty limited
- suppress: DescriptionAndTitleMissing
where: $.definitions.AliasPathMetadata
from: resources.json
reason: This was already checked in - not my code
- suppress: XmsExamplesRequired
where: $.paths
from: resources.json
reason: Pre-existing lint error. Not related to this version release.
- suppress: TopLevelResourcesListByResourceGroup
from: policyDefinitions.json
reason: Policy definitions are a proxy resource that is only usable on subscriptions or management groups
- suppress: TopLevelResourcesListByResourceGroup
from: policySetDefinitions.json
reason: Policy set definitions are a proxy resource that is only usable on subscriptions or management groups
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-net
- repo: azure-sdk-for-python
after_scripts:
- python ./scripts/multiapi_init_gen.py azure-mgmt-resource#features
- python ./scripts/multiapi_init_gen.py azure-mgmt-resource#locks
- python ./scripts/multiapi_init_gen.py azure-mgmt-resource#policy
- python ./scripts/multiapi_init_gen.py azure-mgmt-resource#resources
- python ./scripts/multiapi_init_gen.py azure-mgmt-resource#subscriptions
- python ./scripts/multiapi_init_gen.py azure-mgmt-resource#links
- python ./scripts/multiapi_init_gen.py azure-mgmt-resource#templatespecs
- python ./scripts/multiapi_init_gen.py azure-mgmt-resource#deploymentscripts
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
- repo: azure-sdk-for-node
- repo: azure-sdk-for-js
- repo: azure-resource-manager-schemas
after_scripts:
- node sdkauto_afterscript.js resources/resource-manager
See configuration in readme.go.md
See configuration in readme.java.md
Since this RP has no unique default package, iterate over all of them for validation:
batch:
- package-features: true
- package-locks: true
- package-policy: true
- package-resources: true
- package-subscriptions: true
- package-links: true
- package-managedapplications: true
- package-deploymentscripts: true
- package-templatespecs: true
These settings apply only when --tag=profile-hybrid-2019-03-01
is specified on the command line.
Creating this tag to pick proper resources from the hybrid profile.
input-file:
- Microsoft.Authorization/stable/2016-09-01/locks.json
- Microsoft.Authorization/stable/2016-12-01/policyDefinitions.json
- Microsoft.Authorization/stable/2016-12-01/policyAssignments.json
- Microsoft.Resources/stable/2016-06-01/subscriptions.json
- Microsoft.Resources/stable/2018-05-01/resources.json
override-info:
title: PolicyClient
See configuration in readme.azureresourceschema.md