{ "swagger": "2.0", "info": { "title": "PolicyClient", "version": "2019-06-01", "description": "To manage and control access to your resources, you can define customized policies and assign them at a scope." }, "host": "management.azure.com", "schemes": [ "https" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "security": [ { "azure_auth": [ "user_impersonation" ] } ], "securityDefinitions": { "azure_auth": { "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", "description": "Azure Active Directory OAuth2 Flow", "scopes": { "user_impersonation": "impersonate your user account" } } }, "paths": { "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}": { "put": { "tags": [ "PolicySetDefinitions" ], "operationId": "PolicySetDefinitions_CreateOrUpdate", "summary": "Creates or updates a policy set definition.", "description": "This operation creates or updates a policy set definition in the given subscription with the given name.", "x-ms-examples": { "Create or update a policy set definition": { "$ref": "./examples/createOrUpdatePolicySetDefinition.json" } }, "parameters": [ { "name": "policySetDefinitionName", "in": "path", "required": true, "type": "string", "description": "The name of the policy set definition to create." }, { "name": "parameters", "in": "body", "required": true, "schema": { "$ref": "#/definitions/PolicySetDefinition" }, "description": "The policy set definition properties." }, { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "201": { "description": "Created - Returns information about the policy set definition.", "schema": { "$ref": "#/definitions/PolicySetDefinition" } }, "200": { "description": "OK - Returns information about the policy set definition.", "schema": { "$ref": "#/definitions/PolicySetDefinition" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/ErrorResponse" } } } }, "delete": { "tags": [ "PolicySetDefinitions" ], "operationId": "PolicySetDefinitions_Delete", "summary": "Deletes a policy set definition.", "description": "This operation deletes the policy set definition in the given subscription with the given name.", "x-ms-examples": { "Delete a policy set definition": { "$ref": "./examples/deletePolicySetDefinition.json" } }, "parameters": [ { "name": "policySetDefinitionName", "in": "path", "required": true, "type": "string", "description": "The name of the policy set definition to delete." }, { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "204": { "description": "No Content - the policy set definition doesn't exist in the subscription." }, "200": { "description": "OK" }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/ErrorResponse" } } } }, "get": { "tags": [ "PolicySetDefinitions" ], "operationId": "PolicySetDefinitions_Get", "summary": "Retrieves a policy set definition.", "description": "This operation retrieves the policy set definition in the given subscription with the given name.", "x-ms-examples": { "Retrieve a policy set definition": { "$ref": "./examples/getPolicySetDefinition.json" } }, "parameters": [ { "name": "policySetDefinitionName", "in": "path", "required": true, "type": "string", "description": "The name of the policy set definition to get." }, { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "OK - Returns information about the policy set definition.", "schema": { "$ref": "#/definitions/PolicySetDefinition" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/ErrorResponse" } } } } }, "/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}": { "get": { "tags": [ "PolicySetDefinitions" ], "operationId": "PolicySetDefinitions_GetBuiltIn", "summary": "Retrieves a built in policy set definition.", "description": "This operation retrieves the built-in policy set definition with the given name.", "x-ms-examples": { "Retrieve a built-in policy set definition": { "$ref": "./examples/getBuiltInPolicySetDefinition.json" } }, "parameters": [ { "name": "policySetDefinitionName", "in": "path", "required": true, "type": "string", "description": "The name of the policy set definition to get." }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK - Returns information about the built in policy set definition.", "schema": { "$ref": "#/definitions/PolicySetDefinition" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/ErrorResponse" } } } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions": { "get": { "tags": [ "PolicySetDefinitions" ], "operationId": "PolicySetDefinitions_List", "summary": "Retrieves the policy set definitions for a subscription.", "description": "This operation retrieves a list of all the policy set definitions in the given subscription.", "x-ms-examples": { "List policy set definitions": { "$ref": "./examples/listPolicySetDefinitions.json" } }, "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "OK - Returns an array of policy set definitions.", "schema": { "$ref": "#/definitions/PolicySetDefinitionListResult" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/providers/Microsoft.Authorization/policySetDefinitions": { "get": { "tags": [ "PolicySetDefinitions" ], "operationId": "PolicySetDefinitions_ListBuiltIn", "summary": "Retrieves built-in policy set definitions.", "description": "This operation retrieves a list of all the built-in policy set definitions.", "x-ms-examples": { "List built-in policy set definitions": { "$ref": "./examples/listBuiltInPolicySetDefinitions.json" } }, "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK - Returns an array of built in policy set definitions.", "schema": { "$ref": "#/definitions/PolicySetDefinitionListResult" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}": { "put": { "tags": [ "PolicySetDefinitions" ], "operationId": "PolicySetDefinitions_CreateOrUpdateAtManagementGroup", "summary": "Creates or updates a policy set definition.", "description": "This operation creates or updates a policy set definition in the given management group with the given name.", "x-ms-examples": { "Create or update a policy set definition at management group level": { "$ref": "./examples/createOrUpdatePolicySetDefinitionAtManagementGroup.json" } }, "parameters": [ { "name": "policySetDefinitionName", "in": "path", "required": true, "type": "string", "description": "The name of the policy set definition to create." }, { "name": "parameters", "in": "body", "required": true, "schema": { "$ref": "#/definitions/PolicySetDefinition" }, "description": "The policy set definition properties." }, { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/ManagementGroupIdParameter" } ], "responses": { "201": { "description": "Created - Returns information about the policy set definition.", "schema": { "$ref": "#/definitions/PolicySetDefinition" } }, "200": { "description": "OK - Returns information about the policy set definition.", "schema": { "$ref": "#/definitions/PolicySetDefinition" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/ErrorResponse" } } } }, "delete": { "tags": [ "PolicySetDefinitions" ], "operationId": "PolicySetDefinitions_DeleteAtManagementGroup", "summary": "Deletes a policy set definition.", "description": "This operation deletes the policy set definition in the given management group with the given name.", "x-ms-examples": { "Delete a policy set definition at management group level": { "$ref": "./examples/deletePolicySetDefinitionAtManagementGroup.json" } }, "parameters": [ { "name": "policySetDefinitionName", "in": "path", "required": true, "type": "string", "description": "The name of the policy set definition to delete." }, { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/ManagementGroupIdParameter" } ], "responses": { "204": { "description": "No Content - the policy set definition doesn't exist in the subscription." }, "200": { "description": "OK" }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/ErrorResponse" } } } }, "get": { "tags": [ "PolicySetDefinitions" ], "operationId": "PolicySetDefinitions_GetAtManagementGroup", "summary": "Retrieves a policy set definition.", "description": "This operation retrieves the policy set definition in the given management group with the given name.", "x-ms-examples": { "Retrieve a policy set definition at management group level": { "$ref": "./examples/getPolicySetDefinitionAtManagementGroup.json" } }, "parameters": [ { "name": "policySetDefinitionName", "in": "path", "required": true, "type": "string", "description": "The name of the policy set definition to get." }, { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/ManagementGroupIdParameter" } ], "responses": { "200": { "description": "OK - Returns information about the policy set definition.", "schema": { "$ref": "#/definitions/PolicySetDefinition" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/ErrorResponse" } } } } }, "/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions": { "get": { "tags": [ "PolicySetDefinitions" ], "operationId": "PolicySetDefinitions_ListByManagementGroup", "summary": "Retrieves all policy set definitions in management group.", "description": "This operation retrieves a list of all the a policy set definition in the given management group.", "x-ms-examples": { "List policy set definitions at management group level": { "$ref": "./examples/listPolicySetDefinitionsByManagementGroup.json" } }, "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/ManagementGroupIdParameter" } ], "responses": { "200": { "description": "OK - Returns an array of policy set definitions.", "schema": { "$ref": "#/definitions/PolicySetDefinitionListResult" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } } }, "definitions": { "PolicySetDefinitionProperties": { "properties": { "policyType": { "type": "string", "description": "The type of policy definition. Possible values are NotSpecified, BuiltIn, and Custom.", "enum": [ "NotSpecified", "BuiltIn", "Custom" ], "x-ms-enum": { "name": "policyType", "modelAsString": true } }, "displayName": { "type": "string", "description": "The display name of the policy set definition." }, "description": { "type": "string", "description": "The policy set definition description." }, "metadata": { "type": "object", "description": "The policy set definition metadata." }, "parameters": { "type": "object", "description": "The policy set definition parameters that can be used in policy definition references." }, "policyDefinitions": { "type": "array", "items": { "$ref": "#/definitions/PolicyDefinitionReference" }, "description": "An array of policy definition references." } }, "required": [ "policyDefinitions" ], "description": "The policy set definition properties." }, "PolicyDefinitionReference": { "properties": { "policyDefinitionId": { "type": "string", "description": "The ID of the policy definition or policy set definition." }, "parameters": { "type": "object", "description": "Required if a parameter is used in policy rule." } }, "description": "The policy definition reference." }, "PolicySetDefinition": { "properties": { "properties": { "x-ms-client-flatten": true, "$ref": "#/definitions/PolicySetDefinitionProperties", "description": "The policy definition properties." }, "id": { "readOnly": true, "type": "string", "description": "The ID of the policy set definition." }, "name": { "readOnly": true, "type": "string", "description": "The name of the policy set definition." }, "type": { "readOnly": true, "type": "string", "description": "The type of the resource (Microsoft.Authorization/policySetDefinitions)." } }, "description": "The policy set definition.", "x-ms-azure-resource": true }, "PolicySetDefinitionListResult": { "properties": { "value": { "type": "array", "items": { "$ref": "#/definitions/PolicySetDefinition" }, "description": "An array of policy set definitions." }, "nextLink": { "type": "string", "description": "The URL to use for getting the next set of results." } }, "description": "List of policy set definitions." }, "ErrorResponse": { "description": "Error response indicates Azure Resource Manager is not able to process the incoming request. The reason is provided in the error message.", "type": "object", "properties": { "httpStatus": { "description": "Http status code.", "type": "string" }, "errorCode": { "description": "Error code.", "type": "string" }, "errorMessage": { "description": "Error message indicating why the operation failed.", "type": "string" } } } }, "parameters": { "SubscriptionIdParameter": { "name": "subscriptionId", "in": "path", "required": true, "type": "string", "description": "The ID of the target subscription." }, "ManagementGroupIdParameter": { "name": "managementGroupId", "in": "path", "required": true, "type": "string", "description": "The ID of the management group.", "x-ms-parameter-location": "method" }, "ApiVersionParameter": { "name": "api-version", "in": "query", "required": true, "type": "string", "description": "The API version to use for the operation." } } }