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-03
tag: package-resources-2020-06
tag: package-subscriptions-2019-11
tag: package-links-2016-09
tag: package-managedapplications-2018-06
tag: package-deploymentscripts-2020-10
tag: package-preview-2020-08
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-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-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-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-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-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: 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 #BodyTopLevelProperties
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 #BodyTopLevelProperties
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
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
AutoRest V3 generators require the use of --tag=all-api-versions
to select api files.
This block is updated by an automatic script. Edits may be lost!
# include the azure profile definitions from the standard location
require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
- $(this-folder)/Microsoft.Solutions/preview/2020-08-21-preview/managedapplications.json
- $(this-folder)/Microsoft.Resources/stable/2020-06-01/resources.json
- $(this-folder)/Microsoft.Resources/stable/2020-01-01/subscriptions.json
- $(this-folder)/Microsoft.Resources/preview/2019-10-01-preview/deploymentScripts.json
- $(this-folder)/Microsoft.Resources/stable/2020-10-01/deploymentScripts.json
- $(this-folder)/Microsoft.Features/stable/2015-12-01/features.json
- $(this-folder)/Microsoft.Authorization/stable/2016-09-01/locks.json
- $(this-folder)/Microsoft.Authorization/stable/2015-01-01/locks.json
- $(this-folder)/Microsoft.Authorization/preview/2020-07-01-preview/policyExemptions.json
- $(this-folder)/Microsoft.Authorization/stable/2020-03-01/policyAssignments.json
- $(this-folder)/Microsoft.Authorization/stable/2020-03-01/policyDefinitions.json
- $(this-folder)/Microsoft.Authorization/stable/2020-03-01/policySetDefinitions.json
- $(this-folder)/Microsoft.Authorization/stable/2019-09-01/policyAssignments.json
- $(this-folder)/Microsoft.Authorization/stable/2019-09-01/policyDefinitions.json
- $(this-folder)/Microsoft.Authorization/stable/2019-09-01/policySetDefinitions.json
- $(this-folder)/Microsoft.Authorization/stable/2019-06-01/policyAssignments.json
- $(this-folder)/Microsoft.Authorization/stable/2019-06-01/policyDefinitions.json
- $(this-folder)/Microsoft.Authorization/stable/2019-06-01/policySetDefinitions.json
- $(this-folder)/Microsoft.Authorization/stable/2019-01-01/policyAssignments.json
- $(this-folder)/Microsoft.Authorization/stable/2019-01-01/policyDefinitions.json
- $(this-folder)/Microsoft.Authorization/stable/2019-01-01/policySetDefinitions.json
- $(this-folder)/Microsoft.Authorization/stable/2018-05-01/policyAssignments.json
- $(this-folder)/Microsoft.Authorization/stable/2018-05-01/policyDefinitions.json
- $(this-folder)/Microsoft.Authorization/stable/2018-05-01/policySetDefinitions.json
- $(this-folder)/Microsoft.Authorization/stable/2018-03-01/policyAssignments.json
- $(this-folder)/Microsoft.Authorization/stable/2018-03-01/policyDefinitions.json
- $(this-folder)/Microsoft.Authorization/stable/2018-03-01/policySetDefinitions.json
- $(this-folder)/Microsoft.Authorization/preview/2017-06-01-preview/policyAssignments.json
- $(this-folder)/Microsoft.Authorization/preview/2017-06-01-preview/policySetDefinitions.json
- $(this-folder)/Microsoft.Authorization/stable/2016-12-01/policyDefinitions.json
- $(this-folder)/Microsoft.Resources/preview/2019-06-01-preview/templateSpecs.json
- $(this-folder)/Microsoft.Authorization/stable/2016-12-01/policyAssignments.json
- $(this-folder)/Microsoft.Authorization/stable/2016-04-01/policy.json
- $(this-folder)/Microsoft.Authorization/preview/2015-10-01-preview/policy.json
- $(this-folder)/Microsoft.Resources/stable/2019-10-01/resources.json
- $(this-folder)/Microsoft.Resources/stable/2019-08-01/resources.json
- $(this-folder)/Microsoft.Resources/stable/2019-07-01/resources.json
- $(this-folder)/Microsoft.Resources/stable/2019-05-10/resources.json
- $(this-folder)/Microsoft.Resources/stable/2019-05-01/resources.json
- $(this-folder)/Microsoft.Resources/stable/2019-03-01/resources.json
- $(this-folder)/Microsoft.Resources/stable/2018-05-01/resources.json
- $(this-folder)/Microsoft.Resources/stable/2018-02-01/resources.json
- $(this-folder)/Microsoft.Resources/stable/2017-05-10/resources.json
- $(this-folder)/Microsoft.Resources/stable/2016-09-01/resources.json
- $(this-folder)/Microsoft.Resources/stable/2016-07-01/resources.json
- $(this-folder)/Microsoft.Resources/stable/2016-02-01/resources.json
- $(this-folder)/Microsoft.Resources/stable/2015-11-01/resources.json
- $(this-folder)/Microsoft.Resources/stable/2019-11-01/subscriptions.json
- $(this-folder)/Microsoft.Resources/stable/2019-06-01/subscriptions.json
- $(this-folder)/Microsoft.Resources/stable/2018-06-01/subscriptions.json
- $(this-folder)/Microsoft.Resources/stable/2016-06-01/subscriptions.json
- $(this-folder)/Microsoft.Resources/stable/2015-11-01/subscriptions.json
- $(this-folder)/Microsoft.Resources/stable/2016-09-01/links.json
- $(this-folder)/Microsoft.Solutions/stable/2019-07-01/managedapplications.json
- $(this-folder)/Microsoft.Solutions/stable/2018-06-01/managedapplications.json
- $(this-folder)/Microsoft.Solutions/stable/2017-09-01/managedapplications.json
- $(this-folder)/Microsoft.Solutions/preview/2016-09-01-preview/managedapplications.json
If there are files that should not be in the all-api-versions
set,
uncomment the exclude-file
section below and add the file paths.
#exclude-file:
# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json