{
  "swagger": "2.0",
  "schemes": [
    "https"
  ],
  "host": "management.azure.com",
  "info": {
    "description": "To manage and control access to your resources, you can define customized policies and assign them at a scope.",
    "title": "PolicyClient",
    "version": "2018-03-01",
    "x-apisguru-categories": [
      "cloud"
    ],
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png"
    },
    "x-origin": [
      {
        "format": "swagger",
        "url": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Authorization/stable/2018-03-01/policySetDefinitions.json",
        "version": "2.0"
      }
    ],
    "x-preferred": false,
    "x-providerName": "azure.com",
    "x-serviceName": "resources-policySetDefinitions",
    "x-tags": [
      "Azure",
      "Microsoft"
    ]
  },
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
  "securityDefinitions": {
    "azure_auth": {
      "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
      "description": "Azure Active Directory OAuth2 Flow",
      "flow": "implicit",
      "scopes": {
        "user_impersonation": "impersonate your user account"
      },
      "type": "oauth2"
    }
  },
  "security": [
    {
      "azure_auth": [
        "user_impersonation"
      ]
    }
  ],
  "parameters": {
    "ApiVersionParameter": {
      "description": "The API version to use for the operation.",
      "in": "query",
      "name": "api-version",
      "required": true,
      "type": "string"
    },
    "ManagementGroupIdParameter": {
      "description": "The ID of the management group.",
      "in": "path",
      "name": "managementGroupId",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "SubscriptionIdParameter": {
      "description": "The ID of the target subscription.",
      "in": "path",
      "name": "subscriptionId",
      "required": true,
      "type": "string"
    }
  },
  "paths": {
    "/providers/Microsoft.Authorization/policySetDefinitions": {
      "get": {
        "description": "This operation retrieves a list of all the built-in policy set definitions.",
        "operationId": "PolicySetDefinitions_ListBuiltIn",
        "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"
            }
          }
        },
        "summary": "Retrieves built-in policy set definitions.",
        "tags": [
          "PolicySetDefinitions"
        ],
        "x-ms-examples": {
          "List built-in policy set definitions": {
            "parameters": {
              "api-version": "2018-03-01"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
                      "name": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
                      "properties": {
                        "description": "Monitor all the available security recommendations in Azure Security Center. This is the default policy for Azure Security Center.",
                        "displayName": "[Preview]: Enable Monitoring in Azure Security Center",
                        "metadata": {
                          "category": "Security Center"
                        },
                        "parameters": {},
                        "policyDefinitions": [
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/a8bef009-a5c9-4d0f-90d7-6018734e8a16"
                          },
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af8051bf-258b-44e2-a2bf-165330459f9d"
                          },
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/86b3d65f-7626-441e-b690-81a8b71cff60"
                          },
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/655cb504-bcee-4362-bd4c-402e6aa38759"
                          },
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/b0f33259-77d7-4c9e-aac6-3aabcfae693c"
                          },
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/47a6b606-51aa-4496-8bb7-64b11cf66adc"
                          },
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/44452482-524f-4bf4-b852-0bff7cc4a3ed"
                          },
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/e1e5fd5d-3e4c-4ce1-8661-7d1873ae6b15"
                          },
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af6cd1bd-1635-48cb-bde7-5b15693900b9"
                          },
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/0961003e-5a0a-4549-abde-af6a37f2724d"
                          },
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/760a85ff-6162-42b3-8d70-698e268f648c"
                          },
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/201ea587-7c90-41c3-910f-c280ae01cfd6"
                          },
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/9daedab3-fb2d-461e-b861-71790eead4f6"
                          }
                        ],
                        "policyType": "BuiltIn"
                      },
                      "type": "Microsoft.Authorization/policySetDefinitions"
                    }
                  ]
                },
                "headers": {}
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}": {
      "get": {
        "description": "This operation retrieves the built-in policy set definition with the given name.",
        "operationId": "PolicySetDefinitions_GetBuiltIn",
        "parameters": [
          {
            "description": "The name of the policy set definition to get.",
            "in": "path",
            "name": "policySetDefinitionName",
            "required": true,
            "type": "string"
          },
          {
            "$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"
            }
          }
        },
        "summary": "Retrieves a built in policy set definition.",
        "tags": [
          "PolicySetDefinitions"
        ],
        "x-ms-examples": {
          "Retrieve a built-in policy set definition": {
            "parameters": {
              "api-version": "2018-03-01",
              "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
                  "name": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
                  "properties": {
                    "description": "Monitor all the available security recommendations in Azure Security Center. This is the default policy for Azure Security Center.",
                    "displayName": "[Preview]: Enable Monitoring in Azure Security Center",
                    "metadata": {
                      "category": "Security Center"
                    },
                    "parameters": {},
                    "policyDefinitions": [
                      {
                        "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/a8bef009-a5c9-4d0f-90d7-6018734e8a16"
                      },
                      {
                        "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af8051bf-258b-44e2-a2bf-165330459f9d"
                      },
                      {
                        "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/86b3d65f-7626-441e-b690-81a8b71cff60"
                      },
                      {
                        "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/655cb504-bcee-4362-bd4c-402e6aa38759"
                      },
                      {
                        "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/b0f33259-77d7-4c9e-aac6-3aabcfae693c"
                      },
                      {
                        "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/47a6b606-51aa-4496-8bb7-64b11cf66adc"
                      },
                      {
                        "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/44452482-524f-4bf4-b852-0bff7cc4a3ed"
                      },
                      {
                        "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/e1e5fd5d-3e4c-4ce1-8661-7d1873ae6b15"
                      },
                      {
                        "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af6cd1bd-1635-48cb-bde7-5b15693900b9"
                      },
                      {
                        "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/0961003e-5a0a-4549-abde-af6a37f2724d"
                      },
                      {
                        "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/760a85ff-6162-42b3-8d70-698e268f648c"
                      },
                      {
                        "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/201ea587-7c90-41c3-910f-c280ae01cfd6"
                      },
                      {
                        "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/9daedab3-fb2d-461e-b861-71790eead4f6"
                      }
                    ],
                    "policyType": "BuiltIn"
                  },
                  "type": "Microsoft.Authorization/policySetDefinitions"
                },
                "headers": {}
              }
            }
          }
        }
      }
    },
    "/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions": {
      "get": {
        "description": "This operation retrieves a list of all the a policy set definition in the given management group.",
        "operationId": "PolicySetDefinitions_ListByManagementGroup",
        "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"
            }
          }
        },
        "summary": "Retrieves all policy set definitions in management group.",
        "tags": [
          "PolicySetDefinitions"
        ],
        "x-ms-examples": {
          "List policy set definitions at management group level": {
            "parameters": {
              "api-version": "2018-03-01",
              "managementGroupId": "MyManagementGroup"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
                      "name": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
                      "properties": {
                        "description": "Monitor all the available security recommendations in Azure Security Center. This is the default policy for Azure Security Center.",
                        "displayName": "[Preview]: Enable Monitoring in Azure Security Center",
                        "metadata": {
                          "category": "Security Center"
                        },
                        "parameters": {},
                        "policyDefinitions": [
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/a8bef009-a5c9-4d0f-90d7-6018734e8a16"
                          },
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af8051bf-258b-44e2-a2bf-165330459f9d"
                          },
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/86b3d65f-7626-441e-b690-81a8b71cff60"
                          },
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/655cb504-bcee-4362-bd4c-402e6aa38759"
                          },
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/b0f33259-77d7-4c9e-aac6-3aabcfae693c"
                          },
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/47a6b606-51aa-4496-8bb7-64b11cf66adc"
                          },
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/44452482-524f-4bf4-b852-0bff7cc4a3ed"
                          },
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/e1e5fd5d-3e4c-4ce1-8661-7d1873ae6b15"
                          },
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af6cd1bd-1635-48cb-bde7-5b15693900b9"
                          },
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/0961003e-5a0a-4549-abde-af6a37f2724d"
                          },
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/760a85ff-6162-42b3-8d70-698e268f648c"
                          },
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/201ea587-7c90-41c3-910f-c280ae01cfd6"
                          },
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/9daedab3-fb2d-461e-b861-71790eead4f6"
                          }
                        ],
                        "policyType": "BuiltIn"
                      },
                      "type": "Microsoft.Authorization/policySetDefinitions"
                    },
                    {
                      "id": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/CostManagement",
                      "name": "CostManagement",
                      "properties": {
                        "description": "Policies to enforce low cost storage SKUs",
                        "displayName": "Cost Management",
                        "metadata": {
                          "category": "Cost Management"
                        },
                        "policyDefinitions": [
                          {
                            "parameters": {
                              "listOfAllowedSKUs": {
                                "value": [
                                  "Standard_GRS",
                                  "Standard_LRS"
                                ]
                              }
                            },
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1"
                          },
                          {
                            "parameters": {
                              "prefix": {
                                "value": "DeptA"
                              },
                              "suffix": {
                                "value": "-LC"
                              }
                            },
                            "policyDefinitionId": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming"
                          }
                        ]
                      },
                      "type": "Microsoft.Authorization/policySetDefinitions"
                    }
                  ]
                },
                "headers": {}
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}": {
      "delete": {
        "description": "This operation deletes the policy set definition in the given management group with the given name.",
        "operationId": "PolicySetDefinitions_DeleteAtManagementGroup",
        "parameters": [
          {
            "description": "The name of the policy set definition to delete.",
            "in": "path",
            "name": "policySetDefinitionName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ManagementGroupIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "204": {
            "description": "No Content - the policy set definition doesn't exist in the subscription."
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "summary": "Deletes a policy set definition.",
        "tags": [
          "PolicySetDefinitions"
        ],
        "x-ms-examples": {
          "Delete a policy set definition at management group level": {
            "parameters": {
              "api-version": "2018-03-01",
              "managementGroupId": "MyManagementGroup",
              "policySetDefinitionName": "CostManagement"
            },
            "responses": {
              "200": {
                "headers": {}
              },
              "204": {
                "headers": {}
              }
            }
          }
        }
      },
      "get": {
        "description": "This operation retrieves the policy set definition in the given management group with the given name.",
        "operationId": "PolicySetDefinitions_GetAtManagementGroup",
        "parameters": [
          {
            "description": "The name of the policy set definition to get.",
            "in": "path",
            "name": "policySetDefinitionName",
            "required": true,
            "type": "string"
          },
          {
            "$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"
            }
          }
        },
        "summary": "Retrieves a policy set definition.",
        "tags": [
          "PolicySetDefinitions"
        ],
        "x-ms-examples": {
          "Retrieve a policy set definition at management group level": {
            "parameters": {
              "api-version": "2018-03-01",
              "managementGroupId": "MyManagementGroup",
              "policySetDefinitionName": "CostManagement"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/CostManagement",
                  "name": "CostManagement",
                  "properties": {
                    "description": "Policies to enforce low cost storage SKUs",
                    "displayName": "Cost Management",
                    "metadata": {
                      "category": "Cost Management"
                    },
                    "policyDefinitions": [
                      {
                        "parameters": {
                          "listOfAllowedSKUs": {
                            "value": [
                              "Standard_GRS",
                              "Standard_LRS"
                            ]
                          }
                        },
                        "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1"
                      },
                      {
                        "parameters": {
                          "prefix": {
                            "value": "DeptA"
                          },
                          "suffix": {
                            "value": "-LC"
                          }
                        },
                        "policyDefinitionId": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming"
                      }
                    ]
                  },
                  "type": "Microsoft.Authorization/policySetDefinitions"
                },
                "headers": {}
              }
            }
          }
        }
      },
      "put": {
        "description": "This operation creates or updates a policy set definition in the given management group with the given name.",
        "operationId": "PolicySetDefinitions_CreateOrUpdateAtManagementGroup",
        "parameters": [
          {
            "description": "The name of the policy set definition to create.",
            "in": "path",
            "name": "policySetDefinitionName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The policy set definition properties.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PolicySetDefinition"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ManagementGroupIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK - Returns information about the policy set definition.",
            "schema": {
              "$ref": "#/definitions/PolicySetDefinition"
            }
          },
          "201": {
            "description": "Created - Returns information about the policy set definition.",
            "schema": {
              "$ref": "#/definitions/PolicySetDefinition"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "summary": "Creates or updates a policy set definition.",
        "tags": [
          "PolicySetDefinitions"
        ],
        "x-ms-examples": {
          "Create or update a policy set definition at management group level": {
            "parameters": {
              "api-version": "2018-03-01",
              "managementGroupId": "MyManagementGroup",
              "parameters": {
                "properties": {
                  "description": "Policies to enforce low cost storage SKUs",
                  "displayName": "Cost Management",
                  "metadata": {
                    "category": "Cost Management"
                  },
                  "policyDefinitions": [
                    {
                      "parameters": {
                        "listOfAllowedSKUs": {
                          "value": [
                            "Standard_GRS",
                            "Standard_LRS"
                          ]
                        }
                      },
                      "policyDefinitionId": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1"
                    },
                    {
                      "parameters": {
                        "prefix": {
                          "value": "DeptA"
                        },
                        "suffix": {
                          "value": "-LC"
                        }
                      },
                      "policyDefinitionId": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming"
                    }
                  ]
                }
              },
              "policySetDefinitionName": "CostManagement"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/CostManagement",
                  "name": "CostManagement",
                  "properties": {
                    "description": "Policies to enforce low cost storage SKUs",
                    "displayName": "Cost Management",
                    "metadata": {
                      "category": "Cost Management"
                    },
                    "policyDefinitions": [
                      {
                        "parameters": {
                          "listOfAllowedSKUs": {
                            "value": [
                              "Standard_GRS",
                              "Standard_LRS"
                            ]
                          }
                        },
                        "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1"
                      },
                      {
                        "parameters": {
                          "prefix": {
                            "value": "DeptA"
                          },
                          "suffix": {
                            "value": "-LC"
                          }
                        },
                        "policyDefinitionId": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming"
                      }
                    ]
                  },
                  "type": "Microsoft.Authorization/policySetDefinitions"
                },
                "headers": {}
              },
              "201": {
                "body": {
                  "id": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/CostManagement",
                  "name": "CostManagement",
                  "properties": {
                    "description": "Policies to enforce low cost storage SKUs",
                    "displayName": "Cost Management",
                    "metadata": {
                      "category": "Cost Management"
                    },
                    "policyDefinitions": [
                      {
                        "parameters": {
                          "listOfAllowedSKUs": {
                            "value": [
                              "Standard_GRS",
                              "Standard_LRS"
                            ]
                          }
                        },
                        "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1"
                      },
                      {
                        "parameters": {
                          "prefix": {
                            "value": "DeptA"
                          },
                          "suffix": {
                            "value": "-LC"
                          }
                        },
                        "policyDefinitionId": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming"
                      }
                    ]
                  },
                  "type": "Microsoft.Authorization/policySetDefinitions"
                },
                "headers": {}
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions": {
      "get": {
        "description": "This operation retrieves a list of all the policy set definitions in the given subscription.",
        "operationId": "PolicySetDefinitions_List",
        "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"
            }
          }
        },
        "summary": "Retrieves the policy set definitions for a subscription.",
        "tags": [
          "PolicySetDefinitions"
        ],
        "x-ms-examples": {
          "List policy set definitions": {
            "parameters": {
              "api-version": "2018-03-01",
              "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
                      "name": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
                      "properties": {
                        "description": "Monitor all the available security recommendations in Azure Security Center. This is the default policy for Azure Security Center.",
                        "displayName": "[Preview]: Enable Monitoring in Azure Security Center",
                        "metadata": {
                          "category": "Security Center"
                        },
                        "parameters": {},
                        "policyDefinitions": [
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/a8bef009-a5c9-4d0f-90d7-6018734e8a16"
                          },
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af8051bf-258b-44e2-a2bf-165330459f9d"
                          },
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/86b3d65f-7626-441e-b690-81a8b71cff60"
                          },
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/655cb504-bcee-4362-bd4c-402e6aa38759"
                          },
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/b0f33259-77d7-4c9e-aac6-3aabcfae693c"
                          },
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/47a6b606-51aa-4496-8bb7-64b11cf66adc"
                          },
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/44452482-524f-4bf4-b852-0bff7cc4a3ed"
                          },
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/e1e5fd5d-3e4c-4ce1-8661-7d1873ae6b15"
                          },
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af6cd1bd-1635-48cb-bde7-5b15693900b9"
                          },
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/0961003e-5a0a-4549-abde-af6a37f2724d"
                          },
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/760a85ff-6162-42b3-8d70-698e268f648c"
                          },
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/201ea587-7c90-41c3-910f-c280ae01cfd6"
                          },
                          {
                            "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/9daedab3-fb2d-461e-b861-71790eead4f6"
                          }
                        ],
                        "policyType": "BuiltIn"
                      },
                      "type": "Microsoft.Authorization/policySetDefinitions"
                    },
                    {
                      "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policySetDefinitions/CostManagement",
                      "name": "CostManagement",
                      "properties": {
                        "description": "Policies to enforce low cost storage SKUs",
                        "displayName": "Cost Management",
                        "metadata": {
                          "category": "Cost Management"
                        },
                        "policyDefinitions": [
                          {
                            "parameters": {
                              "listOfAllowedSKUs": {
                                "value": [
                                  "Standard_GRS",
                                  "Standard_LRS"
                                ]
                              }
                            },
                            "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1"
                          },
                          {
                            "parameters": {
                              "prefix": {
                                "value": "DeptA"
                              },
                              "suffix": {
                                "value": "-LC"
                              }
                            },
                            "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming"
                          }
                        ]
                      },
                      "type": "Microsoft.Authorization/policySetDefinitions"
                    }
                  ]
                },
                "headers": {}
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}": {
      "delete": {
        "description": "This operation deletes the policy set definition in the given subscription with the given name.",
        "operationId": "PolicySetDefinitions_Delete",
        "parameters": [
          {
            "description": "The name of the policy set definition to delete.",
            "in": "path",
            "name": "policySetDefinitionName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "204": {
            "description": "No Content - the policy set definition doesn't exist in the subscription."
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "summary": "Deletes a policy set definition.",
        "tags": [
          "PolicySetDefinitions"
        ],
        "x-ms-examples": {
          "Delete a policy set definition": {
            "parameters": {
              "api-version": "2018-03-01",
              "policySetDefinitionName": "CostManagement",
              "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2"
            },
            "responses": {
              "200": {
                "headers": {}
              },
              "204": {
                "headers": {}
              }
            }
          }
        }
      },
      "get": {
        "description": "This operation retrieves the policy set definition in the given subscription with the given name.",
        "operationId": "PolicySetDefinitions_Get",
        "parameters": [
          {
            "description": "The name of the policy set definition to get.",
            "in": "path",
            "name": "policySetDefinitionName",
            "required": true,
            "type": "string"
          },
          {
            "$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"
            }
          }
        },
        "summary": "Retrieves a policy set definition.",
        "tags": [
          "PolicySetDefinitions"
        ],
        "x-ms-examples": {
          "Retrieve a policy set definition": {
            "parameters": {
              "api-version": "2018-03-01",
              "policySetDefinitionName": "CostManagement",
              "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policySetDefinitions/CostManagement",
                  "name": "CostManagement",
                  "properties": {
                    "description": "Policies to enforce low cost storage SKUs",
                    "displayName": "Cost Management",
                    "metadata": {
                      "category": "Cost Management"
                    },
                    "policyDefinitions": [
                      {
                        "parameters": {
                          "listOfAllowedSKUs": {
                            "value": [
                              "Standard_GRS",
                              "Standard_LRS"
                            ]
                          }
                        },
                        "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1"
                      },
                      {
                        "parameters": {
                          "prefix": {
                            "value": "DeptA"
                          },
                          "suffix": {
                            "value": "-LC"
                          }
                        },
                        "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming"
                      }
                    ]
                  },
                  "type": "Microsoft.Authorization/policySetDefinitions"
                },
                "headers": {}
              }
            }
          }
        }
      },
      "put": {
        "description": "This operation creates or updates a policy set definition in the given subscription with the given name.",
        "operationId": "PolicySetDefinitions_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the policy set definition to create.",
            "in": "path",
            "name": "policySetDefinitionName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The policy set definition properties.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PolicySetDefinition"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK - Returns information about the policy set definition.",
            "schema": {
              "$ref": "#/definitions/PolicySetDefinition"
            }
          },
          "201": {
            "description": "Created - Returns information about the policy set definition.",
            "schema": {
              "$ref": "#/definitions/PolicySetDefinition"
            }
          },
          "default": {
            "description": "Error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "summary": "Creates or updates a policy set definition.",
        "tags": [
          "PolicySetDefinitions"
        ],
        "x-ms-examples": {
          "Create or update a policy set definition": {
            "parameters": {
              "api-version": "2018-03-01",
              "parameters": {
                "properties": {
                  "description": "Policies to enforce low cost storage SKUs",
                  "displayName": "Cost Management",
                  "metadata": {
                    "category": "Cost Management"
                  },
                  "policyDefinitions": [
                    {
                      "parameters": {
                        "listOfAllowedSKUs": {
                          "value": [
                            "Standard_GRS",
                            "Standard_LRS"
                          ]
                        }
                      },
                      "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1"
                    },
                    {
                      "parameters": {
                        "prefix": {
                          "value": "DeptA"
                        },
                        "suffix": {
                          "value": "-LC"
                        }
                      },
                      "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming"
                    }
                  ]
                }
              },
              "policySetDefinitionName": "CostManagement",
              "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policySetDefinitions/CostManagement",
                  "name": "CostManagement",
                  "properties": {
                    "description": "Policies to enforce low cost storage SKUs",
                    "displayName": "Cost Management",
                    "metadata": {
                      "category": "Cost Management"
                    },
                    "policyDefinitions": [
                      {
                        "parameters": {
                          "listOfAllowedSKUs": {
                            "value": [
                              "Standard_GRS",
                              "Standard_LRS"
                            ]
                          }
                        },
                        "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1"
                      },
                      {
                        "parameters": {
                          "prefix": {
                            "value": "DeptA"
                          },
                          "suffix": {
                            "value": "-LC"
                          }
                        },
                        "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming"
                      }
                    ]
                  },
                  "type": "Microsoft.Authorization/policySetDefinitions"
                },
                "headers": {}
              },
              "201": {
                "body": {
                  "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policySetDefinitions/CostManagement",
                  "name": "CostManagement",
                  "properties": {
                    "description": "Policies to enforce low cost storage SKUs",
                    "displayName": "Cost Management",
                    "metadata": {
                      "category": "Cost Management"
                    },
                    "policyDefinitions": [
                      {
                        "parameters": {
                          "listOfAllowedSKUs": {
                            "value": [
                              "Standard_GRS",
                              "Standard_LRS"
                            ]
                          }
                        },
                        "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1"
                      },
                      {
                        "parameters": {
                          "prefix": {
                            "value": "DeptA"
                          },
                          "suffix": {
                            "value": "-LC"
                          }
                        },
                        "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming"
                      }
                    ]
                  },
                  "type": "Microsoft.Authorization/policySetDefinitions"
                },
                "headers": {}
              }
            }
          }
        }
      }
    }
  },
  "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.",
      "properties": {
        "errorCode": {
          "description": "Error code.",
          "type": "string"
        },
        "errorMessage": {
          "description": "Error message indicating why the operation failed.",
          "type": "string"
        },
        "httpStatus": {
          "description": "Http status code.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "PolicyDefinitionReference": {
      "description": "The policy definition reference.",
      "properties": {
        "parameters": {
          "description": "Required if a parameter is used in policy rule.",
          "type": "object"
        },
        "policyDefinitionId": {
          "description": "The ID of the policy definition or policy set definition.",
          "type": "string"
        }
      }
    },
    "PolicySetDefinition": {
      "description": "The policy set definition.",
      "properties": {
        "id": {
          "description": "The ID of the policy set definition.",
          "readOnly": true,
          "type": "string"
        },
        "name": {
          "description": "The name of the policy set definition.",
          "readOnly": true,
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/PolicySetDefinitionProperties",
          "description": "The policy definition properties.",
          "x-ms-client-flatten": true
        },
        "type": {
          "description": "The type of the resource (Microsoft.Authorization/policySetDefinitions).",
          "readOnly": true,
          "type": "string"
        }
      },
      "x-ms-azure-resource": true
    },
    "PolicySetDefinitionListResult": {
      "description": "List of policy set definitions.",
      "properties": {
        "nextLink": {
          "description": "The URL to use for getting the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "An array of policy set definitions.",
          "items": {
            "$ref": "#/definitions/PolicySetDefinition"
          },
          "type": "array"
        }
      }
    },
    "PolicySetDefinitionProperties": {
      "description": "The policy set definition properties.",
      "properties": {
        "description": {
          "description": "The policy set definition description.",
          "type": "string"
        },
        "displayName": {
          "description": "The display name of the policy set definition.",
          "type": "string"
        },
        "metadata": {
          "description": "The policy set definition metadata.",
          "type": "object"
        },
        "parameters": {
          "description": "The policy set definition parameters that can be used in policy definition references.",
          "type": "object"
        },
        "policyDefinitions": {
          "description": "An array of policy definition references.",
          "items": {
            "$ref": "#/definitions/PolicyDefinitionReference"
          },
          "type": "array"
        },
        "policyType": {
          "description": "The type of policy definition. Possible values are NotSpecified, BuiltIn, and Custom.",
          "enum": [
            "NotSpecified",
            "BuiltIn",
            "Custom"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "policyType"
          }
        }
      },
      "required": [
        "policyDefinitions"
      ]
    }
  }
}