diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintAssignment.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintAssignment.json new file mode 100644 index 000000000000..43e9485f3f17 --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintAssignment.json @@ -0,0 +1,556 @@ +{ + "swagger": "2.0", + "info": { + "title": "BlueprintClient", + "description": "Azure Blueprint Client.", + "version": "2018-11-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/{scope}/providers/Microsoft.Blueprint/blueprintAssignments/{assignmentName}": { + "put": { + "tags": [ + "Assignment" + ], + "operationId": "Assignments_CreateOrUpdate", + "description": "Create or update a Blueprint assignment.", + "x-ms-examples": { + "Assignment": { + "$ref": "./examples/BlueprintAssignment_Create.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/AssignmentNameParameter" + }, + { + "name": "assignment", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Assignment" + }, + "description": "assignment object to save." + } + ], + "responses": { + "201": { + "description": "Created - Blueprint assignment saved", + "schema": { + "$ref": "#/definitions/Assignment" + } + } + } + }, + "get": { + "tags": [ + "Assignment" + ], + "operationId": "Assignments_Get", + "description": "Get a Blueprint assignment.", + "x-ms-examples": { + "Assignment": { + "$ref": "./examples/BlueprintAssignment_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/AssignmentNameParameter" + } + ], + "responses": { + "200": { + "description": "OK - Blueprint assignment retrieved.", + "schema": { + "$ref": "#/definitions/Assignment" + } + } + } + }, + "delete": { + "tags": [ + "Assignment" + ], + "operationId": "Assignments_Delete", + "description": "Delete a Blueprint assignment.", + "x-ms-examples": { + "Assignment_Delete": { + "$ref": "./examples/BlueprintAssignment_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/AssignmentNameParameter" + } + ], + "responses": { + "202": { + "description": "OK - Blueprint assignment deleted.", + "schema": { + "$ref": "#/definitions/Assignment" + } + }, + "204": { + "description": "no content" + } + } + } + }, + "/{scope}/providers/Microsoft.Blueprint/blueprintAssignments": { + "get": { + "tags": [ + "Assignment" + ], + "operationId": "Assignments_List", + "description": "List Blueprint assignments within a subscription.", + "x-ms-examples": { + "Assignment": { + "$ref": "./examples/BlueprintAssignment_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ScopeParameter" + } + ], + "responses": { + "200": { + "description": "OK - all Blueprint assignment retrieved.", + "schema": { + "$ref": "#/definitions/AssignmentList" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "Assignment": { + "type": "object", + "description": "Represents a Blueprint assignment.", + "properties": { + "identity": { + "description": "Managed Service Identity for this Blueprint assignment", + "$ref": "#/definitions/ManagedServiceIdentity" + }, + "properties": { + "description": "Properties for Assignment object.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/AssignmentProperties" + } + }, + "required": [ + "identity", + "properties" + ], + "allOf": [ + { "$ref": "#/definitions/TrackedResource" } + ] + }, + "AssignmentList": { + "type": "object", + "description": "List of Blueprint assignments", + "properties": { + "value": { + "type": "array", + "description": "List of Blueprint assignments.", + "items": { + "$ref": "#/definitions/Assignment" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "UserAssignedIdentity": { + "type": "object", + "description": "User assigned Identity", + "properties": { + "principalId": { + "type": "string", + "description": "Azure Active Directory principal ID associated with this Identity." + }, + "clientId": { + "type": "string", + "description": "Client App Id associated with this identity." + } + } + }, + "ManagedServiceIdentity": { + "type": "object", + "description": "Managed Service Identity", + "properties": { + "type": { + "type": "string", + "description": "Type of the Managed Service Identity.", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned" + ], + "x-ms-enum": { + "name": "ManagedServiceIdentityType", + "modelAsString": true + } + }, + "principalId": { + "type": "string", + "description": "Azure Active Directory principal ID associated with this Identity." + }, + "tenantId": { + "type": "string", + "description": "ID of the Azure Active Directory." + }, + "userAssignedIdentities": { + "type": "object", + "description": "The list of user identities associated with the resource, key will be Azure resource Id of the ManagedIdentity.", + "additionalProperties": { + "description": "User assigned Identity", + "$ref": "#/definitions/UserAssignedIdentity" + } + } + }, + "required": [ + "type" + ] + }, + "AssignmentStatus": { + "description": "The status of Blueprint assignment. This field is readonly.", + "type": "object", + "properties": { + }, + "allOf": [ + { "$ref": "#/definitions/BlueprintResourceStatusBase" } + ] + }, + "AssignmentLockSettings": { + "description": "Defines how Blueprint-managed resources will be locked.", + "type": "object", + "properties": { + "mode": { + "type": "string", + "description": "Lock mode.", + "enum": [ + "None", + "AllResources" + ], + "x-ms-enum": { + "name": "AssignmentLockMode", + "modelAsString": true + } + } + } + }, + "AssignmentProperties": { + "type": "object", + "description": "Detailed properties for Assignment.", + "properties": { + "blueprintId": { + "type": "string", + "description": "ID of the Blueprint definition resource." + }, + "parameters": { + "$ref": "#/definitions/ParameterValueCollection", + "description": "Blueprint parameter values." + }, + "resourceGroups": { + "$ref": "#/definitions/ResourceGroupValueCollection", + "description": "Names and locations of resource group placeholders." + }, + "status": { + "description": "Status of Blueprint assignment. This field is readonly.", + "readOnly": true, + "$ref": "#/definitions/AssignmentStatus" + }, + "locks": { + "description": "Defines how Blueprint-managed resources will be locked.", + "$ref": "#/definitions/AssignmentLockSettings" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "State of the assignment.", + "enum": [ + "creating", + "validating", + "waiting", + "deploying", + "cancelling", + "locking", + "succeeded", + "failed", + "canceled", + "deleting" + ], + "x-ms-enum": { + "name": "AssignmentProvisioningState", + "modelAsString": true + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/BlueprintResourcePropertiesBase" + } + ], + "required": [ + "parameters", + "resourceGroups" + ] + }, + "ParameterValueCollection": { + "description": "A dictionary for parameters and their corresponding values.", + "type": "object", + "properties": {}, + "additionalProperties": { + "description": "keyValue pair of parameter fullfillment.", + "$ref": "#/definitions/ParameterValueBase" + } + }, + "ParameterValueBase": { + "description": "Base class for ParameterValue.", + "type": "object", + "properties": { + "description": { + "description": "Optional property, just to establish ParameterValueBase as a BaseClass.", + "type": "string" + } + } + }, + "ParameterValue": { + "description": "Value for the specified parameter.", + "type": "object", + "properties": { + "value": { + "description": "actual value." + } + }, + "required": [ "value" ], + "allOf": [ + { "$ref": "#/definitions/ParameterValueBase" } + ] + }, + "SecretReferenceParameterValue": { + "description": "The reference to a secret, if the parameter should be protected.", + "type": "object", + "properties": { + "reference": { + "description": "Specifies the reference.", + "$ref": "#/definitions/SecretValueReference" + } + }, + "required": [ "reference" ], + "allOf": [ + { "$ref": "#/definitions/ParameterValueBase" } + ] + }, + "SecretValueReference": { + "description": "Reference to a KeyVault secret.", + "type": "object", + "properties": { + "keyVault": { + "description": "Specifies the reference to a given Azure KeyVault.", + "$ref": "#/definitions/keyVaultReference" + }, + "secretName": { + "description": "Name of the secret.", + "type": "string" + }, + "secretVersion": { + "description": "Version of the secret, (if there are multiple versions)", + "type": "string" + } + }, + "required": [ + "keyVault", + "secretName" + ] + }, + "keyVaultReference": { + "description": "Specifies the link to a KeyVault.", + "type": "object", + "properties": { + "id": { + "description": "Azure resource ID of the KeyVault.", + "type": "string" + } + }, + "required": [ "id" ] + }, + "ResourceGroupValueCollection": { + "description": "A dictionary which maps resource group placeholders to the resource groups which will be created.", + "type": "object", + "properties": {}, + "additionalProperties": { + "$ref": "#/definitions/ResourceGroupValue" + } + }, + "ResourceGroupValue": { + "description": "Represents an Azure resource group.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the resource group", + "minLength": 1, + "maxLength": 90 + }, + "location": { + "type": "string", + "description": "Location of the resource group" + } + } + }, + "TrackedResource": { + "description": "Common properties for all Azure tracked resources.", + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "The location of this Blueprint assignment.", + "x-ms-mutability": [ "read", "create" ] + } + }, + "required": [ "location" ], + "allOf": [ + { "$ref": "#/definitions/AzureResourceBase" } + ] + }, + "AzureResourceBase": { + "description": "Common properties for all Azure resources.", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "String Id used to locate any resource on Azure." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of this resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Name of this resource." + } + } + }, + "BlueprintResourcePropertiesBase": { + "description": "Shared properties between all Blueprint resources.", + "type": "object", + "x-ms-external": true, + "properties": { + "displayName": { + "type": "string", + "description": "One-liner string explain this resource.", + "maxLength": 256 + }, + "description": { + "type": "string", + "description": "Multi-line explain this resource.", + "maxLength": 500 + } + } + }, + "BlueprintResourceStatusBase": { + "description": "Shared status properties between all Blueprint resources.", + "type": "object", + "properties": { + "timeCreated": { + "type": "string", + "readOnly": true, + "description": "Creation time of this blueprint." + }, + "lastModified": { + "type": "string", + "readOnly": true, + "description": "Last modified time of this blueprint." + } + } + } + }, + "parameters": { + "ScopeParameter": { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope of the resource. Valid scopes are: management group (format: '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: '/subscriptions/{subscriptionId}').", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + }, + "AssignmentNameParameter": { + "name": "assignmentName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "name of the assignment." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "x-ms-parameter-location": "client", + "description": "Client Api Version." + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintDefinition.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintDefinition.json new file mode 100644 index 000000000000..631b483b9163 --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintDefinition.json @@ -0,0 +1,1370 @@ +{ + "swagger": "2.0", + "info": { + "title": "BlueprintClient", + "description": "Azure Blueprint Client.", + "version": "2018-11-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/{scope}/providers/Microsoft.Blueprint/blueprints/{blueprintName}": { + "put": { + "tags": [ + "Blueprint" + ], + "operationId": "Blueprints_CreateOrUpdate", + "description": "Create or update Blueprint definition.", + "x-ms-examples": { + "SubscriptionBlueprint": { + "$ref": "./examples/subscriptionBPDef/Blueprint_Create.json" + }, + "ManagementGroupBlueprint": { + "$ref": "./examples/managementGroupBPDef/Blueprint_Create.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/BlueprintNameParameter" + }, + { + "name": "blueprint", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Blueprint" + }, + "description": "Blueprint definition." + } + ], + "responses": { + "201": { + "description": "Created -- Blueprint definition saved.", + "schema": { + "$ref": "#/definitions/Blueprint" + } + } + } + }, + "get": { + "tags": [ + "Blueprint" + ], + "operationId": "Blueprints_Get", + "description": "Get a blueprint definition.", + "x-ms-examples": { + "SubscriptionBlueprint": { + "$ref": "./examples/subscriptionBPDef/Blueprint_Get.json" + }, + "ManagementGroupBlueprint": { + "$ref": "./examples/managementGroupBPDef/Blueprint_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/BlueprintNameParameter" + } + ], + "responses": { + "200": { + "description": "OK -- blueprint definition retrieved.", + "schema": { + "$ref": "#/definitions/Blueprint" + } + } + } + }, + "delete": { + "tags": [ + "Blueprint" + ], + "operationId": "Blueprints_Delete", + "description": "Delete a blueprint definition.", + "x-ms-examples": { + "SubscriptionBlueprint": { + "$ref": "./examples/subscriptionBPDef/Blueprint_Delete.json" + }, + "ManagementGroupBlueprint": { + "$ref": "./examples/managementGroupBPDef/Blueprint_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/BlueprintNameParameter" + } + ], + "responses": { + "200": { + "description": "OK -- blueprint deinition deleted", + "schema": { + "$ref": "#/definitions/Blueprint" + } + }, + "204": { + "description": "no content" + } + } + } + }, + "/{scope}/providers/Microsoft.Blueprint/blueprints": { + "get": { + "tags": [ + "Blueprint" + ], + "operationId": "Blueprints_List", + "description": "Create or update blueprint definition.", + "x-ms-examples": { + "SubscriptionBlueprint": { + "$ref": "./examples/subscriptionBPDef/Blueprint_List.json" + }, + "ManagementGroupBlueprint": { + "$ref": "./examples/managementGroupBPDef/Blueprint_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ScopeParameter" + } + ], + "responses": { + "200": { + "description": "OK -- retrieved Blueprints in this ManagementGroup.", + "schema": { + "$ref": "#/definitions/BlueprintList" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{scope}/providers/Microsoft.Blueprint/blueprints/{blueprintName}/artifacts/{artifactName}": { + "put": { + "tags": [ + "Artifact" + ], + "operationId": "Artifacts_CreateOrUpdate", + "description": "Create or update Blueprint artifact.", + "x-ms-examples": { + "Sub-ARMTemplateArtifact": { + "$ref": "./examples/subscriptionBPDef/ARMTemplateArtifact_Create.json" + }, + "Sub-PolicyAssignmentArtifact": { + "$ref": "./examples/subscriptionBPDef/PolicyAssignmentArtifact_Create.json" + }, + "Sub-RoleAssignmentArtifact": { + "$ref": "./examples/subscriptionBPDef/RoleAssignmentArtifact_Create.json" + }, + "MG-ARMTemplateArtifact": { + "$ref": "./examples/managementGroupBPDef/ARMTemplateArtifact_Create.json" + }, + "MG-PolicyAssignmentArtifact": { + "$ref": "./examples/managementGroupBPDef/PolicyAssignmentArtifact_Create.json" + }, + "MG-RoleAssignmentArtifact": { + "$ref": "./examples/managementGroupBPDef/RoleAssignmentArtifact_Create.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/BlueprintNameParameter" + }, + { + "$ref": "#/parameters/ArtifactNameParameter" + }, + { + "name": "artifact", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Artifact" + }, + "description": "Blueprint artifact to save." + } + ], + "responses": { + "201": { + "description": "Created -- Blueprint artifact created/updated.", + "schema": { + "$ref": "#/definitions/Artifact" + } + } + } + }, + "get": { + "tags": [ + "Artifact" + ], + "operationId": "Artifacts_Get", + "description": "Get a Blueprint artifact.", + "x-ms-examples": { + "Sub-ARMTemplateArtifact": { + "$ref": "./examples/subscriptionBPDef/ARMTemplateArtifact_Get.json" + }, + "Sub-PolicyAssignmentArtifact": { + "$ref": "./examples/subscriptionBPDef/PolicyAssignmentArtifact_Get.json" + }, + "Sub-RoleAssignmentArtifact": { + "$ref": "./examples/subscriptionBPDef/RoleAssignmentArtifact_Get.json" + }, + "MG-ARMTemplateArtifact": { + "$ref": "./examples/managementGroupBPDef/ARMTemplateArtifact_Get.json" + }, + "MG-PolicyAssignmentArtifact": { + "$ref": "./examples/managementGroupBPDef/PolicyAssignmentArtifact_Get.json" + }, + "MG-RoleAssignmentArtifact": { + "$ref": "./examples/managementGroupBPDef/RoleAssignmentArtifact_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/BlueprintNameParameter" + }, + { + "$ref": "#/parameters/ArtifactNameParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Blueprint artifact retrieved.", + "schema": { + "$ref": "#/definitions/Artifact" + } + } + } + }, + "delete": { + "tags": [ + "Artifact" + ], + "operationId": "Artifacts_Delete", + "description": "Delete a Blueprint artifact.", + "x-ms-examples": { + "Sub-ARMTemplateArtifact": { + "$ref": "./examples/subscriptionBPDef/ARMTemplateArtifact_Delete.json" + }, + "Sub-PolicyAssignmentArtifact": { + "$ref": "./examples/subscriptionBPDef/PolicyAssignmentArtifact_Delete.json" + }, + "Sub-RoleAssignmentArtifact": { + "$ref": "./examples/subscriptionBPDef/RoleAssignmentArtifact_Delete.json" + }, + "MG-ARMTemplateArtifact": { + "$ref": "./examples/managementGroupBPDef/ARMTemplateArtifact_Delete.json" + }, + "MG-PolicyAssignmentArtifact": { + "$ref": "./examples/managementGroupBPDef/PolicyAssignmentArtifact_Delete.json" + }, + "MG-RoleAssignmentArtifact": { + "$ref": "./examples/managementGroupBPDef/RoleAssignmentArtifact_Delete.json" + } + }, + "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" + } + } + } + }, + "/{scope}/providers/Microsoft.Blueprint/blueprints/{blueprintName}/artifacts": { + "get": { + "tags": [ + "Artifact" + ], + "operationId": "Artifacts_List", + "description": "List artifacts for a given Blueprint.", + "x-ms-examples": { + "Sub-ArtifactList": { + "$ref": "./examples/subscriptionBPDef/Artifact_List.json" + }, + "MG-ArtifactList": { + "$ref": "./examples/managementGroupBPDef/Artifact_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/BlueprintNameParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Blueprint artifacts retrieved.", + "schema": { + "$ref": "#/definitions/ArtifactList" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{scope}/providers/Microsoft.Blueprint/blueprints/{blueprintName}/versions/{versionId}": { + "put": { + "tags": [ + "PublishedBlueprint" + ], + "operationId": "PublishedBlueprints_Create", + "description": "Publish a new version of the Blueprint with the latest artifacts. Published Blueprints are immutable.", + "x-ms-examples": { + "PublishedSubscriptionBlueprint_Publish": { + "$ref": "./examples/subscriptionBPDef/SealedBlueprint_Publish.json" + }, + "PublishedManagementGroupBlueprint_Publish": { + "$ref": "./examples/managementGroupBPDef/SealedBlueprint_Publish.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/BlueprintNameParameter" + }, + { + "$ref": "#/parameters/PublishedBlueprintVersionIdParameter" + } + ], + "responses": { + "201": { + "description": "Created -- published Blueprint.", + "schema": { + "$ref": "#/definitions/PublishedBlueprint" + } + } + } + }, + "get": { + "tags": [ + "PublishedBlueprint" + ], + "operationId": "PublishedBlueprints_Get", + "description": "Get a published Blueprint.", + "x-ms-examples": { + "PublishedSubscriptionBlueprint": { + "$ref": "./examples/subscriptionBPDef/SealedBlueprint_Get.json" + }, + "PublishedManagementGroupBlueprint": { + "$ref": "./examples/managementGroupBPDef/SealedBlueprint_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/BlueprintNameParameter" + }, + { + "$ref": "#/parameters/PublishedBlueprintVersionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- published Blueprint retrieved.", + "schema": { + "$ref": "#/definitions/PublishedBlueprint" + } + } + } + }, + "delete": { + "tags": [ + "PublishedBlueprint" + ], + "operationId": "PublishedBlueprints_Delete", + "description": "Delete a published Blueprint.", + "x-ms-examples": { + "PublishedSubscriptionBlueprint": { + "$ref": "./examples/subscriptionBPDef/SealedBlueprint_Delete.json" + }, + "PublishedManagementGroupBlueprint": { + "$ref": "./examples/managementGroupBPDef/SealedBlueprint_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/BlueprintNameParameter" + }, + { + "$ref": "#/parameters/PublishedBlueprintVersionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- published Blueprint deleted.", + "schema": { + "$ref": "#/definitions/PublishedBlueprint" + } + }, + "204": { + "description": "No Content" + } + } + } + }, + "/{scope}/providers/Microsoft.Blueprint/blueprints/{blueprintName}/versions": { + "get": { + "tags": [ + "PublishedBlueprint" + ], + "operationId": "PublishedBlueprints_List", + "description": "List published versions of given Blueprint.", + "x-ms-examples": { + "PublishedSubscriptionBlueprint": { + "$ref": "./examples/subscriptionBPDef/SealedBlueprint_List.json" + }, + "PublishedManagementGroupBlueprint": { + "$ref": "./examples/managementGroupBPDef/SealedBlueprint_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/BlueprintNameParameter" + } + ], + "responses": { + "200": { + "description": "OK -- all published Blueprint retrieved.", + "schema": { + "$ref": "#/definitions/PublishedBlueprintList" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{scope}/providers/Microsoft.Blueprint/blueprints/{blueprintName}/versions/{versionId}/artifacts/{artifactName}": { + "get": { + "tags": [ + "PublishedArtifact" + ], + "operationId": "PublishedArtifacts_Get", + "description": "Get an artifact for a published Blueprint.", + "x-ms-examples": { + "Sub-ARMTemplateArtifact": { + "$ref": "./examples/subscriptionBPDef/ARMTemplateArtifact_Get.json" + }, + "Sub-PolicyAssignmentArtifact": { + "$ref": "./examples/subscriptionBPDef/PolicyAssignmentArtifact_Get.json" + }, + "Sub-RoleAssignmentArtifact": { + "$ref": "./examples/subscriptionBPDef/RoleAssignmentArtifact_Get.json" + }, + "MG-ARMTemplateArtifact": { + "$ref": "./examples/managementGroupBPDef/ARMTemplateArtifact_Get.json" + }, + "MG-PolicyAssignmentArtifact": { + "$ref": "./examples/managementGroupBPDef/PolicyAssignmentArtifact_Get.json" + }, + "MG-RoleAssignmentArtifact": { + "$ref": "./examples/managementGroupBPDef/RoleAssignmentArtifact_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/BlueprintNameParameter" + }, + { + "$ref": "#/parameters/PublishedBlueprintVersionIdParameter" + }, + { + "$ref": "#/parameters/ArtifactNameParameter" + } + ], + "responses": { + "200": { + "description": "OK -- published artifact retrieved.", + "schema": { + "$ref": "#/definitions/Artifact" + } + } + } + } + }, + "/{scope}/providers/Microsoft.Blueprint/blueprints/{blueprintName}/versions/{versionId}/artifacts": { + "get": { + "tags": [ + "PublishedArtifact" + ], + "operationId": "PublishedArtifacts_List", + "description": "List artifacts for a published Blueprint.", + "x-ms-examples": { + "Sub-ArtifactList": { + "$ref": "./examples/subscriptionBPDef/SealedArtifact_List.json" + }, + "MG-ArtifactList": { + "$ref": "./examples/managementGroupBPDef/SealedArtifact_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/BlueprintNameParameter" + }, + { + "$ref": "#/parameters/PublishedBlueprintVersionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- all published artifact retrieved.", + "schema": { + "$ref": "#/definitions/ArtifactList" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "Blueprint": { + "type": "object", + "description": "Represents a Blueprint definition.", + "allOf": [ + { + "$ref": "#/definitions/AzureResourceBase" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for blueprint", + "x-ms-client-flatten": true, + "$ref": "#/definitions/BlueprintProperties" + } + }, + "required": [ + "properties" + ] + }, + "Artifact": { + "type": "object", + "discriminator": "kind", + "description": "Represents a Blueprint artifact.", + "allOf": [ + { + "$ref": "#/definitions/AzureResourceBase" + } + ], + "properties": { + "kind": { + "type": "string", + "description": "Specifies the kind of Blueprint artifact.", + "enum": [ + "template", + "roleAssignment", + "policyAssignment" + ], + "x-ms-enum": { + "name": "ArtifactKind", + "modelAsString": true + } + } + }, + "required": [ + "kind" + ] + }, + "PublishedBlueprint": { + "type": "object", + "description": "Represents a published Blueprint.", + "allOf": [ + { + "$ref": "#/definitions/AzureResourceBase" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for published Blueprint", + "x-ms-client-flatten": true, + "$ref": "#/definitions/PublishedBlueprintProperties" + } + }, + "required": [ + "properties" + ] + }, + "BlueprintList": { + "type": "object", + "title": "BlueprintList", + "description": "List of Blueprint definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of Blueprint definitions.", + "items": { + "$ref": "#/definitions/Blueprint" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "PublishedBlueprintList": { + "type": "object", + "title": "BlueprintList", + "description": "List of published Blueprints", + "properties": { + "value": { + "type": "array", + "description": "List of published Blueprints.", + "items": { + "$ref": "#/definitions/PublishedBlueprint" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "ArtifactList": { + "type": "object", + "description": "List of Blueprint artifacts", + "properties": { + "value": { + "type": "array", + "description": "List of Blueprint artifacts.", + "items": { + "$ref": "#/definitions/Artifact" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "ResourceProviderOperationList": { + "description": "Result of the request to list operations.", + "readOnly": true, + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceProviderOperation" + }, + "description": "List of operations supported by this resource provider." + } + } + }, + "ResourceProviderOperation": { + "description": "Supported operation of this resource provider.", + "readOnly": true, + "properties": { + "name": { + "description": "Operation name, in format of {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "Display metadata associated with the operation.", + "properties": { + "provider": { + "description": "Resource provider: Microsoft Blueprint.", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed.", + "type": "string" + }, + "operation": { + "description": "Type of operation: get, read, delete, etc.", + "type": "string" + }, + "description": { + "description": "Description of this operation.", + "type": "string" + } + } + } + } + }, + "SharedBlueprintProperties": { + "description": "Shared Schema for both blueprintProperties and publishedBlueprintProperties.", + "type": "object", + "x-ms-external": true, + "properties": { + "status": { + "description": "Status of the Blueprint. This field is readonly.", + "readOnly": true, + "$ref": "#/definitions/BlueprintStatus" + }, + "targetScope": { + "type": "string", + "description": "The scope where this Blueprint can be applied.", + "enum": [ + "subscription", + "managementGroup" + ], + "x-ms-enum": { + "name": "BlueprintTargetScope", + "modelAsString": true + } + }, + "parameters": { + "description": "Parameters required by this Blueprint definition.", + "$ref": "#/definitions/ParameterDefinitionCollection" + }, + "resourceGroups": { + "description": "Resource group placeholders defined by this Blueprint definition.", + "$ref": "#/definitions/ResourceGroupDefinitionCollection" + } + }, + "allOf": [ + { + "$ref": "#/definitions/BlueprintResourcePropertiesBase" + } + ] + }, + "BlueprintProperties": { + "description": "Schema for Blueprint properties.", + "type": "object", + "x-ms-external": true, + "allOf": [ + { "$ref": "#/definitions/SharedBlueprintProperties" } + ], + "properties": { + "versions": { + "type": "object", + "description": "Published versions of this blueprint." + }, + "layout": { + "type": "object", + "description": "Layout view of the blueprint, for UI reference." + } + }, + "required": [ + "targetScope" + ] + }, + "PublishedBlueprintProperties": { + "description": "Schema for published Blueprint properties.", + "type": "object", + "x-ms-external": true, + "allOf": [ + { "$ref": "#/definitions/SharedBlueprintProperties" } + ], + "properties": { + "blueprintName": { + "description": "Name of the Blueprint definition.", + "type": "string" + }, + "changeNotes": { + "description": "Version-specific change notes", + "type": "string", + "maxLength": 500 + } + } + }, + "BlueprintStatus": { + "description": "The status of the blueprint. This field is readonly.", + "type": "object", + "properties": { + }, + "allOf": [ + { "$ref": "#/definitions/BlueprintResourceStatusBase" } + ] + }, + "TemplateArtifactProperties": { + "type": "object", + "description": "Properties of a Template Artifact.", + "properties": { + "template": { + "type": "object", + "description": "The Azure Resource Manager template body." + }, + "resourceGroup": { + "type": "string", + "description": "If applicable, the name of the resource group placeholder to which the template will be deployed." + }, + "parameters": { + "description": "Template parameter values.", + "$ref": "#/definitions/ParameterValueCollection" + } + }, + "allOf": [ + { + "$ref": "#/definitions/BlueprintResourcePropertiesBase" + }, + { + "$ref": "#/definitions/ArtifactPropertiesBase" + } + ], + "required": [ + "template", + "parameters" + ] + }, + "TemplateArtifact": { + "description": "Blueprint artifact deploys Azure resource manager template.", + "type": "object", + "x-ms-discriminator-value": "template", + "properties": { + "properties": { + "description": "Properties for template artifact", + "$ref": "#/definitions/TemplateArtifactProperties", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/Artifact" + } + ], + "required": [ + "properties" + ] + }, + "RoleAssignmentArtifactProperties": { + "type": "object", + "description": "Properties of the Role assignment artifact.", + "properties": { + "roleDefinitionId": { + "type": "string", + "description": "Azure resource ID of the RoleDefinition." + }, + "principalIds": { + "description": "Array of user or group identities in Azure Active Directory. The roleDefinition will apply to these identity." + }, + "resourceGroup": { + "type": "string", + "description": "RoleAssignment will be scope to this resourceGroup, if left empty, it would scope to the subscription." + } + }, + "allOf": [ + { + "$ref": "#/definitions/BlueprintResourcePropertiesBase" + }, + { + "$ref": "#/definitions/ArtifactPropertiesBase" + } + ], + "required": [ + "roleDefinitionId", + "principalIds" + ] + }, + "RoleAssignmentArtifact": { + "description": "Blueprint artifact applies Azure role assignment.", + "type": "object", + "x-ms-discriminator-value": "roleAssignment", + "properties": { + "properties": { + "description": "Properties for roleAssignment artifact.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/RoleAssignmentArtifactProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Artifact" + } + ], + "required": [ + "properties" + ] + }, + "PolicyAssignmentArtifactProperties": { + "type": "object", + "description": "PolicyAssignment properties", + "properties": { + "policyDefinitionId": { + "type": "string", + "description": "Azure resource ID of the policy definition." + }, + "parameters": { + "description": "Parameter values for the policy definition.", + "$ref": "#/definitions/ParameterValueCollection" + }, + "resourceGroup": { + "type": "string", + "description": "Name of the resource group placeholder to which the policy will be assigned." + } + }, + "allOf": [ + { + "$ref": "#/definitions/BlueprintResourcePropertiesBase" + }, + { + "$ref": "#/definitions/ArtifactPropertiesBase" + } + ], + "required": [ + "policyDefinitionId", + "parameters" + ] + }, + "PolicyAssignmentArtifact": { + "description": "Blueprint artifact applies Policy assignments.", + "type": "object", + "x-ms-discriminator-value": "policyAssignment", + "properties": { + "properties": { + "description": "properties for policyAssginment Artifact", + "x-ms-client-flatten": true, + "$ref": "#/definitions/PolicyAssignmentArtifactProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Artifact" + } + ], + "required": [ + "properties" + ] + }, + "ParameterValueCollection": { + "description": "A dictionary for parameters and their corresponding values.", + "type": "object", + "properties": {}, + "additionalProperties": { + "description": "keyValue pair of parameter fullfillment.", + "$ref": "#/definitions/ParameterValueBase" + } + }, + "ParameterValueBase": { + "description": "Base class for ParameterValue.", + "type": "object", + "properties": { + "description": { + "description": "Optional property, just to establish ParameterValueBase as a BaseClass.", + "type": "string" + } + } + }, + "ParameterValue": { + "description": "Value for the specified parameter.", + "type": "object", + "properties": { + "value": { + "description": "actual value." + } + }, + "required": [ "value" ], + "allOf": [ + { "$ref": "#/definitions/ParameterValueBase" } + ] + }, + "SecretReferenceParameterValue": { + "description": "The reference to a secret, if the parameter should be protected.", + "type": "object", + "properties": { + "reference": { + "description": "Specifies the reference.", + "$ref": "#/definitions/SecretValueReference" + } + }, + "required": [ "reference" ], + "allOf": [ + { "$ref": "#/definitions/ParameterValueBase" } + ] + }, + "SecretValueReference": { + "description": "Reference to a KeyVault secret.", + "type": "object", + "properties": { + "keyVault": { + "description": "Specifies the reference to a given Azure KeyVault.", + "$ref": "#/definitions/keyVaultReference" + }, + "secretName": { + "description": "Name of the secret.", + "type": "string" + }, + "secretVersion": { + "description": "Version of the secret, (if there are multiple versions)", + "type": "string" + } + }, + "required": [ + "keyVault", + "secretName" + ] + }, + "keyVaultReference": { + "description": "Specifies the link to a KeyVault.", + "type": "object", + "properties": { + "id": { + "description": "Azure resource ID of the KeyVault.", + "type": "string" + } + }, + "required": [ "id" ] + }, + "ParameterDefinitionCollection": { + "description": "A dictionary hold parameter name and it's metadata.", + "type": "object", + "properties": {}, + "additionalProperties": { + "description": "named collection of parameter metadata.", + "$ref": "#/definitions/ParameterDefinition" + } + }, + "ParameterDefinition": { + "description": "Represent a parameter with constrains and metadata.", + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Allowed data types for Azure Resource Manager template parameters.", + "enum": [ + "string", + "array", + "bool", + "int", + "object", + "secureObject", + "secureString" + ], + "x-ms-enum": { + "name": "TemplateParameterType", + "modelAsString": true + } + }, + "metadata": { + "description": "User-friendly properties for this parameter.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ParameterDefinitionMetadata" + }, + "defaultValue": { + "description": "Default Value for this parameter." + }, + "allowedValues": { + "type": "array", + "description": "Array of allowed values for this parameter.", + "items": { + "description": "Allowed value." + } + } + }, + "required": [ + "type" + ] + }, + "ResourceGroupDefinitionCollection": { + "description": "A dictionary which maps resource group placeholders to the resource groups which will be created.", + "type": "object", + "properties": {}, + "additionalProperties": { + "description": "named collection for resourceGroupDefinition", + "$ref": "#/definitions/ResourceGroupDefinition" + } + }, + "ResourceGroupDefinition": { + "description": "Represents an Azure resource group in a Blueprint definition.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of this resourceGroup, leave empty if the resource group name will be specified during the Blueprint assignment.", + "minLength": 1, + "maxLength": 90 + }, + "location": { + "type": "string", + "description": "Location of this resourceGroup, leave empty if the resource group location will be specified during the Blueprint assignment.", + "maxLength": 90 + }, + "metadata": { + "description": "User-friendly properties for this resource group.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ParameterDefinitionMetadata" + }, + "dependsOn": { + "type": "array", + "description": "Artifacts which need to be deployed before this resource group.", + "items": { + "type": "string", + "description": "Name of peer artifact." + } + } + } + }, + "ParameterDefinitionMetadata": { + "type": "object", + "description": "User-friendly properties for this parameter.", + "properties": { + "displayName": { + "type": "string", + "description": "DisplayName of this parameter/resourceGroup.", + "maxLength": 256 + }, + "description": { + "type": "string", + "description": "Description of this parameter/resourceGroup.", + "maxLength": 500 + }, + "strongType": { + "type": "string", + "description": "StrongType for UI to render rich experience during assignment time.", + "maxLength": 64 + } + } + }, + "ResourceGroupValueCollection": { + "description": "A dictionary which maps resource group placeholders to the resource groups which will be created.", + "type": "object", + "properties": {}, + "additionalProperties": { + "$ref": "#/definitions/ResourceGroupValue" + } + }, + "ResourceGroupValue": { + "description": "Represents an Azure resource group.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the resource group", + "minLength": 1, + "maxLength": 90 + }, + "location": { + "type": "string", + "description": "Location of the resource group" + } + } + }, + "AzureResourceBase": { + "description": "Common properties for all Azure resources.", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "String Id used to locate any resource on Azure." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of this resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Name of this resource." + } + } + }, + "ArtifactPropertiesBase": { + "description": "Common properties shared by different artifacts.", + "type": "object", + "x-ms-external": true, + "properties": { + "dependsOn": { + "type": "array", + "description": "Artifacts which need to be deployed before the specified artifact.", + "items": { + "type": "string", + "description": "ID of peer artifact." + } + } + } + }, + "BlueprintResourcePropertiesBase": { + "description": "Shared properties between all Blueprint resources.", + "type": "object", + "x-ms-external": true, + "properties": { + "displayName": { + "type": "string", + "description": "One-liner string explain this resource.", + "maxLength": 256 + }, + "description": { + "type": "string", + "description": "Multi-line explain this resource.", + "maxLength": 500 + } + } + }, + "BlueprintResourceStatusBase": { + "description": "Shared status properties between all Blueprint resources.", + "type": "object", + "properties": { + "timeCreated": { + "type": "string", + "readOnly": true, + "description": "Creation time of this blueprint." + }, + "lastModified": { + "type": "string", + "readOnly": true, + "description": "Last modified time of this blueprint." + } + } + } + }, + "parameters": { + "ScopeParameter":{ + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope of the resource. Valid scopes are: management group (format: '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: '/subscriptions/{subscriptionId}').", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + }, + "BlueprintNameParameter": { + "name": "blueprintName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "name of the blueprint." + }, + "ArtifactNameParameter": { + "name": "artifactName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "name of the artifact." + }, + "PublishedBlueprintVersionIdParameter": { + "name": "versionId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "version of the published blueprint." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "x-ms-parameter-location": "client", + "description": "Client Api Version." + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/BlueprintAssignment_Create.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/BlueprintAssignment_Create.json new file mode 100644 index 000000000000..9b140c307da4 --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/BlueprintAssignment_Create.json @@ -0,0 +1,77 @@ +{ + "parameters":{ + "api-version":"2017-11-11-preview", + "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b", + "assignmentName":"assignSimpleBlueprint", + "assignment":{ + "identity":{ + "type": "SystemAssigned" + }, + "location": "eastus", + "properties": { + "description": "enforce pre-defined simpleBlueprint to this XXXXXXXX subscription.", + "blueprintId": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint", + "parameters": { + "storageAccountType": { + "value": "Standard_LRS" + }, + "costCenter": { + "value": "Contoso/Online/Shopping/Production" + }, + "owners": { + "value": [ + "johnDoe@contoso.com", + "johnsteam@contoso.com" + ] + } + }, + "resourceGroups": { + "storageRG": { + "name": "defaultRG", + "location": "eastus" + } + } + } + } + }, + "responses":{ + "201":{ + "body":{ + "identity":{ + "type": "SystemAssigned", + "tenantId": "00000000-0000-0000-0000-000000000000", + "principalId": "00000000-0000-0000-0000-000000000000" + }, + "location": "eastus", + "properties": { + "description": "enforce pre-defined simpleBlueprint to this XXXXXXXX subscription.", + "provisioningState": "creating", + "blueprintId": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint", + "parameters": { + "storageAccountType": { + "value": "Standard_LRS" + }, + "costCenter": { + "value": "Contoso/Online/Shopping/Production" + }, + "owners": { + "value": [ + "johnDoe@contoso.com", + "johnsteam@contoso.com" + ] + } + }, + "resourceGroups": { + "storageRG": { + "name": "defaultRG", + "location": "eastus" + } + } + }, + "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprintAssignments/assignSimpleBlueprint", + "type": "Microsoft.Blueprint/Assignment", + "name": "assignSimpleBlueprint" + } + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/BlueprintAssignment_Delete.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/BlueprintAssignment_Delete.json new file mode 100644 index 000000000000..6b2bb85879a5 --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/BlueprintAssignment_Delete.json @@ -0,0 +1,48 @@ +{ + "parameters":{ + "api-version":"2017-11-11-preview", + "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b", + "assignmentName":"assignSimpleBlueprint" + }, + "responses":{ + "202":{ + "body":{ + "identity":{ + "type": "SystemAssigned", + "tenantId": "00000000-0000-0000-0000-000000000000", + "principalId": "00000000-0000-0000-0000-000000000000" + }, + "location": "eastus", + "properties": { + "description": "enforce pre-defined simpleBlueprint to this XXXXXXXX subscription.", + "provisioningState": "deleting", + "blueprintId": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint", + "parameters": { + "storageAccountType": { + "value": "Standard_LRS" + }, + "costCenter": { + "value": "Contoso/Online/Shopping/Production" + }, + "owners": { + "value": [ + "johnDoe@contoso.com", + "johnsteam@contoso.com" + ] + } + }, + "resourceGroups": { + "storageRG": { + "name": "defaultRG", + "location": "eastus" + } + } + }, + "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprintAssignments/assignSimpleBlueprint", + "type": "Microsoft.Blueprint/Assignment", + "name": "assignSimpleBlueprint" + } + }, + "204":{} + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/BlueprintAssignment_Get.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/BlueprintAssignment_Get.json new file mode 100644 index 000000000000..1d1f5e06054a --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/BlueprintAssignment_Get.json @@ -0,0 +1,47 @@ +{ + "parameters":{ + "api-version":"2017-11-11-preview", + "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b", + "assignmentName":"assignSimpleBlueprint" + }, + "responses":{ + "200":{ + "body":{ + "identity":{ + "type": "SystemAssigned", + "tenantId": "00000000-0000-0000-0000-000000000000", + "principalId": "00000000-0000-0000-0000-000000000000" + }, + "location": "eastus", + "properties": { + "description": "enforce pre-defined simpleBlueprint to this XXXXXXXX subscription.", + "provisioningState": "succeed", + "blueprintId": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint", + "parameters": { + "storageAccountType": { + "value": "Standard_LRS" + }, + "costCenter": { + "value": "Contoso/Online/Shopping/Production" + }, + "owners": { + "value": [ + "johnDoe@contoso.com", + "johnsteam@contoso.com" + ] + } + }, + "resourceGroups": { + "storageRG": { + "name": "defaultRG", + "location": "eastus" + } + } + }, + "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprintAssignments/assignSimpleBlueprint", + "type": "Microsoft.Blueprint/Assignment", + "name": "assignSimpleBlueprint" + } + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/BlueprintAssignment_List.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/BlueprintAssignment_List.json new file mode 100644 index 000000000000..1cb07a7dcd6d --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/BlueprintAssignment_List.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version":"2017-11-11-preview", + "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "identity":{ + "type": "SystemAssigned", + "tenantId": "00000000-0000-0000-0000-000000000000", + "principalId": "00000000-0000-0000-0000-000000000000" + }, + "location": "eastus", + "properties": { + "description": "enforce pre-defined simpleBlueprint to this XXXXXXXX subscription.", + "provisioningState": "failed", + "blueprintId": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint", + "parameters": { + "storageAccountType": { + "value": "Standard_LRS" + }, + "costCenter": { + "value": "Contoso/Online/Shopping/Production" + }, + "owners": { + "value": [ + "johnDoe@contoso.com", + "johnsteam@contoso.com" + ] + } + }, + "resourceGroups": { + "storageRG": { + "name": "defaultRG", + "location": "eastus" + } + } + }, + "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprintAssignments/assignSimpleBlueprint", + "type": "Microsoft.Blueprint/Assignment", + "name": "assignSimpleBlueprint" + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/ARMTemplateArtifact_Create.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/ARMTemplateArtifact_Create.json new file mode 100644 index 000000000000..e560785ca8f7 --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/ARMTemplateArtifact_Create.json @@ -0,0 +1,117 @@ +{ + "parameters":{ + "api-version":"2018-11-01-preview", + "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup", + "blueprintName":"simpleBlueprint", + "artifactName": "storageTemplate", + "artifact":{ + "kind": "template", + "properties": { + "template": { + "contentVersion": "1.0.0.0", + "parameters": { + "storageAccountType": { + "type": "string", + "defaultValue": "Standard_LRS", + "allowedValues": [ + "Standard_LRS", + "Standard_GRS", + "Standard_ZRS", + "Premium_LRS" + ], + "metadata": { + "description": "Storage Account type" + } + } + }, + "variables": { + "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]" + }, + "resources": [ + { + "type": "Microsoft.Storage/storageAccounts", + "name": "[variables('storageAccountName')]", + "apiVersion": "2016-01-01", + "location": "[resourceGroup().location]", + "sku": { + "name": "[parameters('storageAccountType')]" + }, + "kind": "Storage", + "properties": {} + } + ], + "outputs": { + "storageAccountName": { + "type": "string", + "value": "[variables('storageAccountName')]" + } + } + }, + "resourceGroup": "storageRG", + "parameters": { + "storageAccountType": { + "value": "[parameters('storageAccountType')]" + } + } + } + } + }, + "responses":{ + "201":{ + "body":{ + "properties": { + "template": { + "contentVersion": "1.0.0.0", + "parameters": { + "storageAccountType": { + "type": "string", + "defaultValue": "Standard_LRS", + "allowedValues": [ + "Standard_LRS", + "Standard_GRS", + "Standard_ZRS", + "Premium_LRS" + ], + "metadata": { + "description": "Storage Account type" + } + } + }, + "variables": { + "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]" + }, + "resources": [ + { + "type": "Microsoft.Storage/storageAccounts", + "name": "[variables('storageAccountName')]", + "apiVersion": "2016-01-01", + "location": "[resourceGroup().location]", + "sku": { + "name": "[parameters('storageAccountType')]" + }, + "kind": "Storage", + "properties": {} + } + ], + "outputs": { + "storageAccountName": { + "type": "string", + "value": "[variables('storageAccountName')]" + } + } + }, + "resourceGroup": "storageRG", + "parameters": { + "storageAccountType": { + "value": "[parameters('storageAccountType')]" + } + } + }, + "kind": "template", + "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/storageTemplate", + "type": "Microsoft.Blueprint/blueprints/artifacts", + "name": "storageTemplate" + } + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/ARMTemplateArtifact_Delete.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/ARMTemplateArtifact_Delete.json new file mode 100644 index 000000000000..1406b77205f3 --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/ARMTemplateArtifact_Delete.json @@ -0,0 +1,67 @@ +{ + "parameters":{ + "api-version":"2018-11-01-preview", + "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup", + "blueprintName":"simpleBlueprint", + "artifactName": "storageTemplate" + }, + "responses":{ + "200":{ + "body":{ + "properties": { + "template": { + "contentVersion": "1.0.0.0", + "parameters": { + "storageAccountType": { + "type": "string", + "defaultValue": "Standard_LRS", + "allowedValues": [ + "Standard_LRS", + "Standard_GRS", + "Standard_ZRS", + "Premium_LRS" + ], + "metadata": { + "description": "Storage Account type" + } + } + }, + "variables": { + "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]" + }, + "resources": [ + { + "type": "Microsoft.Storage/storageAccounts", + "name": "[variables('storageAccountName')]", + "apiVersion": "2016-01-01", + "location": "[resourceGroup().location]", + "sku": { + "name": "[parameters('storageAccountType')]" + }, + "kind": "Storage", + "properties": {} + } + ], + "outputs": { + "storageAccountName": { + "type": "string", + "value": "[variables('storageAccountName')]" + } + } + }, + "resourceGroup": "storageRG", + "parameters": { + "storageAccountType": { + "value": "[parameters('storageAccountType')]" + } + } + }, + "kind": "template", + "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/storageTemplate", + "type": "Microsoft.Blueprint/blueprints/artifacts", + "name": "storageTemplate" + } + }, + "204":{} + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/ARMTemplateArtifact_Get.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/ARMTemplateArtifact_Get.json new file mode 100644 index 000000000000..11328862142e --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/ARMTemplateArtifact_Get.json @@ -0,0 +1,66 @@ +{ + "parameters":{ + "api-version":"2018-11-01-preview", + "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup", + "blueprintName":"simpleBlueprint", + "artifactName": "storageTemplate" + }, + "responses":{ + "200":{ + "body":{ + "properties": { + "template": { + "contentVersion": "1.0.0.0", + "parameters": { + "storageAccountType": { + "type": "string", + "defaultValue": "Standard_LRS", + "allowedValues": [ + "Standard_LRS", + "Standard_GRS", + "Standard_ZRS", + "Premium_LRS" + ], + "metadata": { + "description": "Storage Account type" + } + } + }, + "variables": { + "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]" + }, + "resources": [ + { + "type": "Microsoft.Storage/storageAccounts", + "name": "[variables('storageAccountName')]", + "apiVersion": "2016-01-01", + "location": "[resourceGroup().location]", + "sku": { + "name": "[parameters('storageAccountType')]" + }, + "kind": "Storage", + "properties": {} + } + ], + "outputs": { + "storageAccountName": { + "type": "string", + "value": "[variables('storageAccountName')]" + } + } + }, + "resourceGroup": "storageRG", + "parameters": { + "storageAccountType": { + "value": "[parameters('storageAccountType')]" + } + } + }, + "kind": "template", + "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/storageTemplate", + "type": "Microsoft.Blueprint/blueprints/artifacts", + "name": "storageTemplate" + } + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/Artifact_List.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/Artifact_List.json new file mode 100644 index 000000000000..b1057dead343 --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/Artifact_List.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "api-version":"2018-11-01-preview", + "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup", + "blueprintName":"simpleBlueprint" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "displayName": "enforce owners of given subscription", + "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7", + "principalIds": "[parameters('owners')]" + }, + "kind": "roleAssignment", + "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/ownerAssignment", + "type": "Microsoft.Blueprint/blueprints/artifacts", + "name": "ownerAssignment" + }, + { + "properties": { + "displayName": "force costCenter tag on all resources", + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62", + "parameters": { + "tagName": { "value": "costCenter" }, + "tagValue": { "value": "[parameter('costCenter')]" } + } + }, + "kind": "policyAssignment", + "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/costCenterPolicy", + "type": "Microsoft.Blueprint/blueprints/artifacts", + "name": "costCenterPolicy" + }, + { + "properties": { + "template": { + "contentVersion": "1.0.0.0", + "parameters": { + "storageAccountType": { + "type": "string", + "defaultValue": "Standard_LRS", + "allowedValues": [ + "Standard_LRS", + "Standard_GRS", + "Standard_ZRS", + "Premium_LRS" + ], + "metadata": { + "description": "Storage Account type" + } + } + }, + "variables": { + "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]" + }, + "resources": [ + { + "type": "Microsoft.Storage/storageAccounts", + "name": "[variables('storageAccountName')]", + "apiVersion": "2016-01-01", + "location": "[resourceGroup().location]", + "sku": { + "name": "[parameters('storageAccountType')]" + }, + "kind": "Storage", + "properties": {} + } + ], + "outputs": { + "storageAccountName": { + "type": "string", + "value": "[variables('storageAccountName')]" + } + } + }, + "resourceGroup": "storageRG", + "parameters": { + "storageAccountType": { + "value": "[parameters('storageAccountType')]" + } + } + }, + "kind": "template", + "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/storageTemplate", + "type": "Microsoft.Blueprint/blueprints/artifacts", + "name": "storageTemplate" + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/Blueprint_Create.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/Blueprint_Create.json new file mode 100644 index 000000000000..6155ea5f752c --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/Blueprint_Create.json @@ -0,0 +1,85 @@ +{ + "parameters":{ + "api-version":"2018-11-01-preview", + "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup", + "blueprintName":"simpleBlueprint", + "blueprint":{ + "properties": { + "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}", + "parameters": { + "storageAccountType": { + "type": "string", + "metadata": { + "displayName": "storage account type." + } + }, + "costCenter": { + "type": "string", + "metadata": { + "displayName": "force cost center tag for all resources under given subscription." + } + }, + "owners": { + "type": "array", + "metadata": { + "displayName": "assign owners to subscription along with blueprint assignment." + } + } + }, + "resourceGroups": { + "storageRG": { + "metadata":{ + "displayName": "storage resource group", + "description": "Contains storageAccounts that collect all shoebox logs." + } + } + }, + "targetScope": "subscription" + } + } + }, + "responses":{ + "201":{ + "body":{ + "properties": { + "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}", + "parameters": { + "storageAccountType": { + "type": "string", + "metadata": { + "displayName": "storage account type.", + "description": null + } + }, + "costCenter": { + "type": "string", + "metadata": { + "displayName": "force cost center tag for all resources under given subscription.", + "description": null + } + }, + "owners": { + "type": "array", + "metadata": { + "displayName": "assign owners to subscription along with blueprint assignment.", + "description": null + } + } + }, + "resourceGroups": { + "storageRG": { + "metadata":{ + "displayName": "storage resource group", + "description": "Contains storageAccounts that collect all shoebox logs." + } + } + }, + "targetScope": "subscription" + }, + "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint", + "type": "Microsoft.Blueprint/blueprints", + "name": "simpleBlueprint" + } + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/Blueprint_Delete.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/Blueprint_Delete.json new file mode 100644 index 000000000000..b0fddc400575 --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/Blueprint_Delete.json @@ -0,0 +1,50 @@ +{ + "parameters":{ + "api-version":"2018-11-01-preview", + "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup", + "blueprintName":"simpleBlueprint" + }, + "responses":{ + "200":{ + "body":{ + "properties": { + "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}", + "parameters": { + "storageAccountType": { + "type": "string", + "metadata": { + "displayName": "storage account type." + } + }, + "costCenter": { + "type": "string", + "metadata": { + "displayName": "force cost center tag for all resources under given subscription." + } + }, + "owners": { + "type": "array", + "metadata": { + "displayName": "assign owners to subscription along with blueprint assignment." + } + } + }, + "resourceGroups": { + "storageRG": { + "metadata":{ + "displayName": "storage resource group", + "description": "Contains storageAccounts that collect all shoebox logs." + } + } + }, + "targetScope": "subscription", + "status": null + }, + "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint", + "type": "Microsoft.Blueprint/blueprints", + "name": "simpleBlueprint" + } + }, + "204":{} + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/Blueprint_Get.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/Blueprint_Get.json new file mode 100644 index 000000000000..1b41b5fa716a --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/Blueprint_Get.json @@ -0,0 +1,49 @@ +{ + "parameters":{ + "api-version":"2018-11-01-preview", + "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup", + "blueprintName":"simpleBlueprint" + }, + "responses":{ + "200":{ + "body":{ + "properties": { + "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}", + "parameters": { + "storageAccountType": { + "type": "string", + "metadata": { + "displayName": "storage account type." + } + }, + "costCenter": { + "type": "string", + "metadata": { + "displayName": "force cost center tag for all resources under given subscription." + } + }, + "owners": { + "type": "array", + "metadata": { + "displayName": "assign owners to subscription along with blueprint assignment." + } + } + }, + "resourceGroups": { + "storageRG": { + "metadata":{ + "displayName": "storage resource group", + "description": "Contains storageAccounts that collect all shoebox logs." + } + } + }, + "targetScope": "subscription", + "status": null + }, + "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint", + "type": "Microsoft.Blueprint/blueprints", + "name": "simpleBlueprint" + } + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/Blueprint_List.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/Blueprint_List.json new file mode 100644 index 000000000000..8c1ebdfe3475 --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/Blueprint_List.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version":"2018-11-01-preview", + "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}", + "parameters": { + "storageAccountType": { + "type": "string", + "metadata": { + "displayName": "storage account type." + } + }, + "costCenter": { + "type": "string", + "metadata": { + "displayName": "force cost center tag for all resources under given subscription." + } + }, + "owners": { + "type": "array", + "metadata": { + "displayName": "assign owners to subscription along with blueprint assignment." + } + } + }, + "resourceGroups": { + "storageRG": { + "metadata":{ + "displayName": "storage resource group", + "description": "Contains storageAccounts that collect all shoebox logs." + } + } + }, + "targetScope": "subscription", + "status": null + }, + "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint", + "type": "Microsoft.Blueprint/blueprints", + "name": "simpleBlueprint" + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/PolicyAssignmentArtifact_Create.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/PolicyAssignmentArtifact_Create.json new file mode 100644 index 000000000000..ae0f1482570f --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/PolicyAssignmentArtifact_Create.json @@ -0,0 +1,37 @@ +{ + "parameters":{ + "api-version":"2018-11-01-preview", + "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup", + "blueprintName":"simpleBlueprint", + "artifactName": "costCenterPolicy", + "artifact":{ + "properties": { + "displayName": "force costCenter tag on all resources", + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62", + "parameters": { + "tagName": { "value": "costCenter" }, + "tagValue": { "value": "[parameter('costCenter')]" } + } + }, + "kind": "policyAssignment" + } + }, + "responses":{ + "201":{ + "body": { + "properties": { + "displayName": "force costCenter tag on all resources", + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62", + "parameters": { + "tagName": { "value": "costCenter" }, + "tagValue": { "value": "[parameter('costCenter')]" } + } + }, + "kind": "policyAssignment", + "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/costCenterPolicy", + "type": "Microsoft.Blueprint/blueprints/artifacts", + "name": "costCenterPolicy" + } + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/PolicyAssignmentArtifact_Delete.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/PolicyAssignmentArtifact_Delete.json new file mode 100644 index 000000000000..e6b6120c0d8c --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/PolicyAssignmentArtifact_Delete.json @@ -0,0 +1,27 @@ +{ + "parameters":{ + "api-version":"2018-11-01-preview", + "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup", + "blueprintName":"simpleBlueprint", + "artifactName": "costCenterPolicy" + }, + "responses":{ + "200":{ + "body": { + "properties": { + "displayName": "force costCenter tag on all resources", + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62", + "parameters": { + "tagName": { "value": "costCenter" }, + "tagValue": { "value": "[parameter('costCenter')]" } + } + }, + "kind": "policyAssignment", + "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/costCenterPolicy", + "type": "Microsoft.Blueprint/blueprints/artifacts", + "name": "costCenterPolicy" + } + }, + "204":{} + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/PolicyAssignmentArtifact_Get.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/PolicyAssignmentArtifact_Get.json new file mode 100644 index 000000000000..1f50fdf33866 --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/PolicyAssignmentArtifact_Get.json @@ -0,0 +1,26 @@ +{ + "parameters":{ + "api-version":"2018-11-01-preview", + "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup", + "blueprintName":"simpleBlueprint", + "artifactName": "costCenterPolicy" + }, + "responses":{ + "200":{ + "body": { + "properties": { + "displayName": "force costCenter tag on all resources", + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62", + "parameters": { + "tagName": { "value": "costCenter" }, + "tagValue": { "value": "[parameter('costCenter')]" } + } + }, + "kind": "policyAssignment", + "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/costCenterPolicy", + "type": "Microsoft.Blueprint/blueprints/artifacts", + "name": "costCenterPolicy" + } + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/RoleAssignmentArtifact_Create.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/RoleAssignmentArtifact_Create.json new file mode 100644 index 000000000000..c3bf4529d966 --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/RoleAssignmentArtifact_Create.json @@ -0,0 +1,31 @@ +{ + "parameters":{ + "api-version":"2018-11-01-preview", + "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup", + "blueprintName":"simpleBlueprint", + "artifactName": "ownerAssignment", + "artifact":{ + "properties": { + "displayName": "enforce owners of given subscription", + "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7", + "principalIds": "[parameters('owners')]" + }, + "kind": "roleAssignment" + } + }, + "responses":{ + "201":{ + "body":{ + "properties": { + "displayName": "enforce owners of given subscription", + "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7", + "principalIds": "[parameters('owners')]" + }, + "kind": "roleAssignment", + "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/ownerAssignment", + "type": "Microsoft.Blueprint/blueprints/artifacts", + "name": "ownerAssignment" + } + } + } +} diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/RoleAssignmentArtifact_Delete.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/RoleAssignmentArtifact_Delete.json new file mode 100644 index 000000000000..322ab102b875 --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/RoleAssignmentArtifact_Delete.json @@ -0,0 +1,24 @@ +{ + "parameters":{ + "api-version":"2018-11-01-preview", + "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup", + "blueprintName":"simpleBlueprint", + "artifactName": "ownerAssignment" + }, + "responses":{ + "200":{ + "body":{ + "properties": { + "displayName": "enforce owners of given subscription", + "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7", + "principalIds": "[parameters('owners')]" + }, + "kind": "roleAssignment", + "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/ownerAssignment", + "type": "Microsoft.Blueprint/blueprints/artifacts", + "name": "ownerAssignment" + } + }, + "204":{} + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/RoleAssignmentArtifact_Get.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/RoleAssignmentArtifact_Get.json new file mode 100644 index 000000000000..b66f195308bc --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/RoleAssignmentArtifact_Get.json @@ -0,0 +1,23 @@ +{ + "parameters":{ + "api-version":"2018-11-01-preview", + "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup", + "blueprintName":"simpleBlueprint", + "artifactName": "ownerAssignment" + }, + "responses":{ + "200":{ + "body":{ + "properties": { + "displayName": "enforce owners of given subscription", + "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7", + "principalIds": "[parameters('owners')]" + }, + "kind": "roleAssignment", + "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/ownerAssignment", + "type": "Microsoft.Blueprint/blueprints/artifacts", + "name": "ownerAssignment" + } + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedARMTemplateArtifact_Get.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedARMTemplateArtifact_Get.json new file mode 100644 index 000000000000..a0a022a7db01 --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedARMTemplateArtifact_Get.json @@ -0,0 +1,67 @@ +{ + "parameters":{ + "api-version":"2018-11-01-preview", + "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup", + "blueprintName":"simpleBlueprint", + "versionId":"V2", + "artifactName": "storageTemplate" + }, + "responses":{ + "200":{ + "body":{ + "properties": { + "template": { + "contentVersion": "1.0.0.0", + "parameters": { + "storageAccountType": { + "type": "string", + "defaultValue": "Standard_LRS", + "allowedValues": [ + "Standard_LRS", + "Standard_GRS", + "Standard_ZRS", + "Premium_LRS" + ], + "metadata": { + "description": "Storage Account type" + } + } + }, + "variables": { + "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]" + }, + "resources": [ + { + "type": "Microsoft.Storage/storageAccounts", + "name": "[variables('storageAccountName')]", + "apiVersion": "2016-01-01", + "location": "[resourceGroup().location]", + "sku": { + "name": "[parameters('storageAccountType')]" + }, + "kind": "Storage", + "properties": {} + } + ], + "outputs": { + "storageAccountName": { + "type": "string", + "value": "[variables('storageAccountName')]" + } + } + }, + "resourceGroup": "storageRG", + "parameters": { + "storageAccountType": { + "value": "[parameters('storageAccountType')]" + } + } + }, + "kind": "template", + "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/V2/artifacts/storageTemplate", + "type": "Microsoft.Blueprint/blueprints/versions/artifacts", + "name": "storageTemplate" + } + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedArtifact_List.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedArtifact_List.json new file mode 100644 index 000000000000..341c5304e9b2 --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedArtifact_List.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "api-version":"2018-11-01-preview", + "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup", + "blueprintName":"simpleBlueprint", + "versionId": "V2" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "displayName": "enforce owners of given subscription", + "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7", + "principalIds": "[parameters('owners')]" + }, + "kind": "roleAssignment", + "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/V2/artifacts/ownerAssignment", + "type": "Microsoft.Blueprint/blueprints/versions/artifacts", + "name": "ownerAssignment" + }, + { + "properties": { + "displayName": "force costCenter tag on all resources", + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62", + "parameters": { + "tagName": { "value": "costCenter" }, + "tagValue": { "value": "[parameter('costCenter')]" } + } + }, + "kind": "policyAssignment", + "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/V2/artifacts/costCenterPolicy", + "type": "Microsoft.Blueprint/blueprints/versions/artifacts", + "name": "costCenterPolicy" + }, + { + "properties": { + "template": { + "contentVersion": "1.0.0.0", + "parameters": { + "storageAccountType": { + "type": "string", + "defaultValue": "Standard_LRS", + "allowedValues": [ + "Standard_LRS", + "Standard_GRS", + "Standard_ZRS", + "Premium_LRS" + ], + "metadata": { + "description": "Storage Account type" + } + } + }, + "variables": { + "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]" + }, + "resources": [ + { + "type": "Microsoft.Storage/storageAccounts", + "name": "[variables('storageAccountName')]", + "apiVersion": "2016-01-01", + "location": "[resourceGroup().location]", + "sku": { + "name": "[parameters('storageAccountType')]" + }, + "kind": "Storage", + "properties": {} + } + ], + "outputs": { + "storageAccountName": { + "type": "string", + "value": "[variables('storageAccountName')]" + } + } + }, + "resourceGroup": "storageRG", + "parameters": { + "storageAccountType": { + "value": "[parameters('storageAccountType')]" + } + } + }, + "kind": "template", + "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/V2/artifacts/storageTemplate", + "type": "Microsoft.Blueprint/blueprints/versions/artifacts", + "name": "storageTemplate" + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedBlueprint_Delete.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedBlueprint_Delete.json new file mode 100644 index 000000000000..e502efe08429 --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedBlueprint_Delete.json @@ -0,0 +1,54 @@ +{ + "parameters":{ + "api-version":"2018-11-01-preview", + "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup", + "blueprintName":"simpleBlueprint", + "versionId": "v2" + }, + "responses":{ + "200":{ + "body":{ + "properties": { + "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}", + "blueprintName":"simpleBlueprint", + "parameters": { + "storageAccountType": { + "type": "string", + "metadata": { + "displayName": "storage account type.", + "description": null + } + }, + "costCenter": { + "type": "string", + "metadata": { + "displayName": "force cost center tag for all resources under given subscription.", + "description": null + } + }, + "owners": { + "type": "array", + "metadata": { + "displayName": "assign owners to subscription along with blueprint assignment.", + "description": null + } + } + }, + "resourceGroups": { + "storageRG": { + "metadata":{ + "displayName": "storage resource group", + "description": "Contains storageAccounts that collect all shoebox logs." + } + } + }, + "targetScope": "subscription" + }, + "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint", + "type": "Microsoft.Blueprint/blueprints/versions", + "name": "v2" + } + }, + "204": {} + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedBlueprint_Get.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedBlueprint_Get.json new file mode 100644 index 000000000000..1d3618dd43f7 --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedBlueprint_Get.json @@ -0,0 +1,53 @@ +{ + "parameters":{ + "api-version":"2018-11-01-preview", + "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup", + "blueprintName":"simpleBlueprint", + "versionId": "v2" + }, + "responses":{ + "200":{ + "body":{ + "properties": { + "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}", + "blueprintName":"simpleBlueprint", + "parameters": { + "storageAccountType": { + "type": "string", + "metadata": { + "displayName": "storage account type.", + "description": null + } + }, + "costCenter": { + "type": "string", + "metadata": { + "displayName": "force cost center tag for all resources under given subscription.", + "description": null + } + }, + "owners": { + "type": "array", + "metadata": { + "displayName": "assign owners to subscription along with blueprint assignment.", + "description": null + } + } + }, + "resourceGroups": { + "storageRG": { + "metadata":{ + "displayName": "storage resource group", + "description": "Contains storageAccounts that collect all shoebox logs." + } + } + }, + "targetScope": "subscription" + }, + "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint", + "type": "Microsoft.Blueprint/blueprints/versions", + "name": "v2" + } + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedBlueprint_List.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedBlueprint_List.json new file mode 100644 index 000000000000..9238f5621f01 --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedBlueprint_List.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version":"2018-11-01-preview", + "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup", + "blueprintName": "simpleBlueprint" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "blueprintName": "simpleBlueprint", + "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}", + "parameters": { + "storageAccountType": { + "type": "string", + "metadata": { + "displayName": "storage account type." + } + }, + "costCenter": { + "type": "string", + "metadata": { + "displayName": "force cost center tag for all resources under given subscription." + } + }, + "owners": { + "type": "array", + "metadata": { + "displayName": "assign owners to subscription along with blueprint assignment." + } + } + }, + "resourceGroups": { + "storageRG": { + "metadata":{ + "displayName": "storage resource group", + "description": "Contains storageAccounts that collect all shoebox logs." + } + } + }, + "targetScope": "subscription", + "status": null + }, + "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/v1", + "type": "Microsoft.Blueprint/blueprints/versions", + "name": "v1" + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedBlueprint_Publish.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedBlueprint_Publish.json new file mode 100644 index 000000000000..e5a72160fecc --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedBlueprint_Publish.json @@ -0,0 +1,53 @@ +{ + "parameters":{ + "api-version":"2018-11-01-preview", + "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup", + "blueprintName":"simpleBlueprint", + "versionId": "v2" + }, + "responses":{ + "201":{ + "body":{ + "properties": { + "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}", + "blueprintName":"simpleBlueprint", + "parameters": { + "storageAccountType": { + "type": "string", + "metadata": { + "displayName": "storage account type.", + "description": null + } + }, + "costCenter": { + "type": "string", + "metadata": { + "displayName": "force cost center tag for all resources under given subscription.", + "description": null + } + }, + "owners": { + "type": "array", + "metadata": { + "displayName": "assign owners to subscription along with blueprint assignment.", + "description": null + } + } + }, + "resourceGroups": { + "storageRG": { + "metadata":{ + "displayName": "storage resource group", + "description": "Contains storageAccounts that collect all shoebox logs." + } + } + }, + "targetScope": "subscription" + }, + "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint", + "type": "Microsoft.Blueprint/blueprints/versions", + "name": "v2" + } + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedPolicyAssignmentArtifact_Get.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedPolicyAssignmentArtifact_Get.json new file mode 100644 index 000000000000..6c7ddcac8fd2 --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedPolicyAssignmentArtifact_Get.json @@ -0,0 +1,27 @@ +{ + "parameters":{ + "api-version":"2018-11-01-preview", + "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup", + "blueprintName":"simpleBlueprint", + "versionId":"V2", + "artifactName": "costCenterPolicy" + }, + "responses":{ + "200":{ + "body": { + "properties": { + "displayName": "force costCenter tag on all resources", + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62", + "parameters": { + "tagName": { "value": "costCenter" }, + "tagValue": { "value": "[parameter('costCenter')]" } + } + }, + "kind": "policyAssignment", + "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/V2/artifacts/costCenterPolicy", + "type": "Microsoft.Blueprint/blueprints/versions/artifacts", + "name": "costCenterPolicy" + } + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedRoleAssignmentArtifact_Get.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedRoleAssignmentArtifact_Get.json new file mode 100644 index 000000000000..18ae13b1b62c --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedRoleAssignmentArtifact_Get.json @@ -0,0 +1,24 @@ +{ + "parameters":{ + "api-version":"2018-11-01-preview", + "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup", + "blueprintName":"simpleBlueprint", + "versionId":"V2", + "artifactName": "ownerAssignment" + }, + "responses":{ + "200":{ + "body":{ + "properties": { + "displayName": "enforce owners of given subscription", + "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7", + "principalIds": "[parameters('owners')]" + }, + "kind": "roleAssignment", + "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/V2/artifacts/ownerAssignment", + "type": "Microsoft.Blueprint/blueprints/versions/artifacts", + "name": "ownerAssignment" + } + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/ARMTemplateArtifact_Create.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/ARMTemplateArtifact_Create.json new file mode 100644 index 000000000000..5c7ed4abb3dd --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/ARMTemplateArtifact_Create.json @@ -0,0 +1,117 @@ +{ + "parameters":{ + "api-version":"2018-11-01-preview", + "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b", + "blueprintName":"simpleBlueprint", + "artifactName": "storageTemplate", + "artifact":{ + "kind": "template", + "properties": { + "template": { + "contentVersion": "1.0.0.0", + "parameters": { + "storageAccountType": { + "type": "string", + "defaultValue": "Standard_LRS", + "allowedValues": [ + "Standard_LRS", + "Standard_GRS", + "Standard_ZRS", + "Premium_LRS" + ], + "metadata": { + "description": "Storage Account type" + } + } + }, + "variables": { + "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]" + }, + "resources": [ + { + "type": "Microsoft.Storage/storageAccounts", + "name": "[variables('storageAccountName')]", + "apiVersion": "2016-01-01", + "location": "[resourceGroup().location]", + "sku": { + "name": "[parameters('storageAccountType')]" + }, + "kind": "Storage", + "properties": {} + } + ], + "outputs": { + "storageAccountName": { + "type": "string", + "value": "[variables('storageAccountName')]" + } + } + }, + "resourceGroup": "storageRG", + "parameters": { + "storageAccountType": { + "value": "[parameters('storageAccountType')]" + } + } + } + } + }, + "responses":{ + "201":{ + "body":{ + "properties": { + "template": { + "contentVersion": "1.0.0.0", + "parameters": { + "storageAccountType": { + "type": "string", + "defaultValue": "Standard_LRS", + "allowedValues": [ + "Standard_LRS", + "Standard_GRS", + "Standard_ZRS", + "Premium_LRS" + ], + "metadata": { + "description": "Storage Account type" + } + } + }, + "variables": { + "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]" + }, + "resources": [ + { + "type": "Microsoft.Storage/storageAccounts", + "name": "[variables('storageAccountName')]", + "apiVersion": "2016-01-01", + "location": "[resourceGroup().location]", + "sku": { + "name": "[parameters('storageAccountType')]" + }, + "kind": "Storage", + "properties": {} + } + ], + "outputs": { + "storageAccountName": { + "type": "string", + "value": "[variables('storageAccountName')]" + } + } + }, + "resourceGroup": "storageRG", + "parameters": { + "storageAccountType": { + "value": "[parameters('storageAccountType')]" + } + } + }, + "kind": "template", + "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/storageTemplate", + "type": "Microsoft.Blueprint/blueprints/artifacts", + "name": "storageTemplate" + } + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/ARMTemplateArtifact_Delete.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/ARMTemplateArtifact_Delete.json new file mode 100644 index 000000000000..679ff9cd5a5c --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/ARMTemplateArtifact_Delete.json @@ -0,0 +1,67 @@ +{ + "parameters":{ + "api-version":"2018-11-01-preview", + "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b", + "blueprintName":"simpleBlueprint", + "artifactName": "storageTemplate" + }, + "responses":{ + "200":{ + "body":{ + "properties": { + "template": { + "contentVersion": "1.0.0.0", + "parameters": { + "storageAccountType": { + "type": "string", + "defaultValue": "Standard_LRS", + "allowedValues": [ + "Standard_LRS", + "Standard_GRS", + "Standard_ZRS", + "Premium_LRS" + ], + "metadata": { + "description": "Storage Account type" + } + } + }, + "variables": { + "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]" + }, + "resources": [ + { + "type": "Microsoft.Storage/storageAccounts", + "name": "[variables('storageAccountName')]", + "apiVersion": "2016-01-01", + "location": "[resourceGroup().location]", + "sku": { + "name": "[parameters('storageAccountType')]" + }, + "kind": "Storage", + "properties": {} + } + ], + "outputs": { + "storageAccountName": { + "type": "string", + "value": "[variables('storageAccountName')]" + } + } + }, + "resourceGroup": "storageRG", + "parameters": { + "storageAccountType": { + "value": "[parameters('storageAccountType')]" + } + } + }, + "kind": "template", + "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/storageTemplate", + "type": "Microsoft.Blueprint/blueprints/artifacts", + "name": "storageTemplate" + } + }, + "204":{} + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/ARMTemplateArtifact_Get.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/ARMTemplateArtifact_Get.json new file mode 100644 index 000000000000..6f82f380d90e --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/ARMTemplateArtifact_Get.json @@ -0,0 +1,66 @@ +{ + "parameters":{ + "api-version":"2018-11-01-preview", + "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b", + "blueprintName":"simpleBlueprint", + "artifactName": "storageTemplate" + }, + "responses":{ + "200":{ + "body":{ + "properties": { + "template": { + "contentVersion": "1.0.0.0", + "parameters": { + "storageAccountType": { + "type": "string", + "defaultValue": "Standard_LRS", + "allowedValues": [ + "Standard_LRS", + "Standard_GRS", + "Standard_ZRS", + "Premium_LRS" + ], + "metadata": { + "description": "Storage Account type" + } + } + }, + "variables": { + "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]" + }, + "resources": [ + { + "type": "Microsoft.Storage/storageAccounts", + "name": "[variables('storageAccountName')]", + "apiVersion": "2016-01-01", + "location": "[resourceGroup().location]", + "sku": { + "name": "[parameters('storageAccountType')]" + }, + "kind": "Storage", + "properties": {} + } + ], + "outputs": { + "storageAccountName": { + "type": "string", + "value": "[variables('storageAccountName')]" + } + } + }, + "resourceGroup": "storageRG", + "parameters": { + "storageAccountType": { + "value": "[parameters('storageAccountType')]" + } + } + }, + "kind": "template", + "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/storageTemplate", + "type": "Microsoft.Blueprint/blueprints/artifacts", + "name": "storageTemplate" + } + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/Artifact_List.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/Artifact_List.json new file mode 100644 index 000000000000..9bf40050ffb2 --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/Artifact_List.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "api-version":"2018-11-01-preview", + "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b", + "blueprintName":"simpleBlueprint" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "displayName": "enforce owners of given subscription", + "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7", + "principalIds": "[parameters('owners')]" + }, + "kind": "roleAssignment", + "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/ownerAssignment", + "type": "Microsoft.Blueprint/blueprints/artifacts", + "name": "ownerAssignment" + }, + { + "properties": { + "displayName": "force costCenter tag on all resources", + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62", + "parameters": { + "tagName": { "value": "costCenter" }, + "tagValue": { "value": "[parameter('costCenter')]" } + } + }, + "kind": "policyAssignment", + "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/costCenterPolicy", + "type": "Microsoft.Blueprint/blueprints/artifacts", + "name": "costCenterPolicy" + }, + { + "properties": { + "template": { + "contentVersion": "1.0.0.0", + "parameters": { + "storageAccountType": { + "type": "string", + "defaultValue": "Standard_LRS", + "allowedValues": [ + "Standard_LRS", + "Standard_GRS", + "Standard_ZRS", + "Premium_LRS" + ], + "metadata": { + "description": "Storage Account type" + } + } + }, + "variables": { + "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]" + }, + "resources": [ + { + "type": "Microsoft.Storage/storageAccounts", + "name": "[variables('storageAccountName')]", + "apiVersion": "2016-01-01", + "location": "[resourceGroup().location]", + "sku": { + "name": "[parameters('storageAccountType')]" + }, + "kind": "Storage", + "properties": {} + } + ], + "outputs": { + "storageAccountName": { + "type": "string", + "value": "[variables('storageAccountName')]" + } + } + }, + "resourceGroup": "storageRG", + "parameters": { + "storageAccountType": { + "value": "[parameters('storageAccountType')]" + } + } + }, + "kind": "template", + "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/storageTemplate", + "type": "Microsoft.Blueprint/blueprints/artifacts", + "name": "storageTemplate" + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/Blueprint_Create.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/Blueprint_Create.json new file mode 100644 index 000000000000..73134ab2e9ae --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/Blueprint_Create.json @@ -0,0 +1,85 @@ +{ + "parameters":{ + "api-version":"2018-11-01-preview", + "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b", + "blueprintName":"simpleBlueprint", + "blueprint":{ + "properties": { + "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}", + "parameters": { + "storageAccountType": { + "type": "string", + "metadata": { + "displayName": "storage account type." + } + }, + "costCenter": { + "type": "string", + "metadata": { + "displayName": "force cost center tag for all resources under given subscription." + } + }, + "owners": { + "type": "array", + "metadata": { + "displayName": "assign owners to subscription along with blueprint assignment." + } + } + }, + "resourceGroups": { + "storageRG": { + "metadata":{ + "displayName": "storage resource group", + "description": "Contains storageAccounts that collect all shoebox logs." + } + } + }, + "targetScope": "subscription" + } + } + }, + "responses":{ + "201":{ + "body":{ + "properties": { + "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}", + "parameters": { + "storageAccountType": { + "type": "string", + "metadata": { + "displayName": "storage account type.", + "description": null + } + }, + "costCenter": { + "type": "string", + "metadata": { + "displayName": "force cost center tag for all resources under given subscription.", + "description": null + } + }, + "owners": { + "type": "array", + "metadata": { + "displayName": "assign owners to subscription along with blueprint assignment.", + "description": null + } + } + }, + "resourceGroups": { + "storageRG": { + "metadata":{ + "displayName": "storage resource group", + "description": "Contains storageAccounts that collect all shoebox logs." + } + } + }, + "targetScope": "subscription" + }, + "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint", + "type": "Microsoft.Blueprint/blueprints", + "name": "simpleBlueprint" + } + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/Blueprint_Delete.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/Blueprint_Delete.json new file mode 100644 index 000000000000..81020eb24f55 --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/Blueprint_Delete.json @@ -0,0 +1,50 @@ +{ + "parameters":{ + "api-version":"2018-11-01-preview", + "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b", + "blueprintName":"simpleBlueprint" + }, + "responses":{ + "200":{ + "body":{ + "properties": { + "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}", + "parameters": { + "storageAccountType": { + "type": "string", + "metadata": { + "displayName": "storage account type." + } + }, + "costCenter": { + "type": "string", + "metadata": { + "displayName": "force cost center tag for all resources under given subscription." + } + }, + "owners": { + "type": "array", + "metadata": { + "displayName": "assign owners to subscription along with blueprint assignment." + } + } + }, + "resourceGroups": { + "storageRG": { + "metadata":{ + "displayName": "storage resource group", + "description": "Contains storageAccounts that collect all shoebox logs." + } + } + }, + "targetScope": "subscription", + "status": null + }, + "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint", + "type": "Microsoft.Blueprint/blueprints", + "name": "simpleBlueprint" + } + }, + "204":{} + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/Blueprint_Get.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/Blueprint_Get.json new file mode 100644 index 000000000000..f7d1ffaa3730 --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/Blueprint_Get.json @@ -0,0 +1,49 @@ +{ + "parameters":{ + "api-version":"2018-11-01-preview", + "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b", + "blueprintName":"simpleBlueprint" + }, + "responses":{ + "200":{ + "body":{ + "properties": { + "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}", + "parameters": { + "storageAccountType": { + "type": "string", + "metadata": { + "displayName": "storage account type." + } + }, + "costCenter": { + "type": "string", + "metadata": { + "displayName": "force cost center tag for all resources under given subscription." + } + }, + "owners": { + "type": "array", + "metadata": { + "displayName": "assign owners to subscription along with blueprint assignment." + } + } + }, + "resourceGroups": { + "storageRG": { + "metadata":{ + "displayName": "storage resource group", + "description": "Contains storageAccounts that collect all shoebox logs." + } + } + }, + "targetScope": "subscription", + "status": null + }, + "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint", + "type": "Microsoft.Blueprint/blueprints", + "name": "simpleBlueprint" + } + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/Blueprint_List.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/Blueprint_List.json new file mode 100644 index 000000000000..55a531a09331 --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/Blueprint_List.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version":"2018-11-01-preview", + "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}", + "parameters": { + "storageAccountType": { + "type": "string", + "metadata": { + "displayName": "storage account type." + } + }, + "costCenter": { + "type": "string", + "metadata": { + "displayName": "force cost center tag for all resources under given subscription." + } + }, + "owners": { + "type": "array", + "metadata": { + "displayName": "assign owners to subscription along with blueprint assignment." + } + } + }, + "resourceGroups": { + "storageRG": { + "metadata":{ + "displayName": "storage resource group", + "description": "Contains storageAccounts that collect all shoebox logs." + } + } + }, + "targetScope": "subscription", + "status": null + }, + "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint", + "type": "Microsoft.Blueprint/blueprints", + "name": "simpleBlueprint" + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/PolicyAssignmentArtifact_Create.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/PolicyAssignmentArtifact_Create.json new file mode 100644 index 000000000000..cd1501ec5f6c --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/PolicyAssignmentArtifact_Create.json @@ -0,0 +1,37 @@ +{ + "parameters":{ + "api-version":"2018-11-01-preview", + "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b", + "blueprintName":"simpleBlueprint", + "artifactName": "costCenterPolicy", + "artifact":{ + "properties": { + "displayName": "force costCenter tag on all resources", + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62", + "parameters": { + "tagName": { "value": "costCenter" }, + "tagValue": { "value": "[parameter('costCenter')]" } + } + }, + "kind": "policyAssignment" + } + }, + "responses":{ + "201":{ + "body": { + "properties": { + "displayName": "force costCenter tag on all resources", + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62", + "parameters": { + "tagName": { "value": "costCenter" }, + "tagValue": { "value": "[parameter('costCenter')]" } + } + }, + "kind": "policyAssignment", + "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/costCenterPolicy", + "type": "Microsoft.Blueprint/blueprints/artifacts", + "name": "costCenterPolicy" + } + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/PolicyAssignmentArtifact_Delete.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/PolicyAssignmentArtifact_Delete.json new file mode 100644 index 000000000000..959156266eda --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/PolicyAssignmentArtifact_Delete.json @@ -0,0 +1,27 @@ +{ + "parameters":{ + "api-version":"2018-11-01-preview", + "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b", + "blueprintName":"simpleBlueprint", + "artifactName": "costCenterPolicy" + }, + "responses":{ + "200":{ + "body": { + "properties": { + "displayName": "force costCenter tag on all resources", + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62", + "parameters": { + "tagName": { "value": "costCenter" }, + "tagValue": { "value": "[parameter('costCenter')]" } + } + }, + "kind": "policyAssignment", + "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/costCenterPolicy", + "type": "Microsoft.Blueprint/blueprints/artifacts", + "name": "costCenterPolicy" + } + }, + "204":{} + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/PolicyAssignmentArtifact_Get.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/PolicyAssignmentArtifact_Get.json new file mode 100644 index 000000000000..3773dc72c8e2 --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/PolicyAssignmentArtifact_Get.json @@ -0,0 +1,26 @@ +{ + "parameters":{ + "api-version":"2018-11-01-preview", + "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b", + "blueprintName":"simpleBlueprint", + "artifactName": "costCenterPolicy" + }, + "responses":{ + "200":{ + "body": { + "properties": { + "displayName": "force costCenter tag on all resources", + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62", + "parameters": { + "tagName": { "value": "costCenter" }, + "tagValue": { "value": "[parameter('costCenter')]" } + } + }, + "kind": "policyAssignment", + "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/costCenterPolicy", + "type": "Microsoft.Blueprint/blueprints/artifacts", + "name": "costCenterPolicy" + } + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/RoleAssignmentArtifact_Create.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/RoleAssignmentArtifact_Create.json new file mode 100644 index 000000000000..468b98798c6c --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/RoleAssignmentArtifact_Create.json @@ -0,0 +1,31 @@ +{ + "parameters":{ + "api-version":"2018-11-01-preview", + "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b", + "blueprintName":"simpleBlueprint", + "artifactName": "ownerAssignment", + "artifact":{ + "properties": { + "displayName": "enforce owners of given subscription", + "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7", + "principalIds": "[parameters('owners')]" + }, + "kind": "roleAssignment" + } + }, + "responses":{ + "201":{ + "body":{ + "properties": { + "displayName": "enforce owners of given subscription", + "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7", + "principalIds": "[parameters('owners')]" + }, + "kind": "roleAssignment", + "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/ownerAssignment", + "type": "Microsoft.Blueprint/blueprints/artifacts", + "name": "ownerAssignment" + } + } + } +} diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/RoleAssignmentArtifact_Delete.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/RoleAssignmentArtifact_Delete.json new file mode 100644 index 000000000000..f471ac446c3c --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/RoleAssignmentArtifact_Delete.json @@ -0,0 +1,24 @@ +{ + "parameters":{ + "api-version":"2018-11-01-preview", + "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b", + "blueprintName":"simpleBlueprint", + "artifactName": "ownerAssignment" + }, + "responses":{ + "200":{ + "body":{ + "properties": { + "displayName": "enforce owners of given subscription", + "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7", + "principalIds": "[parameters('owners')]" + }, + "kind": "roleAssignment", + "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/ownerAssignment", + "type": "Microsoft.Blueprint/blueprints/artifacts", + "name": "ownerAssignment" + } + }, + "204":{} + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/RoleAssignmentArtifact_Get.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/RoleAssignmentArtifact_Get.json new file mode 100644 index 000000000000..30b15fd71937 --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/RoleAssignmentArtifact_Get.json @@ -0,0 +1,23 @@ +{ + "parameters":{ + "api-version":"2018-11-01-preview", + "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b", + "blueprintName":"simpleBlueprint", + "artifactName": "ownerAssignment" + }, + "responses":{ + "200":{ + "body":{ + "properties": { + "displayName": "enforce owners of given subscription", + "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7", + "principalIds": "[parameters('owners')]" + }, + "kind": "roleAssignment", + "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/ownerAssignment", + "type": "Microsoft.Blueprint/blueprints/artifacts", + "name": "ownerAssignment" + } + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedARMTemplateArtifact_Get.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedARMTemplateArtifact_Get.json new file mode 100644 index 000000000000..17bee60a52bb --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedARMTemplateArtifact_Get.json @@ -0,0 +1,67 @@ +{ + "parameters":{ + "api-version":"2018-11-01-preview", + "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b", + "blueprintName":"simpleBlueprint", + "versionId":"V2", + "artifactName": "storageTemplate" + }, + "responses":{ + "200":{ + "body":{ + "properties": { + "template": { + "contentVersion": "1.0.0.0", + "parameters": { + "storageAccountType": { + "type": "string", + "defaultValue": "Standard_LRS", + "allowedValues": [ + "Standard_LRS", + "Standard_GRS", + "Standard_ZRS", + "Premium_LRS" + ], + "metadata": { + "description": "Storage Account type" + } + } + }, + "variables": { + "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]" + }, + "resources": [ + { + "type": "Microsoft.Storage/storageAccounts", + "name": "[variables('storageAccountName')]", + "apiVersion": "2016-01-01", + "location": "[resourceGroup().location]", + "sku": { + "name": "[parameters('storageAccountType')]" + }, + "kind": "Storage", + "properties": {} + } + ], + "outputs": { + "storageAccountName": { + "type": "string", + "value": "[variables('storageAccountName')]" + } + } + }, + "resourceGroup": "storageRG", + "parameters": { + "storageAccountType": { + "value": "[parameters('storageAccountType')]" + } + } + }, + "kind": "template", + "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/V2/artifacts/storageTemplate", + "type": "Microsoft.Blueprint/blueprints/versions/artifacts", + "name": "storageTemplate" + } + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedArtifact_List.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedArtifact_List.json new file mode 100644 index 000000000000..e3f053d5e4fb --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedArtifact_List.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "api-version":"2018-11-01-preview", + "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b", + "blueprintName":"simpleBlueprint", + "versionId": "V2" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "displayName": "enforce owners of given subscription", + "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7", + "principalIds": "[parameters('owners')]" + }, + "kind": "roleAssignment", + "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/V2/artifacts/ownerAssignment", + "type": "Microsoft.Blueprint/blueprints/versions/artifacts", + "name": "ownerAssignment" + }, + { + "properties": { + "displayName": "force costCenter tag on all resources", + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62", + "parameters": { + "tagName": { "value": "costCenter" }, + "tagValue": { "value": "[parameter('costCenter')]" } + } + }, + "kind": "policyAssignment", + "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/V2/artifacts/costCenterPolicy", + "type": "Microsoft.Blueprint/blueprints/versions/artifacts", + "name": "costCenterPolicy" + }, + { + "properties": { + "template": { + "contentVersion": "1.0.0.0", + "parameters": { + "storageAccountType": { + "type": "string", + "defaultValue": "Standard_LRS", + "allowedValues": [ + "Standard_LRS", + "Standard_GRS", + "Standard_ZRS", + "Premium_LRS" + ], + "metadata": { + "description": "Storage Account type" + } + } + }, + "variables": { + "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]" + }, + "resources": [ + { + "type": "Microsoft.Storage/storageAccounts", + "name": "[variables('storageAccountName')]", + "apiVersion": "2016-01-01", + "location": "[resourceGroup().location]", + "sku": { + "name": "[parameters('storageAccountType')]" + }, + "kind": "Storage", + "properties": {} + } + ], + "outputs": { + "storageAccountName": { + "type": "string", + "value": "[variables('storageAccountName')]" + } + } + }, + "resourceGroup": "storageRG", + "parameters": { + "storageAccountType": { + "value": "[parameters('storageAccountType')]" + } + } + }, + "kind": "template", + "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/V2/artifacts/storageTemplate", + "type": "Microsoft.Blueprint/blueprints/versions/artifacts", + "name": "storageTemplate" + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedBlueprint_Delete.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedBlueprint_Delete.json new file mode 100644 index 000000000000..b584ffbf1366 --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedBlueprint_Delete.json @@ -0,0 +1,54 @@ +{ + "parameters":{ + "api-version":"2018-11-01-preview", + "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b", + "blueprintName":"simpleBlueprint", + "versionId": "v2" + }, + "responses":{ + "200":{ + "body":{ + "properties": { + "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}", + "blueprintName":"simpleBlueprint", + "parameters": { + "storageAccountType": { + "type": "string", + "metadata": { + "displayName": "storage account type.", + "description": null + } + }, + "costCenter": { + "type": "string", + "metadata": { + "displayName": "force cost center tag for all resources under given subscription.", + "description": null + } + }, + "owners": { + "type": "array", + "metadata": { + "displayName": "assign owners to subscription along with blueprint assignment.", + "description": null + } + } + }, + "resourceGroups": { + "storageRG": { + "metadata":{ + "displayName": "storage resource group", + "description": "Contains storageAccounts that collect all shoebox logs." + } + } + }, + "targetScope": "subscription" + }, + "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint", + "type": "Microsoft.Blueprint/blueprints/versions", + "name": "v2" + } + }, + "204": {} + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedBlueprint_Get.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedBlueprint_Get.json new file mode 100644 index 000000000000..d8a64f893572 --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedBlueprint_Get.json @@ -0,0 +1,53 @@ +{ + "parameters":{ + "api-version":"2018-11-01-preview", + "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b", + "blueprintName":"simpleBlueprint", + "versionId": "v2" + }, + "responses":{ + "200":{ + "body":{ + "properties": { + "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}", + "blueprintName":"simpleBlueprint", + "parameters": { + "storageAccountType": { + "type": "string", + "metadata": { + "displayName": "storage account type.", + "description": null + } + }, + "costCenter": { + "type": "string", + "metadata": { + "displayName": "force cost center tag for all resources under given subscription.", + "description": null + } + }, + "owners": { + "type": "array", + "metadata": { + "displayName": "assign owners to subscription along with blueprint assignment.", + "description": null + } + } + }, + "resourceGroups": { + "storageRG": { + "metadata":{ + "displayName": "storage resource group", + "description": "Contains storageAccounts that collect all shoebox logs." + } + } + }, + "targetScope": "subscription" + }, + "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint", + "type": "Microsoft.Blueprint/blueprints/versions", + "name": "v2" + } + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedBlueprint_List.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedBlueprint_List.json new file mode 100644 index 000000000000..b04c59eb4ce3 --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedBlueprint_List.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version":"2018-11-01-preview", + "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b", + "blueprintName": "simpleBlueprint" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "blueprintName": "simpleBlueprint", + "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}", + "parameters": { + "storageAccountType": { + "type": "string", + "metadata": { + "displayName": "storage account type." + } + }, + "costCenter": { + "type": "string", + "metadata": { + "displayName": "force cost center tag for all resources under given subscription." + } + }, + "owners": { + "type": "array", + "metadata": { + "displayName": "assign owners to subscription along with blueprint assignment." + } + } + }, + "resourceGroups": { + "storageRG": { + "metadata":{ + "displayName": "storage resource group", + "description": "Contains storageAccounts that collect all shoebox logs." + } + } + }, + "targetScope": "subscription", + "status": null + }, + "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/v1", + "type": "Microsoft.Blueprint/blueprints/versions", + "name": "v1" + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedBlueprint_Publish.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedBlueprint_Publish.json new file mode 100644 index 000000000000..4471959bcc62 --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedBlueprint_Publish.json @@ -0,0 +1,53 @@ +{ + "parameters":{ + "api-version":"2018-11-01-preview", + "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b", + "blueprintName":"simpleBlueprint", + "versionId": "v2" + }, + "responses":{ + "201":{ + "body":{ + "properties": { + "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}", + "blueprintName":"simpleBlueprint", + "parameters": { + "storageAccountType": { + "type": "string", + "metadata": { + "displayName": "storage account type.", + "description": null + } + }, + "costCenter": { + "type": "string", + "metadata": { + "displayName": "force cost center tag for all resources under given subscription.", + "description": null + } + }, + "owners": { + "type": "array", + "metadata": { + "displayName": "assign owners to subscription along with blueprint assignment.", + "description": null + } + } + }, + "resourceGroups": { + "storageRG": { + "metadata":{ + "displayName": "storage resource group", + "description": "Contains storageAccounts that collect all shoebox logs." + } + } + }, + "targetScope": "subscription" + }, + "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint", + "type": "Microsoft.Blueprint/blueprints/versions", + "name": "v2" + } + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedPolicyAssignmentArtifact_Get.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedPolicyAssignmentArtifact_Get.json new file mode 100644 index 000000000000..cad36be6b4d9 --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedPolicyAssignmentArtifact_Get.json @@ -0,0 +1,27 @@ +{ + "parameters":{ + "api-version":"2018-11-01-preview", + "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b", + "blueprintName":"simpleBlueprint", + "versionId":"V2", + "artifactName": "costCenterPolicy" + }, + "responses":{ + "200":{ + "body": { + "properties": { + "displayName": "force costCenter tag on all resources", + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62", + "parameters": { + "tagName": { "value": "costCenter" }, + "tagValue": { "value": "[parameter('costCenter')]" } + } + }, + "kind": "policyAssignment", + "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/V2/artifacts/costCenterPolicy", + "type": "Microsoft.Blueprint/blueprints/versions/artifacts", + "name": "costCenterPolicy" + } + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedRoleAssignmentArtifact_Get.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedRoleAssignmentArtifact_Get.json new file mode 100644 index 000000000000..73c0e6253c9c --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedRoleAssignmentArtifact_Get.json @@ -0,0 +1,24 @@ +{ + "parameters":{ + "api-version":"2018-11-01-preview", + "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b", + "blueprintName":"simpleBlueprint", + "versionId":"V2", + "artifactName": "ownerAssignment" + }, + "responses":{ + "200":{ + "body":{ + "properties": { + "displayName": "enforce owners of given subscription", + "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7", + "principalIds": "[parameters('owners')]" + }, + "kind": "roleAssignment", + "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/V2/artifacts/ownerAssignment", + "type": "Microsoft.Blueprint/blueprints/versions/artifacts", + "name": "ownerAssignment" + } + } + } +} \ No newline at end of file diff --git a/specification/blueprint/resource-manager/readme.md b/specification/blueprint/resource-manager/readme.md index b30929a56692..003beb57cc0b 100644 --- a/specification/blueprint/resource-manager/readme.md +++ b/specification/blueprint/resource-manager/readme.md @@ -44,8 +44,8 @@ These settings apply only when `--tag=package-2018-11-preview` is specified on t ``` yaml $(tag) == 'package-2018-11-preview' input-file: -- Microsoft.Blueprint/preview/2017-11-11-preview/blueprintDefinition.json -- Microsoft.Blueprint/preview/2017-11-11-preview/blueprintAssignment.json +- Microsoft.Blueprint/preview/2018-11-01-preview/blueprintDefinition.json +- Microsoft.Blueprint/preview/2018-11-01-preview/blueprintAssignment.json - Microsoft.Blueprint/preview/2018-11-01-preview/assignmentOperation.json ```