BlueprintClient icon

BlueprintClient

Azure Blueprints Client provides access to blueprint definitions, assignments, and artifacts, and related blueprint operations

COMMUNITYBEARER0 INSTALLS
OpenAPI Specificationv3.0
{
  "swagger": "2.0",
  "schemes": [
    "https"
  ],
  "host": "management.azure.com",
  "info": {
    "description": "Azure Blueprints Client provides access to blueprint definitions, assignments, and artifacts, and related blueprint operations.",
    "title": "BlueprintClient",
    "version": "2018-11-01-preview",
    "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/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintDefinition.json",
        "version": "2.0"
      }
    ],
    "x-preferred": true,
    "x-providerName": "azure.com",
    "x-serviceName": "blueprint-blueprintDefinition",
    "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": "Client API Version.",
      "in": "query",
      "name": "api-version",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "client"
    },
    "ArtifactNameParameter": {
      "description": "Name of the blueprint artifact.",
      "in": "path",
      "name": "artifactName",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "BlueprintNameParameter": {
      "description": "Name of the blueprint definition.",
      "in": "path",
      "name": "blueprintName",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "PublishedBlueprintVersionIdParameter": {
      "description": "Version of the published blueprint definition.",
      "in": "path",
      "name": "versionId",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "ScopeParameter": {
      "description": "The scope of the resource. Valid scopes are: management group (format: '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: '/subscriptions/{subscriptionId}'). For blueprint assignments management group scope is reserved for future use.",
      "in": "path",
      "name": "scope",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method",
      "x-ms-skip-url-encoding": true
    }
  },
  "paths": {
    "/{scope}/providers/Microsoft.Blueprint/blueprints": {
      "get": {
        "description": "List blueprint definitions.",
        "operationId": "Blueprints_List",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ScopeParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK -- retrieved list of blueprint definitions.",
            "schema": {
              "$ref": "#/definitions/BlueprintList"
            }
          }
        },
        "tags": [
          "Blueprint"
        ],
        "x-ms-examples": {
          "ManagementGroupBlueprint": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "scope": "providers/Microsoft.Management/managementGroups/ContosoOnlineGroup"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
                      "name": "simpleBlueprint",
                      "properties": {
                        "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}",
                        "parameters": {
                          "costCenter": {
                            "metadata": {
                              "displayName": "force cost center tag for all resources under given subscription."
                            },
                            "type": "string"
                          },
                          "owners": {
                            "metadata": {
                              "displayName": "assign owners to subscription along with blueprint assignment."
                            },
                            "type": "array"
                          },
                          "storageAccountType": {
                            "metadata": {
                              "displayName": "storage account type."
                            },
                            "type": "string"
                          }
                        },
                        "resourceGroups": {
                          "storageRG": {
                            "metadata": {
                              "description": "Contains storageAccounts that collect all shoebox logs.",
                              "displayName": "storage resource group"
                            }
                          }
                        },
                        "status": null,
                        "targetScope": "subscription"
                      },
                      "type": "Microsoft.Blueprint/blueprints"
                    }
                  ]
                }
              }
            }
          },
          "SubscriptionBlueprint": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
                      "name": "simpleBlueprint",
                      "properties": {
                        "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}",
                        "parameters": {
                          "costCenter": {
                            "metadata": {
                              "displayName": "force cost center tag for all resources under given subscription."
                            },
                            "type": "string"
                          },
                          "owners": {
                            "metadata": {
                              "displayName": "assign owners to subscription along with blueprint assignment."
                            },
                            "type": "array"
                          },
                          "storageAccountType": {
                            "metadata": {
                              "displayName": "storage account type."
                            },
                            "type": "string"
                          }
                        },
                        "resourceGroups": {
                          "storageRG": {
                            "metadata": {
                              "description": "Contains storageAccounts that collect all shoebox logs.",
                              "displayName": "storage resource group"
                            }
                          }
                        },
                        "status": null,
                        "targetScope": "subscription"
                      },
                      "type": "Microsoft.Blueprint/blueprints"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/{scope}/providers/Microsoft.Blueprint/blueprints/{blueprintName}": {
      "delete": {
        "description": "Delete a blueprint definition.",
        "operationId": "Blueprints_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ScopeParameter"
          },
          {
            "$ref": "#/parameters/BlueprintNameParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK -- blueprint definition deleted.",
            "schema": {
              "$ref": "#/definitions/Blueprint"
            }
          },
          "204": {
            "description": "No Content"
          }
        },
        "tags": [
          "Blueprint"
        ],
        "x-ms-examples": {
          "ManagementGroupBlueprint": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "blueprintName": "simpleBlueprint",
              "scope": "providers/Microsoft.Management/managementGroups/ContosoOnlineGroup"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
                  "name": "simpleBlueprint",
                  "properties": {
                    "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}",
                    "parameters": {
                      "costCenter": {
                        "metadata": {
                          "displayName": "force cost center tag for all resources under given subscription."
                        },
                        "type": "string"
                      },
                      "owners": {
                        "metadata": {
                          "displayName": "assign owners to subscription along with blueprint assignment."
                        },
                        "type": "array"
                      },
                      "storageAccountType": {
                        "metadata": {
                          "displayName": "storage account type."
                        },
                        "type": "string"
                      }
                    },
                    "resourceGroups": {
                      "storageRG": {
                        "metadata": {
                          "description": "Contains storageAccounts that collect all shoebox logs.",
                          "displayName": "storage resource group"
                        }
                      }
                    },
                    "status": null,
                    "targetScope": "subscription"
                  },
                  "type": "Microsoft.Blueprint/blueprints"
                }
              },
              "204": {}
            }
          },
          "SubscriptionBlueprint": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "blueprintName": "simpleBlueprint",
              "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
                  "name": "simpleBlueprint",
                  "properties": {
                    "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}",
                    "parameters": {
                      "costCenter": {
                        "metadata": {
                          "displayName": "force cost center tag for all resources under given subscription."
                        },
                        "type": "string"
                      },
                      "owners": {
                        "metadata": {
                          "displayName": "assign owners to subscription along with blueprint assignment."
                        },
                        "type": "array"
                      },
                      "storageAccountType": {
                        "metadata": {
                          "displayName": "storage account type."
                        },
                        "type": "string"
                      }
                    },
                    "resourceGroups": {
                      "storageRG": {
                        "metadata": {
                          "description": "Contains storageAccounts that collect all shoebox logs.",
                          "displayName": "storage resource group"
                        }
                      }
                    },
                    "status": null,
                    "targetScope": "subscription"
                  },
                  "type": "Microsoft.Blueprint/blueprints"
                }
              },
              "204": {}
            }
          }
        }
      },
      "get": {
        "description": "Get a blueprint definition.",
        "operationId": "Blueprints_Get",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ScopeParameter"
          },
          {
            "$ref": "#/parameters/BlueprintNameParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK -- blueprint definition retrieved.",
            "schema": {
              "$ref": "#/definitions/Blueprint"
            }
          }
        },
        "tags": [
          "Blueprint"
        ],
        "x-ms-examples": {
          "ManagementGroupBlueprint": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "blueprintName": "simpleBlueprint",
              "scope": "providers/Microsoft.Management/managementGroups/ContosoOnlineGroup"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
                  "name": "simpleBlueprint",
                  "properties": {
                    "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}",
                    "parameters": {
                      "costCenter": {
                        "metadata": {
                          "displayName": "force cost center tag for all resources under given subscription."
                        },
                        "type": "string"
                      },
                      "owners": {
                        "metadata": {
                          "displayName": "assign owners to subscription along with blueprint assignment."
                        },
                        "type": "array"
                      },
                      "storageAccountType": {
                        "metadata": {
                          "displayName": "storage account type."
                        },
                        "type": "string"
                      }
                    },
                    "resourceGroups": {
                      "storageRG": {
                        "metadata": {
                          "description": "Contains storageAccounts that collect all shoebox logs.",
                          "displayName": "storage resource group"
                        }
                      }
                    },
                    "status": null,
                    "targetScope": "subscription"
                  },
                  "type": "Microsoft.Blueprint/blueprints"
                }
              }
            }
          },
          "SubscriptionBlueprint": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "blueprintName": "simpleBlueprint",
              "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
                  "name": "simpleBlueprint",
                  "properties": {
                    "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}",
                    "parameters": {
                      "costCenter": {
                        "metadata": {
                          "displayName": "force cost center tag for all resources under given subscription."
                        },
                        "type": "string"
                      },
                      "owners": {
                        "metadata": {
                          "displayName": "assign owners to subscription along with blueprint assignment."
                        },
                        "type": "array"
                      },
                      "storageAccountType": {
                        "metadata": {
                          "displayName": "storage account type."
                        },
                        "type": "string"
                      }
                    },
                    "resourceGroups": {
                      "storageRG": {
                        "metadata": {
                          "description": "Contains storageAccounts that collect all shoebox logs.",
                          "displayName": "storage resource group"
                        }
                      }
                    },
                    "status": null,
                    "targetScope": "subscription"
                  },
                  "type": "Microsoft.Blueprint/blueprints"
                }
              }
            }
          }
        }
      },
      "put": {
        "description": "Create or update a blueprint definition.",
        "operationId": "Blueprints_CreateOrUpdate",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ScopeParameter"
          },
          {
            "$ref": "#/parameters/BlueprintNameParameter"
          },
          {
            "description": "Blueprint definition.",
            "in": "body",
            "name": "blueprint",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Blueprint"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created -- blueprint definition saved.",
            "schema": {
              "$ref": "#/definitions/Blueprint"
            }
          }
        },
        "tags": [
          "Blueprint"
        ],
        "x-ms-examples": {
          "ManagementGroupBlueprint": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "blueprint": {
                "properties": {
                  "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}",
                  "parameters": {
                    "costCenter": {
                      "metadata": {
                        "displayName": "force cost center tag for all resources under given subscription."
                      },
                      "type": "string"
                    },
                    "owners": {
                      "metadata": {
                        "displayName": "assign owners to subscription along with blueprint assignment."
                      },
                      "type": "array"
                    },
                    "storageAccountType": {
                      "metadata": {
                        "displayName": "storage account type."
                      },
                      "type": "string"
                    }
                  },
                  "resourceGroups": {
                    "storageRG": {
                      "metadata": {
                        "description": "Contains storageAccounts that collect all shoebox logs.",
                        "displayName": "storage resource group"
                      }
                    }
                  },
                  "targetScope": "subscription"
                }
              },
              "blueprintName": "simpleBlueprint",
              "scope": "providers/Microsoft.Management/managementGroups/ContosoOnlineGroup"
            },
            "responses": {
              "201": {
                "body": {
                  "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
                  "name": "simpleBlueprint",
                  "properties": {
                    "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}",
                    "parameters": {
                      "costCenter": {
                        "metadata": {
                          "description": null,
                          "displayName": "force cost center tag for all resources under given subscription."
                        },
                        "type": "string"
                      },
                      "owners": {
                        "metadata": {
                          "description": null,
                          "displayName": "assign owners to subscription along with blueprint assignment."
                        },
                        "type": "array"
                      },
                      "storageAccountType": {
                        "metadata": {
                          "description": null,
                          "displayName": "storage account type."
                        },
                        "type": "string"
                      }
                    },
                    "resourceGroups": {
                      "storageRG": {
                        "metadata": {
                          "description": "Contains storageAccounts that collect all shoebox logs.",
                          "displayName": "storage resource group"
                        }
                      }
                    },
                    "targetScope": "subscription"
                  },
                  "type": "Microsoft.Blueprint/blueprints"
                }
              }
            }
          },
          "ResourceGroupWithTags": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "blueprint": {
                "properties": {
                  "description": "An example blueprint containing an RG with two tags.",
                  "resourceGroups": {
                    "myRGName": {
                      "location": "westus",
                      "metadata": {
                        "displayName": "My Resource Group"
                      },
                      "name": "myRGName",
                      "tags": {
                        "costcenter": "123456",
                        "nameOnlyTag": ""
                      }
                    }
                  },
                  "targetScope": "subscription"
                }
              },
              "blueprintName": "simpleBlueprint",
              "scope": "providers/Microsoft.Management/managementGroups/{ManagementGroupId}"
            },
            "responses": {
              "201": {
                "body": {
                  "id": "/providers/Microsoft.Management/managementGroups/{ManagementGroupId}/providers/Microsoft.Blueprint/blueprints/RGTaggingExample",
                  "name": "RGTaggingExample",
                  "properties": {
                    "description": "An example blueprint containing an RG with two tags.",
                    "parameters": {},
                    "resourceGroups": {
                      "myRGName": {
                        "dependsOn": [],
                        "location": "westus",
                        "metadata": {
                          "displayName": "My Resource Group"
                        },
                        "name": "myRGName",
                        "tags": {
                          "costcenter": "123456",
                          "tagWithNoValue": ""
                        }
                      }
                    },
                    "status": {
                      "lastModified": "2019-04-29T20:52:56+00:00",
                      "timeCreated": "2019-04-29T20:52:56+00:00"
                    },
                    "targetScope": "subscription"
                  },
                  "type": "Microsoft.Blueprint/blueprints"
                }
              }
            }
          },
          "SubscriptionBlueprint": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "blueprint": {
                "properties": {
                  "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}",
                  "parameters": {
                    "costCenter": {
                      "metadata": {
                        "displayName": "force cost center tag for all resources under given subscription."
                      },
                      "type": "string"
                    },
                    "owners": {
                      "metadata": {
                        "displayName": "assign owners to subscription along with blueprint assignment."
                      },
                      "type": "array"
                    },
                    "storageAccountType": {
                      "metadata": {
                        "displayName": "storage account type."
                      },
                      "type": "string"
                    }
                  },
                  "resourceGroups": {
                    "storageRG": {
                      "metadata": {
                        "description": "Contains storageAccounts that collect all shoebox logs.",
                        "displayName": "storage resource group"
                      }
                    }
                  },
                  "targetScope": "subscription"
                }
              },
              "blueprintName": "simpleBlueprint",
              "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
            },
            "responses": {
              "201": {
                "body": {
                  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
                  "name": "simpleBlueprint",
                  "properties": {
                    "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}",
                    "parameters": {
                      "costCenter": {
                        "metadata": {
                          "description": null,
                          "displayName": "force cost center tag for all resources under given subscription."
                        },
                        "type": "string"
                      },
                      "owners": {
                        "metadata": {
                          "description": null,
                          "displayName": "assign owners to subscription along with blueprint assignment."
                        },
                        "type": "array"
                      },
                      "storageAccountType": {
                        "metadata": {
                          "description": null,
                          "displayName": "storage account type."
                        },
                        "type": "string"
                      }
                    },
                    "resourceGroups": {
                      "storageRG": {
                        "metadata": {
                          "description": "Contains storageAccounts that collect all shoebox logs.",
                          "displayName": "storage resource group"
                        }
                      }
                    },
                    "targetScope": "subscription"
                  },
                  "type": "Microsoft.Blueprint/blueprints"
                }
              }
            }
          }
        }
      }
    },
    "/{scope}/providers/Microsoft.Blueprint/blueprints/{blueprintName}/artifacts": {
      "get": {
        "description": "List artifacts for a given blueprint definition.",
        "operationId": "Artifacts_List",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ScopeParameter"
          },
          {
            "$ref": "#/parameters/BlueprintNameParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK -- blueprint artifacts retrieved.",
            "schema": {
              "$ref": "#/definitions/ArtifactList"
            }
          }
        },
        "tags": [
          "Artifact"
        ],
        "x-ms-examples": {
          "MG-ArtifactList": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "blueprintName": "simpleBlueprint",
              "scope": "providers/Microsoft.Management/managementGroups/ContosoOnlineGroup"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/ownerAssignment",
                      "kind": "roleAssignment",
                      "name": "ownerAssignment",
                      "properties": {
                        "displayName": "enforce owners of given subscription",
                        "principalIds": "[parameters('owners')]",
                        "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7"
                      },
                      "type": "Microsoft.Blueprint/blueprints/artifacts"
                    },
                    {
                      "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/costCenterPolicy",
                      "kind": "policyAssignment",
                      "name": "costCenterPolicy",
                      "properties": {
                        "displayName": "force costCenter tag on all resources",
                        "parameters": {
                          "tagName": {
                            "value": "costCenter"
                          },
                          "tagValue": {
                            "value": "[parameter('costCenter')]"
                          }
                        },
                        "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62"
                      },
                      "type": "Microsoft.Blueprint/blueprints/artifacts"
                    },
                    {
                      "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/storageTemplate",
                      "kind": "template",
                      "name": "storageTemplate",
                      "properties": {
                        "parameters": {
                          "storageAccountType": {
                            "value": "[parameters('storageAccountType')]"
                          }
                        },
                        "resourceGroup": "storageRG",
                        "template": {
                          "contentVersion": "1.0.0.0",
                          "outputs": {
                            "storageAccountName": {
                              "type": "string",
                              "value": "[variables('storageAccountName')]"
                            }
                          },
                          "parameters": {
                            "storageAccountType": {
                              "allowedValues": [
                                "Standard_LRS",
                                "Standard_GRS",
                                "Standard_ZRS",
                                "Premium_LRS"
                              ],
                              "defaultValue": "Standard_LRS",
                              "metadata": {
                                "description": "Storage Account type"
                              },
                              "type": "string"
                            }
                          },
                          "resources": [
                            {
                              "apiVersion": "2016-01-01",
                              "kind": "Storage",
                              "location": "[resourceGroup().location]",
                              "name": "[variables('storageAccountName')]",
                              "properties": {},
                              "sku": {
                                "name": "[parameters('storageAccountType')]"
                              },
                              "type": "Microsoft.Storage/storageAccounts"
                            }
                          ],
                          "variables": {
                            "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]"
                          }
                        }
                      },
                      "type": "Microsoft.Blueprint/blueprints/artifacts"
                    }
                  ]
                }
              }
            }
          },
          "Sub-ArtifactList": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "blueprintName": "simpleBlueprint",
              "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/ownerAssignment",
                      "kind": "roleAssignment",
                      "name": "ownerAssignment",
                      "properties": {
                        "displayName": "enforce owners of given subscription",
                        "principalIds": "[parameters('owners')]",
                        "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7"
                      },
                      "type": "Microsoft.Blueprint/blueprints/artifacts"
                    },
                    {
                      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/costCenterPolicy",
                      "kind": "policyAssignment",
                      "name": "costCenterPolicy",
                      "properties": {
                        "displayName": "force costCenter tag on all resources",
                        "parameters": {
                          "tagName": {
                            "value": "costCenter"
                          },
                          "tagValue": {
                            "value": "[parameter('costCenter')]"
                          }
                        },
                        "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62"
                      },
                      "type": "Microsoft.Blueprint/blueprints/artifacts"
                    },
                    {
                      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/storageTemplate",
                      "kind": "template",
                      "name": "storageTemplate",
                      "properties": {
                        "parameters": {
                          "storageAccountType": {
                            "value": "[parameters('storageAccountType')]"
                          }
                        },
                        "resourceGroup": "storageRG",
                        "template": {
                          "contentVersion": "1.0.0.0",
                          "outputs": {
                            "storageAccountName": {
                              "type": "string",
                              "value": "[variables('storageAccountName')]"
                            }
                          },
                          "parameters": {
                            "storageAccountType": {
                              "allowedValues": [
                                "Standard_LRS",
                                "Standard_GRS",
                                "Standard_ZRS",
                                "Premium_LRS"
                              ],
                              "defaultValue": "Standard_LRS",
                              "metadata": {
                                "description": "Storage Account type"
                              },
                              "type": "string"
                            }
                          },
                          "resources": [
                            {
                              "apiVersion": "2016-01-01",
                              "kind": "Storage",
                              "location": "[resourceGroup().location]",
                              "name": "[variables('storageAccountName')]",
                              "properties": {},
                              "sku": {
                                "name": "[parameters('storageAccountType')]"
                              },
                              "type": "Microsoft.Storage/storageAccounts"
                            }
                          ],
                          "variables": {
                            "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]"
                          }
                        }
                      },
                      "type": "Microsoft.Blueprint/blueprints/artifacts"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/{scope}/providers/Microsoft.Blueprint/blueprints/{blueprintName}/artifacts/{artifactName}": {
      "delete": {
        "description": "Delete a blueprint artifact.",
        "operationId": "Artifacts_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ScopeParameter"
          },
          {
            "$ref": "#/parameters/BlueprintNameParameter"
          },
          {
            "$ref": "#/parameters/ArtifactNameParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK -- blueprint artifact deleted.",
            "schema": {
              "$ref": "#/definitions/Artifact"
            }
          },
          "204": {
            "description": "No Content"
          }
        },
        "tags": [
          "Artifact"
        ],
        "x-ms-examples": {
          "MG-ARMTemplateArtifact": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "artifactName": "storageTemplate",
              "blueprintName": "simpleBlueprint",
              "scope": "providers/Microsoft.Management/managementGroups/ContosoOnlineGroup"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/storageTemplate",
                  "kind": "template",
                  "name": "storageTemplate",
                  "properties": {
                    "parameters": {
                      "storageAccountType": {
                        "value": "[parameters('storageAccountType')]"
                      }
                    },
                    "resourceGroup": "storageRG",
                    "template": {
                      "contentVersion": "1.0.0.0",
                      "outputs": {
                        "storageAccountName": {
                          "type": "string",
                          "value": "[variables('storageAccountName')]"
                        }
                      },
                      "parameters": {
                        "storageAccountType": {
                          "allowedValues": [
                            "Standard_LRS",
                            "Standard_GRS",
                            "Standard_ZRS",
                            "Premium_LRS"
                          ],
                          "defaultValue": "Standard_LRS",
                          "metadata": {
                            "description": "Storage Account type"
                          },
                          "type": "string"
                        }
                      },
                      "resources": [
                        {
                          "apiVersion": "2016-01-01",
                          "kind": "Storage",
                          "location": "[resourceGroup().location]",
                          "name": "[variables('storageAccountName')]",
                          "properties": {},
                          "sku": {
                            "name": "[parameters('storageAccountType')]"
                          },
                          "type": "Microsoft.Storage/storageAccounts"
                        }
                      ],
                      "variables": {
                        "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]"
                      }
                    }
                  },
                  "type": "Microsoft.Blueprint/blueprints/artifacts"
                }
              },
              "204": {}
            }
          },
          "MG-PolicyAssignmentArtifact": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "artifactName": "costCenterPolicy",
              "blueprintName": "simpleBlueprint",
              "scope": "providers/Microsoft.Management/managementGroups/ContosoOnlineGroup"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/costCenterPolicy",
                  "kind": "policyAssignment",
                  "name": "costCenterPolicy",
                  "properties": {
                    "displayName": "force costCenter tag on all resources",
                    "parameters": {
                      "tagName": {
                        "value": "costCenter"
                      },
                      "tagValue": {
                        "value": "[parameter('costCenter')]"
                      }
                    },
                    "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62"
                  },
                  "type": "Microsoft.Blueprint/blueprints/artifacts"
                }
              },
              "204": {}
            }
          },
          "MG-RoleAssignmentArtifact": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "artifactName": "ownerAssignment",
              "blueprintName": "simpleBlueprint",
              "scope": "providers/Microsoft.Management/managementGroups/ContosoOnlineGroup"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/ownerAssignment",
                  "kind": "roleAssignment",
                  "name": "ownerAssignment",
                  "properties": {
                    "displayName": "enforce owners of given subscription",
                    "principalIds": "[parameters('owners')]",
                    "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7"
                  },
                  "type": "Microsoft.Blueprint/blueprints/artifacts"
                }
              },
              "204": {}
            }
          },
          "Sub-ARMTemplateArtifact": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "artifactName": "storageTemplate",
              "blueprintName": "simpleBlueprint",
              "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/storageTemplate",
                  "kind": "template",
                  "name": "storageTemplate",
                  "properties": {
                    "parameters": {
                      "storageAccountType": {
                        "value": "[parameters('storageAccountType')]"
                      }
                    },
                    "resourceGroup": "storageRG",
                    "template": {
                      "contentVersion": "1.0.0.0",
                      "outputs": {
                        "storageAccountName": {
                          "type": "string",
                          "value": "[variables('storageAccountName')]"
                        }
                      },
                      "parameters": {
                        "storageAccountType": {
                          "allowedValues": [
                            "Standard_LRS",
                            "Standard_GRS",
                            "Standard_ZRS",
                            "Premium_LRS"
                          ],
                          "defaultValue": "Standard_LRS",
                          "metadata": {
                            "description": "Storage Account type"
                          },
                          "type": "string"
                        }
                      },
                      "resources": [
                        {
                          "apiVersion": "2016-01-01",
                          "kind": "Storage",
                          "location": "[resourceGroup().location]",
                          "name": "[variables('storageAccountName')]",
                          "properties": {},
                          "sku": {
                            "name": "[parameters('storageAccountType')]"
                          },
                          "type": "Microsoft.Storage/storageAccounts"
                        }
                      ],
                      "variables": {
                        "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]"
                      }
                    }
                  },
                  "type": "Microsoft.Blueprint/blueprints/artifacts"
                }
              },
              "204": {}
            }
          },
          "Sub-PolicyAssignmentArtifact": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "artifactName": "costCenterPolicy",
              "blueprintName": "simpleBlueprint",
              "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/costCenterPolicy",
                  "kind": "policyAssignment",
                  "name": "costCenterPolicy",
                  "properties": {
                    "displayName": "force costCenter tag on all resources",
                    "parameters": {
                      "tagName": {
                        "value": "costCenter"
                      },
                      "tagValue": {
                        "value": "[parameter('costCenter')]"
                      }
                    },
                    "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62"
                  },
                  "type": "Microsoft.Blueprint/blueprints/artifacts"
                }
              },
              "204": {}
            }
          },
          "Sub-RoleAssignmentArtifact": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "artifactName": "ownerAssignment",
              "blueprintName": "simpleBlueprint",
              "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/ownerAssignment",
                  "kind": "roleAssignment",
                  "name": "ownerAssignment",
                  "properties": {
                    "displayName": "enforce owners of given subscription",
                    "principalIds": "[parameters('owners')]",
                    "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7"
                  },
                  "type": "Microsoft.Blueprint/blueprints/artifacts"
                }
              },
              "204": {}
            }
          }
        }
      },
      "get": {
        "description": "Get a blueprint artifact.",
        "operationId": "Artifacts_Get",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ScopeParameter"
          },
          {
            "$ref": "#/parameters/BlueprintNameParameter"
          },
          {
            "$ref": "#/parameters/ArtifactNameParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK -- blueprint artifact retrieved.",
            "schema": {
              "$ref": "#/definitions/Artifact"
            }
          }
        },
        "tags": [
          "Artifact"
        ],
        "x-ms-examples": {
          "MG-ARMTemplateArtifact": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "artifactName": "storageTemplate",
              "blueprintName": "simpleBlueprint",
              "scope": "providers/Microsoft.Management/managementGroups/ContosoOnlineGroup"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/storageTemplate",
                  "kind": "template",
                  "name": "storageTemplate",
                  "properties": {
                    "parameters": {
                      "storageAccountType": {
                        "value": "[parameters('storageAccountType')]"
                      }
                    },
                    "resourceGroup": "storageRG",
                    "template": {
                      "contentVersion": "1.0.0.0",
                      "outputs": {
                        "storageAccountName": {
                          "type": "string",
                          "value": "[variables('storageAccountName')]"
                        }
                      },
                      "parameters": {
                        "storageAccountType": {
                          "allowedValues": [
                            "Standard_LRS",
                            "Standard_GRS",
                            "Standard_ZRS",
                            "Premium_LRS"
                          ],
                          "defaultValue": "Standard_LRS",
                          "metadata": {
                            "description": "Storage Account type"
                          },
                          "type": "string"
                        }
                      },
                      "resources": [
                        {
                          "apiVersion": "2016-01-01",
                          "kind": "Storage",
                          "location": "[resourceGroup().location]",
                          "name": "[variables('storageAccountName')]",
                          "properties": {},
                          "sku": {
                            "name": "[parameters('storageAccountType')]"
                          },
                          "type": "Microsoft.Storage/storageAccounts"
                        }
                      ],
                      "variables": {
                        "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]"
                      }
                    }
                  },
                  "type": "Microsoft.Blueprint/blueprints/artifacts"
                }
              }
            }
          },
          "MG-PolicyAssignmentArtifact": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "artifactName": "costCenterPolicy",
              "blueprintName": "simpleBlueprint",
              "scope": "providers/Microsoft.Management/managementGroups/ContosoOnlineGroup"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/costCenterPolicy",
                  "kind": "policyAssignment",
                  "name": "costCenterPolicy",
                  "properties": {
                    "displayName": "force costCenter tag on all resources",
                    "parameters": {
                      "tagName": {
                        "value": "costCenter"
                      },
                      "tagValue": {
                        "value": "[parameter('costCenter')]"
                      }
                    },
                    "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62"
                  },
                  "type": "Microsoft.Blueprint/blueprints/artifacts"
                }
              }
            }
          },
          "MG-RoleAssignmentArtifact": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "artifactName": "ownerAssignment",
              "blueprintName": "simpleBlueprint",
              "scope": "providers/Microsoft.Management/managementGroups/ContosoOnlineGroup"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/ownerAssignment",
                  "kind": "roleAssignment",
                  "name": "ownerAssignment",
                  "properties": {
                    "displayName": "enforce owners of given subscription",
                    "principalIds": "[parameters('owners')]",
                    "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7"
                  },
                  "type": "Microsoft.Blueprint/blueprints/artifacts"
                }
              }
            }
          },
          "Sub-ARMTemplateArtifact": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "artifactName": "storageTemplate",
              "blueprintName": "simpleBlueprint",
              "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/storageTemplate",
                  "kind": "template",
                  "name": "storageTemplate",
                  "properties": {
                    "parameters": {
                      "storageAccountType": {
                        "value": "[parameters('storageAccountType')]"
                      }
                    },
                    "resourceGroup": "storageRG",
                    "template": {
                      "contentVersion": "1.0.0.0",
                      "outputs": {
                        "storageAccountName": {
                          "type": "string",
                          "value": "[variables('storageAccountName')]"
                        }
                      },
                      "parameters": {
                        "storageAccountType": {
                          "allowedValues": [
                            "Standard_LRS",
                            "Standard_GRS",
                            "Standard_ZRS",
                            "Premium_LRS"
                          ],
                          "defaultValue": "Standard_LRS",
                          "metadata": {
                            "description": "Storage Account type"
                          },
                          "type": "string"
                        }
                      },
                      "resources": [
                        {
                          "apiVersion": "2016-01-01",
                          "kind": "Storage",
                          "location": "[resourceGroup().location]",
                          "name": "[variables('storageAccountName')]",
                          "properties": {},
                          "sku": {
                            "name": "[parameters('storageAccountType')]"
                          },
                          "type": "Microsoft.Storage/storageAccounts"
                        }
                      ],
                      "variables": {
                        "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]"
                      }
                    }
                  },
                  "type": "Microsoft.Blueprint/blueprints/artifacts"
                }
              }
            }
          },
          "Sub-PolicyAssignmentArtifact": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "artifactName": "costCenterPolicy",
              "blueprintName": "simpleBlueprint",
              "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/costCenterPolicy",
                  "kind": "policyAssignment",
                  "name": "costCenterPolicy",
                  "properties": {
                    "displayName": "force costCenter tag on all resources",
                    "parameters": {
                      "tagName": {
                        "value": "costCenter"
                      },
                      "tagValue": {
                        "value": "[parameter('costCenter')]"
                      }
                    },
                    "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62"
                  },
                  "type": "Microsoft.Blueprint/blueprints/artifacts"
                }
              }
            }
          },
          "Sub-RoleAssignmentArtifact": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "artifactName": "ownerAssignment",
              "blueprintName": "simpleBlueprint",
              "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/ownerAssignment",
                  "kind": "roleAssignment",
                  "name": "ownerAssignment",
                  "properties": {
                    "displayName": "enforce owners of given subscription",
                    "principalIds": "[parameters('owners')]",
                    "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7"
                  },
                  "type": "Microsoft.Blueprint/blueprints/artifacts"
                }
              }
            }
          }
        }
      },
      "put": {
        "description": "Create or update blueprint artifact.",
        "operationId": "Artifacts_CreateOrUpdate",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ScopeParameter"
          },
          {
            "$ref": "#/parameters/BlueprintNameParameter"
          },
          {
            "$ref": "#/parameters/ArtifactNameParameter"
          },
          {
            "description": "Blueprint artifact to create or update.",
            "in": "body",
            "name": "artifact",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Artifact"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created -- blueprint artifact created/updated.",
            "schema": {
              "$ref": "#/definitions/Artifact"
            }
          }
        },
        "tags": [
          "Artifact"
        ],
        "x-ms-examples": {
          "MG-ARMTemplateArtifact": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "artifact": {
                "kind": "template",
                "properties": {
                  "parameters": {
                    "storageAccountType": {
                      "value": "[parameters('storageAccountType')]"
                    }
                  },
                  "resourceGroup": "storageRG",
                  "template": {
                    "contentVersion": "1.0.0.0",
                    "outputs": {
                      "storageAccountName": {
                        "type": "string",
                        "value": "[variables('storageAccountName')]"
                      }
                    },
                    "parameters": {
                      "storageAccountType": {
                        "allowedValues": [
                          "Standard_LRS",
                          "Standard_GRS",
                          "Standard_ZRS",
                          "Premium_LRS"
                        ],
                        "defaultValue": "Standard_LRS",
                        "metadata": {
                          "description": "Storage Account type"
                        },
                        "type": "string"
                      }
                    },
                    "resources": [
                      {
                        "apiVersion": "2016-01-01",
                        "kind": "Storage",
                        "location": "[resourceGroup().location]",
                        "name": "[variables('storageAccountName')]",
                        "properties": {},
                        "sku": {
                          "name": "[parameters('storageAccountType')]"
                        },
                        "type": "Microsoft.Storage/storageAccounts"
                      }
                    ],
                    "variables": {
                      "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]"
                    }
                  }
                }
              },
              "artifactName": "storageTemplate",
              "blueprintName": "simpleBlueprint",
              "scope": "providers/Microsoft.Management/managementGroups/ContosoOnlineGroup"
            },
            "responses": {
              "201": {
                "body": {
                  "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/storageTemplate",
                  "kind": "template",
                  "name": "storageTemplate",
                  "properties": {
                    "parameters": {
                      "storageAccountType": {
                        "value": "[parameters('storageAccountType')]"
                      }
                    },
                    "resourceGroup": "storageRG",
                    "template": {
                      "contentVersion": "1.0.0.0",
                      "outputs": {
                        "storageAccountName": {
                          "type": "string",
                          "value": "[variables('storageAccountName')]"
                        }
                      },
                      "parameters": {
                        "storageAccountType": {
                          "allowedValues": [
                            "Standard_LRS",
                            "Standard_GRS",
                            "Standard_ZRS",
                            "Premium_LRS"
                          ],
                          "defaultValue": "Standard_LRS",
                          "metadata": {
                            "description": "Storage Account type"
                          },
                          "type": "string"
                        }
                      },
                      "resources": [
                        {
                          "apiVersion": "2016-01-01",
                          "kind": "Storage",
                          "location": "[resourceGroup().location]",
                          "name": "[variables('storageAccountName')]",
                          "properties": {},
                          "sku": {
                            "name": "[parameters('storageAccountType')]"
                          },
                          "type": "Microsoft.Storage/storageAccounts"
                        }
                      ],
                      "variables": {
                        "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]"
                      }
                    }
                  },
                  "type": "Microsoft.Blueprint/blueprints/artifacts"
                }
              }
            }
          },
          "MG-PolicyAssignmentArtifact": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "artifact": {
                "kind": "policyAssignment",
                "properties": {
                  "displayName": "force costCenter tag on all resources",
                  "parameters": {
                    "tagName": {
                      "value": "costCenter"
                    },
                    "tagValue": {
                      "value": "[parameter('costCenter')]"
                    }
                  },
                  "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62"
                }
              },
              "artifactName": "costCenterPolicy",
              "blueprintName": "simpleBlueprint",
              "scope": "providers/Microsoft.Management/managementGroups/ContosoOnlineGroup"
            },
            "responses": {
              "201": {
                "body": {
                  "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/costCenterPolicy",
                  "kind": "policyAssignment",
                  "name": "costCenterPolicy",
                  "properties": {
                    "displayName": "force costCenter tag on all resources",
                    "parameters": {
                      "tagName": {
                        "value": "costCenter"
                      },
                      "tagValue": {
                        "value": "[parameter('costCenter')]"
                      }
                    },
                    "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62"
                  },
                  "type": "Microsoft.Blueprint/blueprints/artifacts"
                }
              }
            }
          },
          "MG-RoleAssignmentArtifact": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "artifact": {
                "kind": "roleAssignment",
                "properties": {
                  "displayName": "enforce owners of given subscription",
                  "principalIds": "[parameters('owners')]",
                  "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7"
                }
              },
              "artifactName": "ownerAssignment",
              "blueprintName": "simpleBlueprint",
              "scope": "providers/Microsoft.Management/managementGroups/ContosoOnlineGroup"
            },
            "responses": {
              "201": {
                "body": {
                  "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/ownerAssignment",
                  "kind": "roleAssignment",
                  "name": "ownerAssignment",
                  "properties": {
                    "displayName": "enforce owners of given subscription",
                    "principalIds": "[parameters('owners')]",
                    "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7"
                  },
                  "type": "Microsoft.Blueprint/blueprints/artifacts"
                }
              }
            }
          },
          "Sub-ARMTemplateArtifact": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "artifact": {
                "kind": "template",
                "properties": {
                  "parameters": {
                    "storageAccountType": {
                      "value": "[parameters('storageAccountType')]"
                    }
                  },
                  "resourceGroup": "storageRG",
                  "template": {
                    "contentVersion": "1.0.0.0",
                    "outputs": {
                      "storageAccountName": {
                        "type": "string",
                        "value": "[variables('storageAccountName')]"
                      }
                    },
                    "parameters": {
                      "storageAccountType": {
                        "allowedValues": [
                          "Standard_LRS",
                          "Standard_GRS",
                          "Standard_ZRS",
                          "Premium_LRS"
                        ],
                        "defaultValue": "Standard_LRS",
                        "metadata": {
                          "description": "Storage Account type"
                        },
                        "type": "string"
                      }
                    },
                    "resources": [
                      {
                        "apiVersion": "2016-01-01",
                        "kind": "Storage",
                        "location": "[resourceGroup().location]",
                        "name": "[variables('storageAccountName')]",
                        "properties": {},
                        "sku": {
                          "name": "[parameters('storageAccountType')]"
                        },
                        "type": "Microsoft.Storage/storageAccounts"
                      }
                    ],
                    "variables": {
                      "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]"
                    }
                  }
                }
              },
              "artifactName": "storageTemplate",
              "blueprintName": "simpleBlueprint",
              "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
            },
            "responses": {
              "201": {
                "body": {
                  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/storageTemplate",
                  "kind": "template",
                  "name": "storageTemplate",
                  "properties": {
                    "parameters": {
                      "storageAccountType": {
                        "value": "[parameters('storageAccountType')]"
                      }
                    },
                    "resourceGroup": "storageRG",
                    "template": {
                      "contentVersion": "1.0.0.0",
                      "outputs": {
                        "storageAccountName": {
                          "type": "string",
                          "value": "[variables('storageAccountName')]"
                        }
                      },
                      "parameters": {
                        "storageAccountType": {
                          "allowedValues": [
                            "Standard_LRS",
                            "Standard_GRS",
                            "Standard_ZRS",
                            "Premium_LRS"
                          ],
                          "defaultValue": "Standard_LRS",
                          "metadata": {
                            "description": "Storage Account type"
                          },
                          "type": "string"
                        }
                      },
                      "resources": [
                        {
                          "apiVersion": "2016-01-01",
                          "kind": "Storage",
                          "location": "[resourceGroup().location]",
                          "name": "[variables('storageAccountName')]",
                          "properties": {},
                          "sku": {
                            "name": "[parameters('storageAccountType')]"
                          },
                          "type": "Microsoft.Storage/storageAccounts"
                        }
                      ],
                      "variables": {
                        "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]"
                      }
                    }
                  },
                  "type": "Microsoft.Blueprint/blueprints/artifacts"
                }
              }
            }
          },
          "Sub-PolicyAssignmentArtifact": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "artifact": {
                "kind": "policyAssignment",
                "properties": {
                  "displayName": "force costCenter tag on all resources",
                  "parameters": {
                    "tagName": {
                      "value": "costCenter"
                    },
                    "tagValue": {
                      "value": "[parameter('costCenter')]"
                    }
                  },
                  "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62"
                }
              },
              "artifactName": "costCenterPolicy",
              "blueprintName": "simpleBlueprint",
              "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
            },
            "responses": {
              "201": {
                "body": {
                  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/costCenterPolicy",
                  "kind": "policyAssignment",
                  "name": "costCenterPolicy",
                  "properties": {
                    "displayName": "force costCenter tag on all resources",
                    "parameters": {
                      "tagName": {
                        "value": "costCenter"
                      },
                      "tagValue": {
                        "value": "[parameter('costCenter')]"
                      }
                    },
                    "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62"
                  },
                  "type": "Microsoft.Blueprint/blueprints/artifacts"
                }
              }
            }
          },
          "Sub-RoleAssignmentArtifact": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "artifact": {
                "kind": "roleAssignment",
                "properties": {
                  "displayName": "enforce owners of given subscription",
                  "principalIds": "[parameters('owners')]",
                  "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7"
                }
              },
              "artifactName": "ownerAssignment",
              "blueprintName": "simpleBlueprint",
              "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
            },
            "responses": {
              "201": {
                "body": {
                  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/ownerAssignment",
                  "kind": "roleAssignment",
                  "name": "ownerAssignment",
                  "properties": {
                    "displayName": "enforce owners of given subscription",
                    "principalIds": "[parameters('owners')]",
                    "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7"
                  },
                  "type": "Microsoft.Blueprint/blueprints/artifacts"
                }
              }
            }
          }
        }
      }
    },
    "/{scope}/providers/Microsoft.Blueprint/blueprints/{blueprintName}/versions": {
      "get": {
        "description": "List published versions of given blueprint definition.",
        "operationId": "PublishedBlueprints_List",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ScopeParameter"
          },
          {
            "$ref": "#/parameters/BlueprintNameParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK -- all published versions of blueprint definition retrieved.",
            "schema": {
              "$ref": "#/definitions/PublishedBlueprintList"
            }
          }
        },
        "tags": [
          "PublishedBlueprint"
        ],
        "x-ms-examples": {
          "PublishedManagementGroupBlueprint": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "blueprintName": "simpleBlueprint",
              "scope": "providers/Microsoft.Management/managementGroups/ContosoOnlineGroup"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/v1",
                      "name": "v1",
                      "properties": {
                        "blueprintName": "simpleBlueprint",
                        "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}",
                        "parameters": {
                          "costCenter": {
                            "metadata": {
                              "displayName": "force cost center tag for all resources under given subscription."
                            },
                            "type": "string"
                          },
                          "owners": {
                            "metadata": {
                              "displayName": "assign owners to subscription along with blueprint assignment."
                            },
                            "type": "array"
                          },
                          "storageAccountType": {
                            "metadata": {
                              "displayName": "storage account type."
                            },
                            "type": "string"
                          }
                        },
                        "resourceGroups": {
                          "storageRG": {
                            "metadata": {
                              "description": "Contains storageAccounts that collect all shoebox logs.",
                              "displayName": "storage resource group"
                            }
                          }
                        },
                        "status": null,
                        "targetScope": "subscription"
                      },
                      "type": "Microsoft.Blueprint/blueprints/versions"
                    }
                  ]
                }
              }
            }
          },
          "PublishedSubscriptionBlueprint": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "blueprintName": "simpleBlueprint",
              "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/v1",
                      "name": "v1",
                      "properties": {
                        "blueprintName": "simpleBlueprint",
                        "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}",
                        "parameters": {
                          "costCenter": {
                            "metadata": {
                              "displayName": "force cost center tag for all resources under given subscription."
                            },
                            "type": "string"
                          },
                          "owners": {
                            "metadata": {
                              "displayName": "assign owners to subscription along with blueprint assignment."
                            },
                            "type": "array"
                          },
                          "storageAccountType": {
                            "metadata": {
                              "displayName": "storage account type."
                            },
                            "type": "string"
                          }
                        },
                        "resourceGroups": {
                          "storageRG": {
                            "metadata": {
                              "description": "Contains storageAccounts that collect all shoebox logs.",
                              "displayName": "storage resource group"
                            }
                          }
                        },
                        "status": null,
                        "targetScope": "subscription"
                      },
                      "type": "Microsoft.Blueprint/blueprints/versions"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/{scope}/providers/Microsoft.Blueprint/blueprints/{blueprintName}/versions/{versionId}": {
      "delete": {
        "description": "Delete a published version of a blueprint definition.",
        "operationId": "PublishedBlueprints_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ScopeParameter"
          },
          {
            "$ref": "#/parameters/BlueprintNameParameter"
          },
          {
            "$ref": "#/parameters/PublishedBlueprintVersionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK -- published version of blueprint definition deleted.",
            "schema": {
              "$ref": "#/definitions/PublishedBlueprint"
            }
          },
          "204": {
            "description": "No Content"
          }
        },
        "tags": [
          "PublishedBlueprint"
        ],
        "x-ms-examples": {
          "PublishedManagementGroupBlueprint": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "blueprintName": "simpleBlueprint",
              "scope": "providers/Microsoft.Management/managementGroups/ContosoOnlineGroup",
              "versionId": "v2"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
                  "name": "v2",
                  "properties": {
                    "blueprintName": "simpleBlueprint",
                    "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}",
                    "parameters": {
                      "costCenter": {
                        "metadata": {
                          "description": null,
                          "displayName": "force cost center tag for all resources under given subscription."
                        },
                        "type": "string"
                      },
                      "owners": {
                        "metadata": {
                          "description": null,
                          "displayName": "assign owners to subscription along with blueprint assignment."
                        },
                        "type": "array"
                      },
                      "storageAccountType": {
                        "metadata": {
                          "description": null,
                          "displayName": "storage account type."
                        },
                        "type": "string"
                      }
                    },
                    "resourceGroups": {
                      "storageRG": {
                        "metadata": {
                          "description": "Contains storageAccounts that collect all shoebox logs.",
                          "displayName": "storage resource group"
                        }
                      }
                    },
                    "targetScope": "subscription"
                  },
                  "type": "Microsoft.Blueprint/blueprints/versions"
                }
              },
              "204": {}
            }
          },
          "PublishedSubscriptionBlueprint": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "blueprintName": "simpleBlueprint",
              "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
              "versionId": "v2"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
                  "name": "v2",
                  "properties": {
                    "blueprintName": "simpleBlueprint",
                    "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}",
                    "parameters": {
                      "costCenter": {
                        "metadata": {
                          "description": null,
                          "displayName": "force cost center tag for all resources under given subscription."
                        },
                        "type": "string"
                      },
                      "owners": {
                        "metadata": {
                          "description": null,
                          "displayName": "assign owners to subscription along with blueprint assignment."
                        },
                        "type": "array"
                      },
                      "storageAccountType": {
                        "metadata": {
                          "description": null,
                          "displayName": "storage account type."
                        },
                        "type": "string"
                      }
                    },
                    "resourceGroups": {
                      "storageRG": {
                        "metadata": {
                          "description": "Contains storageAccounts that collect all shoebox logs.",
                          "displayName": "storage resource group"
                        }
                      }
                    },
                    "targetScope": "subscription"
                  },
                  "type": "Microsoft.Blueprint/blueprints/versions"
                }
              },
              "204": {}
            }
          }
        }
      },
      "get": {
        "description": "Get a published version of a blueprint definition.",
        "operationId": "PublishedBlueprints_Get",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ScopeParameter"
          },
          {
            "$ref": "#/parameters/BlueprintNameParameter"
          },
          {
            "$ref": "#/parameters/PublishedBlueprintVersionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK -- published blueprint definition retrieved.",
            "schema": {
              "$ref": "#/definitions/PublishedBlueprint"
            }
          }
        },
        "tags": [
          "PublishedBlueprint"
        ],
        "x-ms-examples": {
          "PublishedManagementGroupBlueprint": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "blueprintName": "simpleBlueprint",
              "scope": "providers/Microsoft.Management/managementGroups/ContosoOnlineGroup",
              "versionId": "v2"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
                  "name": "v2",
                  "properties": {
                    "blueprintName": "simpleBlueprint",
                    "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}",
                    "parameters": {
                      "costCenter": {
                        "metadata": {
                          "description": null,
                          "displayName": "force cost center tag for all resources under given subscription."
                        },
                        "type": "string"
                      },
                      "owners": {
                        "metadata": {
                          "description": null,
                          "displayName": "assign owners to subscription along with blueprint assignment."
                        },
                        "type": "array"
                      },
                      "storageAccountType": {
                        "metadata": {
                          "description": null,
                          "displayName": "storage account type."
                        },
                        "type": "string"
                      }
                    },
                    "resourceGroups": {
                      "storageRG": {
                        "metadata": {
                          "description": "Contains storageAccounts that collect all shoebox logs.",
                          "displayName": "storage resource group"
                        }
                      }
                    },
                    "targetScope": "subscription"
                  },
                  "type": "Microsoft.Blueprint/blueprints/versions"
                }
              }
            }
          },
          "PublishedSubscriptionBlueprint": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "blueprintName": "simpleBlueprint",
              "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
              "versionId": "v2"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
                  "name": "v2",
                  "properties": {
                    "blueprintName": "simpleBlueprint",
                    "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}",
                    "parameters": {
                      "costCenter": {
                        "metadata": {
                          "description": null,
                          "displayName": "force cost center tag for all resources under given subscription."
                        },
                        "type": "string"
                      },
                      "owners": {
                        "metadata": {
                          "description": null,
                          "displayName": "assign owners to subscription along with blueprint assignment."
                        },
                        "type": "array"
                      },
                      "storageAccountType": {
                        "metadata": {
                          "description": null,
                          "displayName": "storage account type."
                        },
                        "type": "string"
                      }
                    },
                    "resourceGroups": {
                      "storageRG": {
                        "metadata": {
                          "description": "Contains storageAccounts that collect all shoebox logs.",
                          "displayName": "storage resource group"
                        }
                      }
                    },
                    "targetScope": "subscription"
                  },
                  "type": "Microsoft.Blueprint/blueprints/versions"
                }
              }
            }
          }
        }
      },
      "put": {
        "description": "Publish a new version of the blueprint definition with the latest artifacts. Published blueprint definitions are immutable.",
        "operationId": "PublishedBlueprints_Create",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ScopeParameter"
          },
          {
            "$ref": "#/parameters/BlueprintNameParameter"
          },
          {
            "$ref": "#/parameters/PublishedBlueprintVersionIdParameter"
          },
          {
            "description": "Published Blueprint to create or update.",
            "in": "body",
            "name": "publishedBlueprint",
            "required": false,
            "schema": {
              "$ref": "#/definitions/PublishedBlueprint"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created -- blueprint definition published.",
            "schema": {
              "$ref": "#/definitions/PublishedBlueprint"
            }
          }
        },
        "tags": [
          "PublishedBlueprint"
        ],
        "x-ms-examples": {
          "PublishedManagementGroupBlueprint_Publish": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "blueprintName": "simpleBlueprint",
              "scope": "providers/Microsoft.Management/managementGroups/ContosoOnlineGroup",
              "versionId": "v2"
            },
            "responses": {
              "201": {
                "body": {
                  "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
                  "name": "v2",
                  "properties": {
                    "blueprintName": "simpleBlueprint",
                    "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}",
                    "parameters": {
                      "costCenter": {
                        "metadata": {
                          "description": null,
                          "displayName": "force cost center tag for all resources under given subscription."
                        },
                        "type": "string"
                      },
                      "owners": {
                        "metadata": {
                          "description": null,
                          "displayName": "assign owners to subscription along with blueprint assignment."
                        },
                        "type": "array"
                      },
                      "storageAccountType": {
                        "metadata": {
                          "description": null,
                          "displayName": "storage account type."
                        },
                        "type": "string"
                      }
                    },
                    "resourceGroups": {
                      "storageRG": {
                        "metadata": {
                          "description": "Contains storageAccounts that collect all shoebox logs.",
                          "displayName": "storage resource group"
                        }
                      }
                    },
                    "targetScope": "subscription"
                  },
                  "type": "Microsoft.Blueprint/blueprints/versions"
                }
              }
            }
          },
          "PublishedSubscriptionBlueprint_Publish": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "blueprintName": "simpleBlueprint",
              "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
              "versionId": "v2"
            },
            "responses": {
              "201": {
                "body": {
                  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
                  "name": "v2",
                  "properties": {
                    "blueprintName": "simpleBlueprint",
                    "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}",
                    "parameters": {
                      "costCenter": {
                        "metadata": {
                          "description": null,
                          "displayName": "force cost center tag for all resources under given subscription."
                        },
                        "type": "string"
                      },
                      "owners": {
                        "metadata": {
                          "description": null,
                          "displayName": "assign owners to subscription along with blueprint assignment."
                        },
                        "type": "array"
                      },
                      "storageAccountType": {
                        "metadata": {
                          "description": null,
                          "displayName": "storage account type."
                        },
                        "type": "string"
                      }
                    },
                    "resourceGroups": {
                      "storageRG": {
                        "metadata": {
                          "description": "Contains storageAccounts that collect all shoebox logs.",
                          "displayName": "storage resource group"
                        }
                      }
                    },
                    "targetScope": "subscription"
                  },
                  "type": "Microsoft.Blueprint/blueprints/versions"
                }
              }
            }
          }
        }
      }
    },
    "/{scope}/providers/Microsoft.Blueprint/blueprints/{blueprintName}/versions/{versionId}/artifacts": {
      "get": {
        "description": "List artifacts for a version of a published blueprint definition.",
        "operationId": "PublishedArtifacts_List",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ScopeParameter"
          },
          {
            "$ref": "#/parameters/BlueprintNameParameter"
          },
          {
            "$ref": "#/parameters/PublishedBlueprintVersionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK -- artifacts of a version of published blueprint definition retrieved.",
            "schema": {
              "$ref": "#/definitions/ArtifactList"
            }
          }
        },
        "tags": [
          "PublishedArtifact"
        ],
        "x-ms-examples": {
          "MG-ArtifactList": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "blueprintName": "simpleBlueprint",
              "scope": "providers/Microsoft.Management/managementGroups/ContosoOnlineGroup",
              "versionId": "V2"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/V2/artifacts/ownerAssignment",
                      "kind": "roleAssignment",
                      "name": "ownerAssignment",
                      "properties": {
                        "displayName": "enforce owners of given subscription",
                        "principalIds": "[parameters('owners')]",
                        "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7"
                      },
                      "type": "Microsoft.Blueprint/blueprints/versions/artifacts"
                    },
                    {
                      "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/V2/artifacts/costCenterPolicy",
                      "kind": "policyAssignment",
                      "name": "costCenterPolicy",
                      "properties": {
                        "displayName": "force costCenter tag on all resources",
                        "parameters": {
                          "tagName": {
                            "value": "costCenter"
                          },
                          "tagValue": {
                            "value": "[parameter('costCenter')]"
                          }
                        },
                        "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62"
                      },
                      "type": "Microsoft.Blueprint/blueprints/versions/artifacts"
                    },
                    {
                      "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/V2/artifacts/storageTemplate",
                      "kind": "template",
                      "name": "storageTemplate",
                      "properties": {
                        "parameters": {
                          "storageAccountType": {
                            "value": "[parameters('storageAccountType')]"
                          }
                        },
                        "resourceGroup": "storageRG",
                        "template": {
                          "contentVersion": "1.0.0.0",
                          "outputs": {
                            "storageAccountName": {
                              "type": "string",
                              "value": "[variables('storageAccountName')]"
                            }
                          },
                          "parameters": {
                            "storageAccountType": {
                              "allowedValues": [
                                "Standard_LRS",
                                "Standard_GRS",
                                "Standard_ZRS",
                                "Premium_LRS"
                              ],
                              "defaultValue": "Standard_LRS",
                              "metadata": {
                                "description": "Storage Account type"
                              },
                              "type": "string"
                            }
                          },
                          "resources": [
                            {
                              "apiVersion": "2016-01-01",
                              "kind": "Storage",
                              "location": "[resourceGroup().location]",
                              "name": "[variables('storageAccountName')]",
                              "properties": {},
                              "sku": {
                                "name": "[parameters('storageAccountType')]"
                              },
                              "type": "Microsoft.Storage/storageAccounts"
                            }
                          ],
                          "variables": {
                            "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]"
                          }
                        }
                      },
                      "type": "Microsoft.Blueprint/blueprints/versions/artifacts"
                    }
                  ]
                }
              }
            }
          },
          "Sub-ArtifactList": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "blueprintName": "simpleBlueprint",
              "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
              "versionId": "V2"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/V2/artifacts/ownerAssignment",
                      "kind": "roleAssignment",
                      "name": "ownerAssignment",
                      "properties": {
                        "displayName": "enforce owners of given subscription",
                        "principalIds": "[parameters('owners')]",
                        "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7"
                      },
                      "type": "Microsoft.Blueprint/blueprints/versions/artifacts"
                    },
                    {
                      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/V2/artifacts/costCenterPolicy",
                      "kind": "policyAssignment",
                      "name": "costCenterPolicy",
                      "properties": {
                        "displayName": "force costCenter tag on all resources",
                        "parameters": {
                          "tagName": {
                            "value": "costCenter"
                          },
                          "tagValue": {
                            "value": "[parameter('costCenter')]"
                          }
                        },
                        "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62"
                      },
                      "type": "Microsoft.Blueprint/blueprints/versions/artifacts"
                    },
                    {
                      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/V2/artifacts/storageTemplate",
                      "kind": "template",
                      "name": "storageTemplate",
                      "properties": {
                        "parameters": {
                          "storageAccountType": {
                            "value": "[parameters('storageAccountType')]"
                          }
                        },
                        "resourceGroup": "storageRG",
                        "template": {
                          "contentVersion": "1.0.0.0",
                          "outputs": {
                            "storageAccountName": {
                              "type": "string",
                              "value": "[variables('storageAccountName')]"
                            }
                          },
                          "parameters": {
                            "storageAccountType": {
                              "allowedValues": [
                                "Standard_LRS",
                                "Standard_GRS",
                                "Standard_ZRS",
                                "Premium_LRS"
                              ],
                              "defaultValue": "Standard_LRS",
                              "metadata": {
                                "description": "Storage Account type"
                              },
                              "type": "string"
                            }
                          },
                          "resources": [
                            {
                              "apiVersion": "2016-01-01",
                              "kind": "Storage",
                              "location": "[resourceGroup().location]",
                              "name": "[variables('storageAccountName')]",
                              "properties": {},
                              "sku": {
                                "name": "[parameters('storageAccountType')]"
                              },
                              "type": "Microsoft.Storage/storageAccounts"
                            }
                          ],
                          "variables": {
                            "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]"
                          }
                        }
                      },
                      "type": "Microsoft.Blueprint/blueprints/versions/artifacts"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/{scope}/providers/Microsoft.Blueprint/blueprints/{blueprintName}/versions/{versionId}/artifacts/{artifactName}": {
      "get": {
        "description": "Get an artifact for a published blueprint definition.",
        "operationId": "PublishedArtifacts_Get",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ScopeParameter"
          },
          {
            "$ref": "#/parameters/BlueprintNameParameter"
          },
          {
            "$ref": "#/parameters/PublishedBlueprintVersionIdParameter"
          },
          {
            "$ref": "#/parameters/ArtifactNameParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK -- artifact of published blueprint definition retrieved.",
            "schema": {
              "$ref": "#/definitions/Artifact"
            }
          }
        },
        "tags": [
          "PublishedArtifact"
        ],
        "x-ms-examples": {
          "MG-ARMTemplateArtifact": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "artifactName": "storageTemplate",
              "blueprintName": "simpleBlueprint",
              "scope": "providers/Microsoft.Management/managementGroups/ContosoOnlineGroup",
              "versionId": "V2"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/V2/artifacts/storageTemplate",
                  "kind": "template",
                  "name": "storageTemplate",
                  "properties": {
                    "parameters": {
                      "storageAccountType": {
                        "value": "[parameters('storageAccountType')]"
                      }
                    },
                    "resourceGroup": "storageRG",
                    "template": {
                      "contentVersion": "1.0.0.0",
                      "outputs": {
                        "storageAccountName": {
                          "type": "string",
                          "value": "[variables('storageAccountName')]"
                        }
                      },
                      "parameters": {
                        "storageAccountType": {
                          "allowedValues": [
                            "Standard_LRS",
                            "Standard_GRS",
                            "Standard_ZRS",
                            "Premium_LRS"
                          ],
                          "defaultValue": "Standard_LRS",
                          "metadata": {
                            "description": "Storage Account type"
                          },
                          "type": "string"
                        }
                      },
                      "resources": [
                        {
                          "apiVersion": "2016-01-01",
                          "kind": "Storage",
                          "location": "[resourceGroup().location]",
                          "name": "[variables('storageAccountName')]",
                          "properties": {},
                          "sku": {
                            "name": "[parameters('storageAccountType')]"
                          },
                          "type": "Microsoft.Storage/storageAccounts"
                        }
                      ],
                      "variables": {
                        "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]"
                      }
                    }
                  },
                  "type": "Microsoft.Blueprint/blueprints/versions/artifacts"
                }
              }
            }
          },
          "MG-PolicyAssignmentArtifact": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "artifactName": "costCenterPolicy",
              "blueprintName": "simpleBlueprint",
              "scope": "providers/Microsoft.Management/managementGroups/ContosoOnlineGroup",
              "versionId": "V2"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/V2/artifacts/costCenterPolicy",
                  "kind": "policyAssignment",
                  "name": "costCenterPolicy",
                  "properties": {
                    "displayName": "force costCenter tag on all resources",
                    "parameters": {
                      "tagName": {
                        "value": "costCenter"
                      },
                      "tagValue": {
                        "value": "[parameter('costCenter')]"
                      }
                    },
                    "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62"
                  },
                  "type": "Microsoft.Blueprint/blueprints/versions/artifacts"
                }
              }
            }
          },
          "MG-RoleAssignmentArtifact": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "artifactName": "ownerAssignment",
              "blueprintName": "simpleBlueprint",
              "scope": "providers/Microsoft.Management/managementGroups/ContosoOnlineGroup",
              "versionId": "V2"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/V2/artifacts/ownerAssignment",
                  "kind": "roleAssignment",
                  "name": "ownerAssignment",
                  "properties": {
                    "displayName": "enforce owners of given subscription",
                    "principalIds": "[parameters('owners')]",
                    "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7"
                  },
                  "type": "Microsoft.Blueprint/blueprints/versions/artifacts"
                }
              }
            }
          },
          "Sub-ARMTemplateArtifact": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "artifactName": "storageTemplate",
              "blueprintName": "simpleBlueprint",
              "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
              "versionId": "V2"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/V2/artifacts/storageTemplate",
                  "kind": "template",
                  "name": "storageTemplate",
                  "properties": {
                    "parameters": {
                      "storageAccountType": {
                        "value": "[parameters('storageAccountType')]"
                      }
                    },
                    "resourceGroup": "storageRG",
                    "template": {
                      "contentVersion": "1.0.0.0",
                      "outputs": {
                        "storageAccountName": {
                          "type": "string",
                          "value": "[variables('storageAccountName')]"
                        }
                      },
                      "parameters": {
                        "storageAccountType": {
                          "allowedValues": [
                            "Standard_LRS",
                            "Standard_GRS",
                            "Standard_ZRS",
                            "Premium_LRS"
                          ],
                          "defaultValue": "Standard_LRS",
                          "metadata": {
                            "description": "Storage Account type"
                          },
                          "type": "string"
                        }
                      },
                      "resources": [
                        {
                          "apiVersion": "2016-01-01",
                          "kind": "Storage",
                          "location": "[resourceGroup().location]",
                          "name": "[variables('storageAccountName')]",
                          "properties": {},
                          "sku": {
                            "name": "[parameters('storageAccountType')]"
                          },
                          "type": "Microsoft.Storage/storageAccounts"
                        }
                      ],
                      "variables": {
                        "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]"
                      }
                    }
                  },
                  "type": "Microsoft.Blueprint/blueprints/versions/artifacts"
                }
              }
            }
          },
          "Sub-PolicyAssignmentArtifact": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "artifactName": "costCenterPolicy",
              "blueprintName": "simpleBlueprint",
              "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
              "versionId": "V2"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/V2/artifacts/costCenterPolicy",
                  "kind": "policyAssignment",
                  "name": "costCenterPolicy",
                  "properties": {
                    "displayName": "force costCenter tag on all resources",
                    "parameters": {
                      "tagName": {
                        "value": "costCenter"
                      },
                      "tagValue": {
                        "value": "[parameter('costCenter')]"
                      }
                    },
                    "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62"
                  },
                  "type": "Microsoft.Blueprint/blueprints/versions/artifacts"
                }
              }
            }
          },
          "Sub-RoleAssignmentArtifact": {
            "parameters": {
              "api-version": "2018-11-01-preview",
              "artifactName": "ownerAssignment",
              "blueprintName": "simpleBlueprint",
              "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
              "versionId": "V2"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/V2/artifacts/ownerAssignment",
                  "kind": "roleAssignment",
                  "name": "ownerAssignment",
                  "properties": {
                    "displayName": "enforce owners of given subscription",
                    "principalIds": "[parameters('owners')]",
                    "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7"
                  },
                  "type": "Microsoft.Blueprint/blueprints/versions/artifacts"
                }
              }
            }
          }
        }
      }
    }
  },
  "definitions": {
    "Artifact": {
      "allOf": [
        {
          "$ref": "#/definitions/AzureResourceBase"
        }
      ],
      "description": "Represents a blueprint artifact.",
      "discriminator": "kind",
      "properties": {
        "kind": {
          "description": "Specifies the kind of blueprint artifact.",
          "enum": [
            "template",
            "roleAssignment",
            "policyAssignment"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "ArtifactKind"
          }
        }
      },
      "required": [
        "kind"
      ],
      "type": "object"
    },
    "ArtifactList": {
      "description": "List of blueprint artifacts.",
      "properties": {
        "nextLink": {
          "description": "Link to the next page of results.",
          "readOnly": true,
          "type": "string"
        },
        "value": {
          "description": "List of blueprint artifacts.",
          "items": {
            "$ref": "#/definitions/Artifact"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ArtifactPropertiesBase": {
      "description": "Common properties shared by different artifacts.",
      "properties": {
        "dependsOn": {
          "description": "Artifacts which need to be deployed before the specified artifact.",
          "items": {
            "description": "ID of peer artifact.",
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object",
      "x-ms-external": true
    },
    "AzureResourceBase": {
      "description": "Common properties for all Azure resources.",
      "properties": {
        "id": {
          "description": "String Id used to locate any resource on Azure.",
          "readOnly": true,
          "type": "string"
        },
        "name": {
          "description": "Name of this resource.",
          "readOnly": true,
          "type": "string"
        },
        "type": {
          "description": "Type of this resource.",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-azure-resource": true
    },
    "Blueprint": {
      "allOf": [
        {
          "$ref": "#/definitions/AzureResourceBase"
        }
      ],
      "description": "Represents a Blueprint definition.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/BlueprintProperties",
          "description": "Detailed properties for blueprint definition.",
          "x-ms-client-flatten": true
        }
      },
      "required": [
        "properties"
      ],
      "type": "object"
    },
    "BlueprintList": {
      "description": "List of blueprint definitions.",
      "properties": {
        "nextLink": {
          "description": "Link to the next page of results.",
          "readOnly": true,
          "type": "string"
        },
        "value": {
          "description": "List of blueprint definitions.",
          "items": {
            "$ref": "#/definitions/Blueprint"
          },
          "type": "array"
        }
      },
      "title": "BlueprintList",
      "type": "object"
    },
    "BlueprintProperties": {
      "allOf": [
        {
          "$ref": "#/definitions/SharedBlueprintProperties"
        }
      ],
      "description": "Schema for blueprint definition properties.",
      "properties": {
        "layout": {
          "description": "Layout view of the blueprint definition for UI reference.",
          "type": "object"
        },
        "versions": {
          "description": "Published versions of this blueprint definition.",
          "type": "object"
        }
      },
      "required": [
        "targetScope"
      ],
      "type": "object",
      "x-ms-external": true
    },
    "BlueprintResourcePropertiesBase": {
      "description": "Shared properties between all blueprint resources.",
      "properties": {
        "description": {
          "description": "Multi-line explain this resource.",
          "maxLength": 500,
          "type": "string"
        },
        "displayName": {
          "description": "One-liner string explain this resource.",
          "maxLength": 256,
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-external": true
    },
    "BlueprintResourceStatusBase": {
      "description": "Shared status properties between all blueprint resources.",
      "properties": {
        "lastModified": {
          "description": "Last modified time of this blueprint definition.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "timeCreated": {
          "description": "Creation time of this blueprint definition.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "BlueprintStatus": {
      "allOf": [
        {
          "$ref": "#/definitions/BlueprintResourceStatusBase"
        }
      ],
      "description": "The status of the blueprint. This field is readonly.",
      "properties": {},
      "type": "object"
    },
    "ParameterDefinition": {
      "description": "Represent a parameter with constrains and metadata.",
      "properties": {
        "allowedValues": {
          "description": "Array of allowed values for this parameter.",
          "items": {
            "description": "Allowed value."
          },
          "type": "array"
        },
        "defaultValue": {
          "description": "Default Value for this parameter."
        },
        "metadata": {
          "$ref": "#/definitions/ParameterDefinitionMetadata",
          "description": "User-friendly properties for this parameter.",
          "x-ms-client-flatten": true
        },
        "type": {
          "description": "Allowed data types for Resource Manager template parameters.",
          "enum": [
            "string",
            "array",
            "bool",
            "int",
            "object",
            "secureObject",
            "secureString"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "TemplateParameterType"
          }
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    },
    "ParameterDefinitionCollection": {
      "additionalProperties": {
        "$ref": "#/definitions/ParameterDefinition",
        "description": "Named collection of parameter metadata."
      },
      "description": "A dictionary hold parameter name and its metadata.",
      "properties": {},
      "type": "object"
    },
    "ParameterDefinitionMetadata": {
      "description": "User-friendly properties for this parameter.",
      "properties": {
        "description": {
          "description": "Description of this parameter/resourceGroup.",
          "maxLength": 500,
          "type": "string"
        },
        "displayName": {
          "description": "DisplayName of this parameter/resourceGroup.",
          "maxLength": 256,
          "type": "string"
        },
        "strongType": {
          "description": "StrongType for UI to render rich experience during blueprint assignment. Supported strong types are resourceType, principalId and location.",
          "maxLength": 64,
          "type": "string"
        }
      },
      "type": "object"
    },
    "ParameterValue": {
      "description": "Value for the specified parameter. Can be either 'value' or 'reference' but not both.",
      "properties": {
        "reference": {
          "$ref": "#/definitions/SecretValueReference",
          "description": "Parameter value as reference type."
        },
        "value": {
          "description": "Parameter value as value type."
        }
      },
      "type": "object"
    },
    "ParameterValueCollection": {
      "additionalProperties": {
        "$ref": "#/definitions/ParameterValue",
        "description": "Key/Value pair of parameter fulfillment."
      },
      "description": "A dictionary for parameters and their corresponding values.",
      "properties": {},
      "type": "object"
    },
    "PolicyAssignmentArtifact": {
      "allOf": [
        {
          "$ref": "#/definitions/Artifact"
        }
      ],
      "description": "Blueprint artifact that applies a Policy assignment.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/PolicyAssignmentArtifactProperties",
          "description": "properties for policyAssignment Artifact",
          "x-ms-client-flatten": true
        }
      },
      "required": [
        "properties"
      ],
      "type": "object",
      "x-ms-discriminator-value": "policyAssignment"
    },
    "PolicyAssignmentArtifactProperties": {
      "allOf": [
        {
          "$ref": "#/definitions/BlueprintResourcePropertiesBase"
        },
        {
          "$ref": "#/definitions/ArtifactPropertiesBase"
        }
      ],
      "description": "Properties of a Policy assignment blueprint artifact.",
      "properties": {
        "parameters": {
          "$ref": "#/definitions/ParameterValueCollection",
          "description": "Parameter values for the policy definition."
        },
        "policyDefinitionId": {
          "description": "Azure resource ID of the policy definition.",
          "type": "string"
        },
        "resourceGroup": {
          "description": "Name of the resource group placeholder to which the policy will be assigned.",
          "type": "string"
        }
      },
      "required": [
        "policyDefinitionId",
        "parameters"
      ],
      "type": "object"
    },
    "PublishedBlueprint": {
      "allOf": [
        {
          "$ref": "#/definitions/AzureResourceBase"
        }
      ],
      "description": "Represents a published blueprint.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/PublishedBlueprintProperties",
          "description": "Detailed properties for published blueprint.",
          "x-ms-client-flatten": true
        }
      },
      "required": [
        "properties"
      ],
      "type": "object"
    },
    "PublishedBlueprintList": {
      "description": "List of published blueprint definitions.",
      "properties": {
        "nextLink": {
          "description": "Link to the next page of results.",
          "readOnly": true,
          "type": "string"
        },
        "value": {
          "description": "List of published blueprint definitions.",
          "items": {
            "$ref": "#/definitions/PublishedBlueprint"
          },
          "type": "array"
        }
      },
      "title": "BlueprintList",
      "type": "object"
    },
    "PublishedBlueprintProperties": {
      "allOf": [
        {
          "$ref": "#/definitions/SharedBlueprintProperties"
        }
      ],
      "description": "Schema for published blueprint definition properties.",
      "properties": {
        "blueprintName": {
          "description": "Name of the published blueprint definition.",
          "type": "string"
        },
        "changeNotes": {
          "description": "Version-specific change notes.",
          "maxLength": 500,
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-external": true
    },
    "ResourceGroupDefinition": {
      "description": "Represents an Azure resource group in a blueprint definition.",
      "properties": {
        "dependsOn": {
          "description": "Artifacts which need to be deployed before this resource group.",
          "items": {
            "description": "Name of peer artifact.",
            "type": "string"
          },
          "type": "array"
        },
        "location": {
          "description": "Location of this resourceGroup. Leave empty if the resource group location will be specified during the blueprint assignment.",
          "maxLength": 90,
          "type": "string"
        },
        "metadata": {
          "$ref": "#/definitions/ParameterDefinitionMetadata",
          "description": "User-friendly properties for this resource group.",
          "x-ms-client-flatten": true
        },
        "name": {
          "description": "Name of this resourceGroup. Leave empty if the resource group name will be specified during the blueprint assignment.",
          "maxLength": 90,
          "minLength": 1,
          "type": "string"
        },
        "tags": {
          "$ref": "#/definitions/ResourceGroupTagCollection",
          "description": "Tags to be assigned to this resource group."
        }
      },
      "type": "object"
    },
    "ResourceGroupDefinitionCollection": {
      "additionalProperties": {
        "$ref": "#/definitions/ResourceGroupDefinition",
        "description": "Named collection for resourceGroupDefinition."
      },
      "description": "A dictionary which maps resource group placeholders to the resource groups which will be created.",
      "properties": {},
      "type": "object"
    },
    "ResourceGroupTagCollection": {
      "additionalProperties": {
        "type": "string"
      },
      "description": "A dictionary of resource group tag values.",
      "properties": {},
      "type": "object"
    },
    "ResourceGroupValue": {
      "description": "Represents an Azure resource group.",
      "properties": {
        "location": {
          "description": "Location of the resource group.",
          "type": "string"
        },
        "name": {
          "description": "Name of the resource group.",
          "maxLength": 90,
          "minLength": 1,
          "type": "string"
        }
      },
      "type": "object"
    },
    "ResourceGroupValueCollection": {
      "additionalProperties": {
        "$ref": "#/definitions/ResourceGroupValue"
      },
      "description": "A dictionary which maps resource group placeholders to the resource groups which will be created.",
      "properties": {},
      "type": "object"
    },
    "ResourceProviderOperation": {
      "description": "Supported operations of this resource provider.",
      "properties": {
        "display": {
          "description": "Display metadata associated with the operation.",
          "properties": {
            "description": {
              "description": "Description of this operation.",
              "type": "string"
            },
            "operation": {
              "description": "Type of operation: get, read, delete, etc.",
              "type": "string"
            },
            "provider": {
              "description": "Resource provider: Microsoft Blueprint.",
              "type": "string"
            },
            "resource": {
              "description": "Resource on which the operation is performed.",
              "type": "string"
            }
          }
        },
        "name": {
          "description": "Operation name, in format of {provider}/{resource}/{operation}",
          "type": "string"
        }
      },
      "readOnly": true
    },
    "ResourceProviderOperationList": {
      "description": "Results of the request to list operations.",
      "properties": {
        "value": {
          "description": "List of operations supported by this resource provider.",
          "items": {
            "$ref": "#/definitions/ResourceProviderOperation"
          },
          "type": "array"
        }
      },
      "readOnly": true
    },
    "RoleAssignmentArtifact": {
      "allOf": [
        {
          "$ref": "#/definitions/Artifact"
        }
      ],
      "description": "Blueprint artifact that applies a Role assignment.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/RoleAssignmentArtifactProperties",
          "description": "Properties for a Role assignment blueprint artifact.",
          "x-ms-client-flatten": true
        }
      },
      "required": [
        "properties"
      ],
      "type": "object",
      "x-ms-discriminator-value": "roleAssignment"
    },
    "RoleAssignmentArtifactProperties": {
      "allOf": [
        {
          "$ref": "#/definitions/BlueprintResourcePropertiesBase"
        },
        {
          "$ref": "#/definitions/ArtifactPropertiesBase"
        }
      ],
      "description": "Properties of a Role assignment blueprint artifact.",
      "properties": {
        "principalIds": {
          "description": "Array of user or group identities in Azure Active Directory. The roleDefinition will apply to each identity."
        },
        "resourceGroup": {
          "description": "RoleAssignment will be scope to this resourceGroup. If empty, it scopes to the subscription.",
          "type": "string"
        },
        "roleDefinitionId": {
          "description": "Azure resource ID of the RoleDefinition.",
          "type": "string"
        }
      },
      "required": [
        "roleDefinitionId",
        "principalIds"
      ],
      "type": "object"
    },
    "SecretValueReference": {
      "description": "Reference to a Key Vault secret.",
      "properties": {
        "keyVault": {
          "$ref": "#/definitions/keyVaultReference",
          "description": "Specifies the reference to a given Azure Key Vault."
        },
        "secretName": {
          "description": "Name of the secret.",
          "type": "string"
        },
        "secretVersion": {
          "description": "The version of the secret to use. If left blank, the latest version of the secret is used.",
          "type": "string"
        }
      },
      "required": [
        "keyVault",
        "secretName"
      ],
      "type": "object"
    },
    "SharedBlueprintProperties": {
      "allOf": [
        {
          "$ref": "#/definitions/BlueprintResourcePropertiesBase"
        }
      ],
      "description": "Shared Schema for both blueprintProperties and publishedBlueprintProperties.",
      "properties": {
        "parameters": {
          "$ref": "#/definitions/ParameterDefinitionCollection",
          "description": "Parameters required by this blueprint definition."
        },
        "resourceGroups": {
          "$ref": "#/definitions/ResourceGroupDefinitionCollection",
          "description": "Resource group placeholders defined by this blueprint definition."
        },
        "status": {
          "$ref": "#/definitions/BlueprintStatus",
          "description": "Status of the blueprint. This field is readonly.",
          "readOnly": true
        },
        "targetScope": {
          "description": "The scope where this blueprint definition can be assigned.",
          "enum": [
            "subscription",
            "managementGroup"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "BlueprintTargetScope",
            "values": [
              {
                "description": "The blueprint targets a subscription during blueprint assignment.",
                "value": "subscription"
              },
              {
                "description": "The blueprint targets a management group during blueprint assignment. This is reserved for future use.",
                "value": "managementGroup"
              }
            ]
          }
        }
      },
      "type": "object",
      "x-ms-external": true
    },
    "TemplateArtifact": {
      "allOf": [
        {
          "$ref": "#/definitions/Artifact"
        }
      ],
      "description": "Blueprint artifact that deploys a Resource Manager template.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/TemplateArtifactProperties",
          "description": "Properties for a Resource Manager template blueprint artifact.",
          "x-ms-client-flatten": true
        }
      },
      "required": [
        "properties"
      ],
      "type": "object",
      "x-ms-discriminator-value": "template"
    },
    "TemplateArtifactProperties": {
      "allOf": [
        {
          "$ref": "#/definitions/BlueprintResourcePropertiesBase"
        },
        {
          "$ref": "#/definitions/ArtifactPropertiesBase"
        }
      ],
      "description": "Properties of a Resource Manager template blueprint artifact.",
      "properties": {
        "parameters": {
          "$ref": "#/definitions/ParameterValueCollection",
          "description": "Resource Manager template blueprint artifact parameter values."
        },
        "resourceGroup": {
          "description": "If applicable, the name of the resource group placeholder to which the Resource Manager template blueprint artifact will be deployed.",
          "type": "string"
        },
        "template": {
          "description": "The Resource Manager template blueprint artifact body.",
          "type": "object"
        }
      },
      "required": [
        "template",
        "parameters"
      ],
      "type": "object"
    },
    "keyVaultReference": {
      "description": "Specifies the link to a Key Vault.",
      "properties": {
        "id": {
          "description": "Azure resource ID of the Key Vault.",
          "type": "string"
        }
      },
      "required": [
        "id"
      ],
      "type": "object"
    }
  }
}