diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/AzureStack.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/AzureStack.json new file mode 100644 index 000000000000..42da65874246 --- /dev/null +++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/AzureStack.json @@ -0,0 +1,220 @@ +{ + "swagger": "2.0", + "info": { + "version": "2017-06-01", + "title": "Azure Stack Azure Bridge Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.AzureStack/operations": { + "get": { + "x-ms-examples": { + "Returns the list of supported REST operations.": { + "$ref": "./examples/Operation/List.json" + } + }, + "description": "Returns the list of supported REST operations.", + "tags": [ + "AzureStack" + ], + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationList" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "Resource": { + "description": "Base resource object.", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "description": "ID of the resource.", + "type": "string" + }, + "name": { + "readOnly": true, + "description": "Name of the resource.", + "type": "string" + }, + "type": { + "readOnly": true, + "description": "Type of Resource.", + "type": "string" + }, + "location": { + "description": "Location of the resource.", + "type": "string", + "enum": [ + "global" + ], + "x-ms-enum": { + "name": "Location", + "modelAsString": true + }, + "x-ms-mutability": [ + "create", + "read" + ] + }, + "tags": { + "description": "Custom tags for the resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "etag": { + "description": "The entity tag used for optimistic concurency when modifying the resource.", + "type": "string" + } + }, + "required": [ + "location" + ], + "x-ms-azure-resource": true + }, + "ProvisioningState": { + "description": "The provisioning state of the resource.", + "enum": [ + "Creating", + "Failed", + "Succeeded", + "Canceled" + ], + "type": "string", + "x-ms-enum": { + "name": "ProvisioningState" + } + }, + "Operation": { + "description": "Describes the supported REST operation.", + "properties": { + "name": { + "description": "The name of the operation being performed on this particular object.", + "type": "string" + }, + "display": { + "description": "Contains the localized display information for this particular operation or action.", + "$ref": "#/definitions/Display" + }, + "origin" : { + "description" : "The intended executor of the operation.", + "type" : "string" + } + } + }, + "Display": { + "description": "Contains the localized display information for this particular operation or action.", + "properties": { + "provider": { + "description": "The localized, friendly version of the resource provider name.", + "type": "string" + }, + "resource": { + "description": "The localized, friendly version of the resource type related to this action or operation; the resource type should match the public documentation for the resource provider.", + "type": "string" + }, + "operation": { + "description": "The localized, friendly name for the operation. Use the name as it will displayed to the user.", + "type": "string" + }, + "description": { + "description": "The localized, friendly description for the operation. The description will be displayed to the user. It should be thorough and concise for used in both tooltips and detailed views.", + "type": "string" + } + } + }, + "OperationList": { + "description": "List of Operations", + "properties": { + "value": { + "description": "Array of operations", + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "description": "URI to the next page of operations.", + "type": "string" + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Subscription credentials that uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + "required": true, + "type": "string" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "Client API Version.", + "required": true, + "type": "string", + "default": "2017-06-01" + }, + "ResourceGroupNameParameter": { + "description": "Name of the resource group.", + "name": "resourceGroup", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "RegistrationNameParameter": { + "description": "Name of the Azure Stack registration.", + "name": "registrationName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Authorization uses an Azure Active Directory OAuth2 flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} \ No newline at end of file diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/CustomerSubscription.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/CustomerSubscription.json new file mode 100644 index 000000000000..2c2e5b21acf5 --- /dev/null +++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/CustomerSubscription.json @@ -0,0 +1,263 @@ +{ + "swagger": "2.0", + "info": { + "version": "2017-06-01", + "title": "AzureStack Azure Bridge Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/customerSubscriptions": { + "get": { + "x-ms-examples": { + "Returns a list of products.": { + "$ref": "examples/CustomerSubscription/List.json" + } + }, + "tags": [ + "CustomerSubscription" + ], + "description": "Returns a list of products.", + "operationId": "CustomerSubscriptions_List", + "parameters": [ + { + "$ref": "AzureStack.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "AzureStack.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "AzureStack.json#/parameters/RegistrationNameParameter" + }, + { + "$ref": "AzureStack.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CustomerSubscriptionList" + } + }, + "404": { + "description": "NOT FOUND" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/customerSubscriptions/{customerSubscriptionName}": { + "get": { + "x-ms-examples": { + "Returns the specified product.": { + "$ref": "examples/CustomerSubscription/Get.json" + } + }, + "tags": [ + "CustomerSubscription" + ], + "description": "Returns the specified product.", + "operationId": "CustomerSubscriptions_Get", + "parameters": [ + { + "$ref": "AzureStack.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "AzureStack.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "AzureStack.json#/parameters/RegistrationNameParameter" + }, + { + "$ref": "#/parameters/CustomerSubscriptionNameParameter" + }, + { + "$ref": "AzureStack.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CustomerSubscription" + } + }, + "404": { + "description": "NOT FOUND" + } + } + }, + "delete": { + "x-ms-examples": { + "Deletes a customer subscription under a registration.": { + "$ref": "examples/CustomerSubscription/Delete.json" + } + }, + "tags": [ + "CustomerSubscription" + ], + "description": "Deletes a customer subscription under a registration.", + "operationId": "CustomerSubscriptions_Delete", + "parameters": [ + { + "$ref": "AzureStack.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "AzureStack.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "AzureStack.json#/parameters/RegistrationNameParameter" + }, + { + "$ref": "#/parameters/CustomerSubscriptionNameParameter" + }, + { + "$ref": "AzureStack.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NO CONTENT" + } + } + }, + "put": { + "x-ms-examples": { + "Creates a new customer subscription under a registration.": { + "$ref": "examples/CustomerSubscription/Put.json" + } + }, + "tags": [ + "CustomerSubscription" + ], + "description": "Creates a new customer subscription under a registration.", + "operationId": "CustomerSubscriptions_Create", + "parameters": [ + { + "$ref": "AzureStack.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "AzureStack.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "AzureStack.json#/parameters/RegistrationNameParameter" + }, + { + "$ref": "#/parameters/CustomerSubscriptionNameParameter" + }, + { + "$ref": "AzureStack.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CustomerSubscriptionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CustomerSubscription" + } + } + } + } + } + }, + "definitions": { + "CustomerSubscription": { + "description": "Customer subcription.", + "type": "object", + "properties": { + "properties": { + "description": "Customer subscription properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/CustomerSubscriptionProperties" + } + }, + "allOf": [ + { + "$ref": "AzureStack.json#/definitions/Resource" + } + ] + }, + "CustomerSubscriptionProperties": { + "description": "Customer subscription properties.", + "type": "object", + "properties": { + "tenantId": { + "description": "Tenant Id.", + "type": "string" + } + } + }, + "CustomerSubscriptionList": { + "description": "Pageable list of customer subscriptions.", + "type": "object", + "properties": { + "nextLink": { + "description": "URI to the next page.", + "type": "string" + }, + "value": { + "description": "List of customer subscriptions.", + "type": "array", + "items": { + "$ref": "#/definitions/CustomerSubscription" + } + } + } + } + }, + "parameters": { + "CustomerSubscriptionNameParameter": { + "description": "Name of the product.", + "name": "customerSubscriptionName", + "type": "string", + "in": "path", + "required": true, + "x-ms-parameter-location": "method" + }, + "CustomerSubscriptionParameter": { + "description": "Parameters use to create a customer subscription.", + "name": "customerCreationParameters", + "schema": { + "$ref": "#/definitions/CustomerSubscription" + }, + "in": "body", + "required": true, + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Authorization uses an Azure Active Directory OAuth2 flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} \ No newline at end of file diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/Product.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/Product.json new file mode 100644 index 000000000000..a41ce97fb660 --- /dev/null +++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/Product.json @@ -0,0 +1,504 @@ +{ + "swagger": "2.0", + "info": { + "version": "2017-06-01", + "title": "AzureStack Azure Bridge Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/products": { + "get": { + "x-ms-examples": { + "Returns a list of products.": { + "$ref": "examples/Product/List.json" + } + }, + "tags": [ + "Product" + ], + "description": "Returns a list of products.", + "operationId": "Products_List", + "parameters": [ + { + "$ref": "AzureStack.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "AzureStack.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "AzureStack.json#/parameters/RegistrationNameParameter" + }, + { + "$ref": "AzureStack.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProductList" + } + }, + "404": { + "description": "NOT FOUND" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/products/{productName}": { + "get": { + "x-ms-examples": { + "Returns the specified product.": { + "$ref": "examples/Product/Get.json" + } + }, + "tags": [ + "Product" + ], + "description": "Returns the specified product.", + "operationId": "Products_Get", + "parameters": [ + { + "$ref": "AzureStack.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "AzureStack.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "AzureStack.json#/parameters/RegistrationNameParameter" + }, + { + "$ref": "#/parameters/ProductNameParameter" + }, + { + "$ref": "AzureStack.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Product" + } + }, + "404": { + "description": "NOT FOUND" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/products/{productName}/listDetails": { + "post": { + "x-ms-examples": { + "Returns the extended properties of a product.": { + "$ref": "examples/Product/Post.json" + } + }, + "tags": [ + "Product" + ], + "description": "Returns the extended properties of a product.", + "operationId": "Products_ListDetails", + "parameters": [ + { + "$ref": "AzureStack.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "AzureStack.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "AzureStack.json#/parameters/RegistrationNameParameter" + }, + { + "$ref": "#/parameters/ProductNameParameter" + }, + { + "$ref": "AzureStack.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ExtendedProduct" + } + } + } + } + } + }, + "definitions": { + "ComputeRole": { + "description": "Compute role type (IaaS or PaaS).", + "type": "string", + "enum": [ + "None", + "IaaS", + "PaaS" + ], + "x-ms-enum": { + "name": "ComputeRole", + "modelAsString": true + } + }, + "OperatingSystem": { + "description": "Operating system type (Windows or Linux).", + "type": "string", + "enum": [ + "None", + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OperatingSystem", + "modelAsString": true + } + }, + "Uri": { + "description": "The URI.", + "type": "object", + "properties": { + "uri": { + "description": "The URI.", + "type": "string", + "readOnly": true + } + } + }, + "ExtendedProduct": { + "description": "Extended description about the product required for installing it into Azure Stack.", + "type": "object", + "properties": { + "galleryPackageBlobSasUri": { + "description": "The URI to the .azpkg file that provides information required for showing product in the gallery.", + "type": "string", + "readOnly": true + }, + "productKind": { + "description": "Specifies the kind of the product (virtualMachine or virtualMachineExtension).", + "type": "string", + "readOnly": true + }, + "properties": { + "description": "Specifies additional properties describing the product.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExtendedProductProperties", + "readOnly": true + } + } + }, + "ExtendedProductProperties": { + "description": "Product information.", + "type": "object", + "properties": {}, + "allOf": [ + { + "$ref": "#/definitions/VirtualMachineExtensionProductProperties" + }, + { + "$ref": "#/definitions/VirtualMachineProductProperties" + } + ] + }, + "VirtualMachineExtensionProductProperties": { + "description": "Product information.", + "type": "object", + "properties": { + "computeRole": { + "description": "Specifies kind of compute role inclided in the package.", + "$ref": "#/definitions/ComputeRole", + "readOnly": true + }, + "isSystemExtension": { + "description": "Specifies if product is a Virtual Machine Extension.", + "type": "boolean", + "readOnly": true + }, + "sourceBlob": { + "description": "Specifies a download location where content can be downloaded from.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/Uri", + "readOnly": true + }, + "supportMultipleExtensions": { + "description": "Indicates if specified product supports multiple extensions.", + "type": "boolean", + "readOnly": true + }, + "version": { + "description": "Specifies product version.", + "type": "string", + "readOnly": true + }, + "vmOsType": { + "description": "Specifies operating system used by the product.", + "$ref": "#/definitions/OperatingSystem", + "readOnly": true + }, + "vmScaleSetEnabled": { + "description": "Indicates if virtual machine Scale Set is enabled in the specified product.", + "type": "boolean", + "readOnly": true + } + } + }, + "VirtualMachineProductProperties": { + "description": "Product information.", + "type": "object", + "properties": { + "version": { + "description": "Specifies product version.", + "type": "string", + "readOnly": true + }, + "osDiskImage": { + "description": "OS disk image used by product.", + "$ref": "#/definitions/OsDiskImage", + "readOnly": true + }, + "dataDiskImages": { + "description": "List of attached data disks.", + "type": "array", + "items": { + "$ref": "#/definitions/DataDiskImage" + }, + "readOnly": true + } + } + }, + "OsDiskImage": { + "description": "OS disk image.", + "type": "object", + "properties": { + "operatingSystem": { + "description": "OS operating system type.", + "$ref": "#/definitions/OperatingSystem", + "readOnly": true + }, + "sourceBlobSasUri": { + "description": "SAS key for source blob.", + "type": "string", + "readOnly": true + } + } + }, + "DataDiskImage": { + "description": "Data disk image.", + "type": "object", + "properties": { + "lun": { + "description": "The LUN.", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "sourceBlobSasUri": { + "description": "SAS key for source blob.", + "type": "string", + "readOnly": true + } + } + }, + "Product": { + "description": "Product information.", + "type": "object", + "properties": { + "properties": { + "description": "Properties of the product resource.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ProductNestedProperties" + } + }, + "allOf": [ + { + "$ref": "AzureStack.json#/definitions/Resource" + } + ] + }, + "ProductNestedProperties": { + "description": "Properties portion of the product resource.", + "type": "object", + "properties": { + "displayName": { + "description": "The display name of the product.", + "type": "string" + }, + "description": { + "description": "The description of the product.", + "type": "string" + }, + "publisherDisplayName": { + "description": "The user-friendly name of the product publisher.", + "type": "string" + }, + "publisherIdentifier": { + "description": "Publisher identifier.", + "type": "string" + }, + "offer": { + "description": "The offer representing the product.", + "type": "string" + }, + "offerVersion": { + "description": "The version of the product offer.", + "type": "string" + }, + "sku": { + "description": "The product SKU.", + "type": "string" + }, + "billingPartNumber": { + "description": "The part number used for billing purposes.", + "type": "string" + }, + "vmExtensionType": { + "description": "The type of the Virtual Machine Extension.", + "type": "string" + }, + "galleryItemIdentity": { + "description": "The identifier of the gallery item corresponding to the product.", + "type": "string" + }, + "iconUris": { + "description": "Additional links available for this product.", + "$ref": "#/definitions/IconUris" + }, + "links": { + "description": "Additional links available for this product.", + "type": "array", + "items": { + "$ref": "#/definitions/ProductLink" + } + }, + "legalTerms": { + "description": "The legal terms.", + "type": "string" + }, + "privacyPolicy": { + "description": "The privacy policy.", + "type": "string" + }, + "payloadLength": { + "description": "The length of product content.", + "type": "integer", + "format" : "int64" + }, + "productKind": { + "description": "The kind of the product (virtualMachine or virtualMachineExtension)", + "type": "string" + }, + "productProperties": { + "description": "Additional properties for the product.", + "$ref": "#/definitions/ProductProperties" + } + } + }, + "IconUris": { + "description": "Links to product icons.", + "type": "object", + "properties": { + "large": { + "description": "URI to large icon.", + "type": "string" + }, + "wide": { + "description": "URI to wide icon.", + "type": "string" + }, + "medium": { + "description": "URI to medium icon.", + "type": "string" + }, + "small": { + "description": "URI to small icon.", + "type": "string" + }, + "hero": { + "description": "URI to hero icon.", + "type": "string" + } + } + }, + "ProductProperties": { + "description": "Additional properties of the product", + "type": "object", + "properties": { + "version": { + "description": "The version.", + "type": "string" + } + } + }, + "ProductLink": { + "description": "Link with additional information about a product.", + "type": "object", + "properties": { + "displayName": { + "description": "The description of the link.", + "type": "string" + }, + "uri": { + "description": "The URI corresponding to the link.", + "type": "string" + } + } + }, + "ProductList": { + "description": "Pageable list of products.", + "type": "object", + "properties": { + "nextLink": { + "description": "URI to the next page.", + "type": "string" + }, + "value": { + "description": "List of products.", + "type": "array", + "items": { + "$ref": "#/definitions/Product" + } + } + } + } + }, + "parameters": { + "ProductNameParameter": { + "description": "Name of the product.", + "name": "productName", + "type": "string", + "in": "path", + "required": true, + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Authorization uses an Azure Active Directory OAuth2 flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} \ No newline at end of file diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/Registration.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/Registration.json new file mode 100644 index 000000000000..e2c8f289136e --- /dev/null +++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/Registration.json @@ -0,0 +1,335 @@ +{ + "swagger": "2.0", + "info": { + "version": "2017-06-01", + "title": "Azure Stack Azure Bridge Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations": { + "get": { + "x-ms-examples": { + "Returns a list of all registrations.": { + "$ref": "examples/Registration/List.json" + } + }, + "tags": [ + "Registrations" + ], + "description": "Returns a list of all registrations.", + "operationId": "Registrations_List", + "parameters": [ + { + "$ref": "AzureStack.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "AzureStack.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "AzureStack.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RegistrationList" + } + }, + "404": { + "description": "NOT FOUND" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}": { + "get": { + "x-ms-examples": { + "Returns the properties of an Azure Stack registration.": { + "$ref": "examples/Registration/Get.json" + } + }, + "tags": [ + "Registrations" + ], + "description": "Returns the properties of an Azure Stack registration.", + "operationId": "Registrations_Get", + "parameters": [ + { + "$ref": "AzureStack.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "AzureStack.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "AzureStack.json#/parameters/RegistrationNameParameter" + }, + { + "$ref": "AzureStack.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Registration" + } + }, + "404": { + "description": "NOT FOUND" + } + } + }, + "delete": { + "x-ms-examples": { + "Delete the requested Azure Stack registration.": { + "$ref": "./examples/Registration/Delete.json" + } + }, + "tags": [ + "Registrations" + ], + "description": "Delete the requested Azure Stack registration.", + "operationId": "Registrations_Delete", + "parameters": [ + { + "$ref": "AzureStack.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "AzureStack.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "AzureStack.json#/parameters/RegistrationNameParameter" + }, + { + "$ref": "AzureStack.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NO CONTENT" + }, + "404": { + "description": "NOT FOUND" + } + } + }, + "put": { + "x-ms-examples": { + "Create or update an Azure Stack registration.": { + "$ref": "examples/Registration/Put.json" + } + }, + "tags": [ + "Registrations" + ], + "description": "Create or update an Azure Stack registration.", + "operationId": "Registrations_CreateOrUpdate", + "parameters": [ + { + "$ref": "AzureStack.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "AzureStack.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "AzureStack.json#/parameters/RegistrationNameParameter" + }, + { + "$ref": "AzureStack.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/NewRegistrationParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Registration" + } + }, + "201": { + "description": "CREATED", + "schema": { + "$ref": "#/definitions/Registration" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/getactivationkey": { + "post": { + "x-ms-examples": { + "Returns Azure Stack Activation Key.": { + "$ref": "./examples/Registration/Post.json" + } + }, + "tags": [ + "Registrations" + ], + "description": "Returns Azure Stack Activation Key.", + "operationId": "Registrations_GetActivationKey", + "parameters": [ + { + "$ref": "AzureStack.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "AzureStack.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "AzureStack.json#/parameters/RegistrationNameParameter" + }, + { + "$ref": "AzureStack.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ActivationKeyResult" + } + } + } + } + } + }, + "definitions": { + "Registration": { + "description": "Registration information.", + "type": "object", + "properties": { + "properties": { + "description": "Registration resource.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/RegistrationProperties" + } + }, + "allOf": [ + { + "$ref": "AzureStack.json#/definitions/Resource" + } + ] + }, + "RegistrationProperties": { + "description": "Properties portion of the registration resource.", + "type": "object", + "properties": { + "objectId": { + "description": "The object identifier associated with the Azure Stack connecting to Azure.", + "type": "string" + }, + "cloudId": { + "description": "The identifier of the registered Azure Stack.", + "type": "string" + }, + "billingModel": { + "description": "Specifies the billing mode for the Azure Stack registration.", + "type": "string" + } + } + }, + "RegistrationList": { + "description": "Pageable list of registrations.", + "type": "object", + "properties": { + "nextLink": { + "description": "URI to the next page.", + "type": "string" + }, + "value": { + "description": "List of Registrations", + "type": "array", + "items": { + "$ref": "#/definitions/Registration" + } + } + } + }, + "ActivationKeyResult": { + "description": "The resource containing the Azure Stack activation key.", + "type": "object", + "properties": { + "activationKey": { + "description": "Azure Stack activation key.", + "type": "string" + } + } + }, + "RegistrationParameter": { + "description": "Registration resource", + "type": "object", + "properties": { + "properties": { + "description": "Properties of the Auzre Stack registration resource", + "x-ms-client-flatten": true, + "$ref": "#/definitions/RegistrationParameterProperties" + } + }, + "allOf": [ + { + "$ref": "AzureStack.json#/definitions/Resource" + } + ] + }, + "RegistrationParameterProperties": { + "description": "Properties of the Azure Stack regstration resource", + "type": "object", + "properties": { + "registrationToken": { + "description": "The token identifying registered Azure Stack", + "type": "string" + } + }, + "required": [ + "registrationToken" + ] + } + }, + "parameters": { + "NewRegistrationParameter": { + "description": "Registration token", + "name": "token", + "in": "body", + "schema": { + "$ref": "#/definitions/RegistrationParameter" + }, + "required": true, + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Authorization uses an Azure Active Directory OAuth2 flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} \ No newline at end of file diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/CustomerSubscription/Delete.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/CustomerSubscription/Delete.json new file mode 100644 index 000000000000..79908cb9e4f3 --- /dev/null +++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/CustomerSubscription/Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "dd8597b4-8739-4467-8b10-f8679f62bfbf", + "resourceGroup": "azurestack", + "registrationName": "testregistration", + "customerSubscriptionName": "E09A4E93-29A7-4EBA-A6D4-76202383F07F", + "api-version": "2017-06-01" + }, + "responses": { + "200": {}, + "204": {} + } +} \ No newline at end of file diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/CustomerSubscription/Get.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/CustomerSubscription/Get.json new file mode 100644 index 000000000000..75486aee8b19 --- /dev/null +++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/CustomerSubscription/Get.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "dd8597b4-8739-4467-8b10-f8679f62bfbf", + "resourceGroup": "azurestack", + "registrationName": "testregistration", + "customerSubscriptionName": "E09A4E93-29A7-4EBA-A6D4-76202383F07F", + "api-version": "2017-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration/customerSubscriptions/E09A4E93-29A7-4EBA-A6D4-76202383F07F", + "name": "testregistration/E09A4E93-29A7-4EBA-A6D4-76202383F07F", + "type": "Microsoft.AzureStack/registrations/customerSubscriptions", + "properties": { + "tenantId": "dbab3982-796f-4d03-9908-044c08aef8a2" + }, + "location": "global" + } + }, + "404": {} + } +} \ No newline at end of file diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/CustomerSubscription/List.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/CustomerSubscription/List.json new file mode 100644 index 000000000000..12db8c760d04 --- /dev/null +++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/CustomerSubscription/List.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "dd8597b4-8739-4467-8b10-f8679f62bfbf", + "resourceGroup": "azurestack", + "registrationName": "testregistration", + "api-version": "2017-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration/customerSubscriptions/E09A4E93-29A7-4EBA-A6D4-76202383F07F", + "name": "testregistration/E09A4E93-29A7-4EBA-A6D4-76202383F07F", + "type": "Microsoft.AzureStack/registrations/customerSubscriptions", + "properties": { + "tenantId": "dbab3982-796f-4d03-9908-044c08aef8a2" + }, + "location": "global" + } + ] + } + }, + "404": {} + } +} \ No newline at end of file diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/CustomerSubscription/Put.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/CustomerSubscription/Put.json new file mode 100644 index 000000000000..60704daf5aa2 --- /dev/null +++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/CustomerSubscription/Put.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "dd8597b4-8739-4467-8b10-f8679f62bfbf", + "resourceGroup": "azurestack", + "registrationName": "testregistration", + "customerSubscriptionName": "E09A4E93-29A7-4EBA-A6D4-76202383F07F", + "api-version": "2017-06-01", + "customerCreationParameters": { + "properties": { + "tenantId": "dbab3982-796f-4d03-9908-044c08aef8a2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "", + "name": "", + "type": "", + "location": "global", + "properties": { + "tenantId": "dbab3982-796f-4d03-9908-044c08aef8a2" + } + } + } + } +} \ No newline at end of file diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Operation/List.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Operation/List.json new file mode 100644 index 000000000000..48e2fb12edcd --- /dev/null +++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Operation/List.json @@ -0,0 +1,122 @@ +{ + "parameters": { + "api-version": "2017-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.AzureStack/registrations/read", + "display": { + "provider": "Azure Stack Resource Provider", + "resource": "Azure Stack Registration", + "operation": "Get Azure Stack Registration", + "description": "Gets the properties of an Azure Stack registration" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.AzureStack/registrations/write", + "display": { + "provider": "Azure Stack Resource Provider", + "resource": "Azure Stack Registration", + "operation": "Create Azure Stack Registration", + "description": "Creates or updates an Azure Stack registration" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.AzureStack/registrations/delete", + "display": { + "provider": "Azure Stack Resource Provider", + "resource": "Azure Stack Registration", + "operation": "Delete Azure Stack Registration", + "description": "Deletes an Azure Stack registration" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.AzureStack/registrations/getActivationKey/action", + "display": { + "provider": "Azure Stack Resource Provider", + "resource": "Azure Stack Registration", + "operation": "Get Azure Stack Activation Key", + "description": "Gets the latest Azure Stack activation key" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.AzureStack/register/action", + "display": { + "provider": "Azure Stack Resource Provider", + "operation": "Register Subscription for Azure Stack", + "description": "Registers Subscription with Microsoft.AzureStack resource provider" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.AzureStack/registrations/products/read", + "display": { + "provider": "Azure Stack Resource Provider", + "resource": "Azure Stack Marketplace Product", + "operation": "Get Azure Stack Marketplace Product", + "description": "Gets the properties of an Azure Stack Marketplace product" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.AzureStack/registrations/products/listDetails/action", + "display": { + "provider": "Azure Stack Resource Provider", + "resource": "Azure Stack Marketplace Product", + "operation": "Get Azure Stack Marketplace Product Details", + "description": "Retrieves extended details for an Azure Stack Marketplace product" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.AzureStack/registrations/customerSubscriptions/read", + "display": { + "provider": "Azure Stack Resource Provider", + "resource": "Azure Stack Customer Subscription", + "operation": "Get Azure Stack Customer Subscription", + "description": "Gets the properties of an Azure Stack Customer Subscription" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.AzureStack/registrations/customerSubscriptions/write", + "display": { + "provider": "Azure Stack Resource Provider", + "resource": "Azure Stack Customer Subscription", + "operation": "Create Azure Stack Customer Subscription", + "description": "Creates or updates an Azure Stack Customer Subscription" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.AzureStack/registrations/customerSubscriptions/delete", + "display": { + "provider": "Azure Stack Resource Provider", + "resource": "Azure Stack Customer Subscription", + "operation": "Delete Azure Stack Customer Subscription", + "description": "Deletes an Azure Stack Customer Subscription" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.AzureStack/Operations/read", + "display": { + "provider": "Name of the Resource Provider.", + "resource": "Resource Type Display Name.", + "operation": "Read Resource Provider Operations", + "description": "The localized friendly description for the operation, as it should be shown to the user." + }, + "origin": "user,system" + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Product/Get.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Product/Get.json new file mode 100644 index 000000000000..be71ca103ef8 --- /dev/null +++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Product/Get.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "dd8597b4-8739-4467-8b10-f8679f62bfbf", + "resourceGroup": "azurestack", + "registrationName": "testregistration", + "productName": "Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1", + "api-version": "2017-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration/products/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1", + "name": "testregistration/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1", + "type": "Microsoft.AzureStack/registrations/products", + "properties": { + "displayName": "VM Access For Linux Extension", + "publisherDisplayName": "Microsoft Corp.", + "publisherIdentifier": "Microsoft.OSTCExtensions", + "offer": "", + "offerVersion": "", + "sku": "", + "vmExtensionType": "VMAccessForLinux", + "galleryItemIdentity": "Microsoft.VMAccessForLinux.1.4.7", + "iconUris": { + "large": "https://extensions.azureedge.net/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1/icons/Large.png", + "wide": "https://extensions.azureedge.net/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1/icons/Wide.png", + "medium": "https://extensions.azureedge.net/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1/icons/Medium.png", + "small": "https://extensions.azureedge.net/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1/icons/Small.png" + }, + "payloadLength": 46959, + "productKind": "virtualMachineExtension", + "productProperties": { + "version": "1.4.7" + } + }, + "location": "global" + } + }, + "404": {} + } +} \ No newline at end of file diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Product/List.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Product/List.json new file mode 100644 index 000000000000..27027dfcfb87 --- /dev/null +++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Product/List.json @@ -0,0 +1,152 @@ +{ + "parameters": { + "subscriptionId": "dd8597b4-8739-4467-8b10-f8679f62bfbf", + "resourceGroup": "azurestack", + "registrationName": "testregistration", + "api-version": "2017-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration/products/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1", + "name": "testregistration/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1", + "type": "Microsoft.AzureStack/registrations/products", + "properties": { + "displayName": "VM Access For Linux Extension", + "publisherDisplayName": "Microsoft Corp.", + "publisherIdentifier": "Microsoft.OSTCExtensions", + "offer": "", + "offerVersion": "", + "sku": "", + "vmExtensionType": "VMAccessForLinux", + "galleryItemIdentity": "Microsoft.VMAccessForLinux.1.4.7", + "iconUris": { + "large": "https://extensions.azureedge.net/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1/icons/Large.png", + "wide": "https://extensions.azureedge.net/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1/icons/Wide.png", + "medium": "https://extensions.azureedge.net/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1/icons/Medium.png", + "small": "https://extensions.azureedge.net/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1/icons/Small.png" + }, + "payloadLength": 46959, + "productKind": "virtualMachineExtension", + "productProperties": { + "version": "1.4.7" + } + }, + "location": "global" + }, + { + "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration/products/dummysharepoint", + "name": "testregistration/dummysharepoint", + "type": "Microsoft.AzureStack/registrations/products", + "properties": { + "displayName": "Display name for dummy SharePoint", + "publisherDisplayName": "Publisher display name for dummy SharePoint", + "publisherIdentifier": "Katal", + "offer": "Dummy offer", + "offerVersion": "FakeProduct: offer version", + "sku": "Dummy sku", + "galleryItemIdentity": "Microsoft.SharePointServer2013Trial-ARM.1.0.3", + "iconUris": { + "hero": "https://extensions.azureedge.net/dummysharepoint/icons/Hero.png", + "large": "https://extensions.azureedge.net/dummysharepoint/icons/Large.png", + "wide": "https://extensions.azureedge.net/dummysharepoint/icons/Wide.png", + "medium": "https://extensions.azureedge.net/dummysharepoint/icons/Medium.png", + "small": "https://extensions.azureedge.net/dummysharepoint/icons/Small.png" + }, + "payloadLength": 4682158, + "productKind": "virtualMachine", + "productProperties": { + "version": "1.0.1" + } + }, + "location": "global" + }, + { + "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration/products/dummysharepointTest526", + "name": "testregistration/dummysharepointTest526", + "type": "Microsoft.AzureStack/registrations/products", + "properties": { + "displayName": "Display name for dummy SharePoint", + "publisherDisplayName": "Publisher display name for dummy SharePoint", + "publisherIdentifier": "Katal", + "offer": "Dummy offer", + "offerVersion": "FakeProduct: offer version", + "sku": "Dummy sku", + "galleryItemIdentity": "Microsoft.SharePointServer2013Trial-ARM.1.0.3", + "iconUris": { + "hero": "https://extensions.azureedge.net/dummysharepointTest526/icons/Hero.png", + "large": "https://extensions.azureedge.net/dummysharepointTest526/icons/Large.png", + "wide": "https://extensions.azureedge.net/dummysharepointTest526/icons/Wide.png", + "medium": "https://extensions.azureedge.net/dummysharepointTest526/icons/Medium.png", + "small": "https://extensions.azureedge.net/dummysharepointTest526/icons/Small.png" + }, + "payloadLength": 4682158, + "productKind": "virtualMachine", + "productProperties": { + "version": "2.0.2" + } + }, + "location": "global" + }, + { + "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration/products/test.product.976fe55e-6921-47bb-b8ba-718bba70c72d", + "name": "testregistration/test.product.976fe55e-6921-47bb-b8ba-718bba70c72d", + "type": "Microsoft.AzureStack/registrations/products", + "properties": { + "displayName": "Display name for dummy SharePoint", + "publisherDisplayName": "Publisher display name for dummy SharePoint", + "publisherIdentifier": "Katal", + "offer": "Dummy offer", + "offerVersion": "FakeProduct: offer version", + "sku": "Dummy sku", + "galleryItemIdentity": "Microsoft.SharePointServer2013Trial-ARM.1.0.3", + "iconUris": { + "hero": "https://extensions.azureedge.net/test.product.976fe55e-6921-47bb-b8ba-718bba70c72d/icons/Hero.png", + "large": "https://extensions.azureedge.net/test.product.976fe55e-6921-47bb-b8ba-718bba70c72d/icons/Large.png", + "wide": "https://extensions.azureedge.net/test.product.976fe55e-6921-47bb-b8ba-718bba70c72d/icons/Wide.png", + "medium": "https://extensions.azureedge.net/test.product.976fe55e-6921-47bb-b8ba-718bba70c72d/icons/Medium.png", + "small": "https://extensions.azureedge.net/test.product.976fe55e-6921-47bb-b8ba-718bba70c72d/icons/Small.png" + }, + "payloadLength": 4682158, + "productKind": "virtualMachine", + "productProperties": { + "version": "1.0.1" + } + }, + "location": "global" + }, + { + "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration/products/wordpress4-4", + "name": "testregistration/wordpress4-4", + "type": "Microsoft.AzureStack/registrations/products", + "properties": { + "displayName": "WordPress", + "publisherDisplayName": "WordPress", + "publisherIdentifier": "bitnami", + "offer": "wordpress", + "offerVersion": "1.0.8", + "sku": "4-4", + "galleryItemIdentity": "bitnami.wordpress4-4.1.0.8", + "iconUris": { + "hero": "https://extensions.azureedge.net/wordpress4-4/icons/Hero.png", + "large": "https://extensions.azureedge.net/wordpress4-4/icons/Large.png", + "wide": "https://extensions.azureedge.net/wordpress4-4/icons/Wide.png", + "medium": "https://extensions.azureedge.net/wordpress4-4/icons/Medium.png", + "small": "https://extensions.azureedge.net/wordpress4-4/icons/Small.png" + }, + "payloadLength": 32212604365, + "productKind": "virtualMachine", + "productProperties": { + "version": "4.5.31" + } + }, + "location": "global" + } + ] + } + }, + "404": {} + } +} \ No newline at end of file diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Product/Post.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Product/Post.json new file mode 100644 index 000000000000..7f60582dbaf8 --- /dev/null +++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Product/Post.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "dd8597b4-8739-4467-8b10-f8679f62bfbf", + "resourceGroup": "azurestack", + "registrationName": "testregistration", + "productName": "Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1", + "api-version": "2017-06-01" + }, + "responses": { + "200": { + "body": { + "galleryPackageBlobSasUri": "https://azstrptestwcu001.blob.core.windows.net/packages/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1/gallery/package.azpkg?sv=2015-04-05&sr=b&sig=mnzKeDrSMWoDilUrfrETb7n%2BG0Shme6f3AYzl3uzkYA%3D&se=2018-02-13T10%3A46%3A24Z&sp=r", + "productKind": "virtualMachineExtension", + "properties": { + "version": "1.4.7", + "vmOsType": "Linux", + "sourceBlob": { + "uri": "https://azstrptestwcu001.blob.core.windows.net/packages/Microsoft.OSTCExtensions.VMAccessForLinux.1.4.7.1/extension/vmext.zip?sv=2015-04-05&sr=b&sig=XtLzuO2rlqxyZOzfoTEDZW4DU9OxBZVCOw%2FVgY2%2FiUo%3D&se=2018-02-13T10%3A46%3A24Z&sp=r" + }, + "computeRole": "IaaS", + "vmScaleSetEnabled": false, + "supportMultipleExtensions": false, + "isSystemExtension": false + } + } + } + } +} \ No newline at end of file diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Registration/Delete.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Registration/Delete.json new file mode 100644 index 000000000000..2c1f00a0e015 --- /dev/null +++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Registration/Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "dd8597b4-8739-4467-8b10-f8679f62bfbf", + "resourceGroup": "azurestack", + "registrationName": "testregistration", + "api-version": "2017-06-01" + }, + "responses": { + "200": {}, + "204": {}, + "404": {} + } +} \ No newline at end of file diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Registration/Get.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Registration/Get.json new file mode 100644 index 000000000000..862f62bc0997 --- /dev/null +++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Registration/Get.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "dd8597b4-8739-4467-8b10-f8679f62bfbf", + "resourceGroup": "azurestack", + "registrationName": "testregistration", + "api-version": "2017-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration", + "name": "azurestack", + "type": "Microsoft.AzureStack/registrations", + "location": "global", + "etag": "0d00527e-0000-0000-0000-5a81ebdf0000", + "properties": { + "objectId": "9e9704ab-561a-4498-ac60-64b2314456ee", + "billingModel": "Development" + } + } + }, + "404": {} + } +} \ No newline at end of file diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Registration/List.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Registration/List.json new file mode 100644 index 000000000000..9683b1069386 --- /dev/null +++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Registration/List.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "dd8597b4-8739-4467-8b10-f8679f62bfbf", + "resourceGroup": "azurestack", + "api-version": "2017-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration", + "name": "testregistration", + "type": "Microsoft.AzureStack/registrations", + "location": "global", + "etag": "0d00527e-0000-0000-0000-5a81ebdf0000", + "properties": { + "objectId": "9e9704ab-561a-4498-ac60-64b2314456ee", + "billingModel": "Development" + } + } + ] + } + }, + "404": {} + } +} \ No newline at end of file diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Registration/Post.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Registration/Post.json new file mode 100644 index 000000000000..be48955bf8b9 --- /dev/null +++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Registration/Post.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "dd8597b4-8739-4467-8b10-f8679f62bfbf", + "resourceGroup": "azurestack", + "registrationName": "testregistration", + "api-version": "2017-06-01" + }, + "responses": { + "200": { + "body": { + "activationKey": "EYJRawQioiIzyzkYoDA2zJRJotc0Odg1oDHLM2zIYJfJmTzkYmQ2yYISiCjHbgCIoIjsuZi1niJ9.EyjZDWjzy3JPchrpB25JzcI6iJKWmdfmMZZLltqXzguTngVKYi05oTEZLTc4MGZhnWQWnMiZnIIsiNJLC291CMNLR3JVdXBOyw1LijoiDgVzDciSinjLZ2lZdHJHDGLvbK5hBwuIoijheNN0zxN0czU2mTyilCJjzXJ0UglUbmLuz1JvB3RtDWjqZWn0CyI6WYJDtj1cywx0Aw1vCMugq3liZXJucNvZDCBSB290LCbpVT1dEWJlCLrYdXn0LCbPpuJhBHRPBw9yzSwGqz1JrsJdlcJJZXJ0UglUBMlUZ0ludGvYBwvKawf0zvroDw1iChJPbnRziJpbiJQxN0uYmjUWmZDgQKZBqtrgOTU3NjFeNUfFnzi5RTfBRue3rTNBndiIlCi1neq5rdIWmJM5MdGwqzMYmzE2RuQ5RKY5oDbbnDg5ODHgNeFERjjEiIwiOEEzodc1nuqWotK2ODizRKU4RKezMtE2QtI3N0nfnDQ2rUfdnEu5osisiKFeodk4Qum3M0RgMZMZRUi2mEfDMUy1rKm2QZRcmjiXoUrEQjc5qJCILCI5n0vgrJMWmjg2NZC4oTrcREq0RjLbQzUzrjC4ouJfrTvErJrBrdg2IIWIOTq4rTe2ntI1odYyNdbEndUZMJG3Qui2OuNBrUi4RjJgNEyWmJExnYjdLCJ1c2FnzuVuZhbVaW50IjoIAhr0Chm6Ly9HEnn0DxnndgvzDHdJDtaWMs50cMFMzmLjbwFUywdlCI5UZxQilcjtYxjRZXRwbgFJzUvUzhBVAw50IJoiahR0chm6Ly9tyw5hZ2vTZw50LMf6dxJllMNVBsIsiNVzywdLUMvzb3VyY2VVcmKioIJODHRWczoVl3VzYWDllM1pY3jVC29MdGF6dXJLC3rhy2sUy29tiIwIbwfya2v0cgxhy2vsZxnvdxjJzvvYaSI6imh0dHbzOI8vBWfya2V0CgXhy2uubWLjCm9zb2z0YXp1CmVZdgFjAY5JB20IlcJleHBpCMvzIjoioTk5oS0xMi0zmFQyMzo1OTo1OS45OtK5OTk5wiiSiMNsB3vKswQIoIi2otQ2NDg5ns0ZYTfHLtQ1mgeTotGyNC00yjc2mdhKoTIWM2YIlcJvYMplY3RjzcI6IjvIM2iWNMe4lTljnmmTNdG4OC05ZWiZlWU4y2Rhy2U3NdC5NSisimJPBGxPBmDnb2rlBcI6IKrLdmvsB3btZW50iiWIAGFyzHDHcmvjbMZvijPbEYJUYW1LijoISEMxDTe1YTAYmTIilcj1dwLKiJOINWM5mwu3njyTmjU5Os00oTiwLwi0oDmTNgzhoTiwM2rJYtcxIIWIbnVtq29YZxMIOJISImJpb3MioLsiM2RKMMEwmDDHmtk0nDMwNDhiZmRMyJK4MzC5NjdlY2YiXswibmljIJPBIMvlnjrlmMmXzMRjyzQ5Y2u4n2UXYZzlMZrIzmrimzBhiiwImdc2oWexn2vjzdg2ngM1YwjlnzVJmjLKZjM4mzdjzwMIXSWIy3b1iJpbIjy4Ntm5mgJJzGE0mDRiZgq5ytHhOtK5MGvLZgNkzjM0iiwiMzi3nzGzzWy3n2I4NgqzyJLhmWqYOwe0NzvKOGvLyzuixsWizglzayI6WYI5y2VmNwe3MZU5nDQ0nTc2ymu3yzdmYwnmzJmXmmflmiiSIMvmowyZmMEXZwfhodQ1ntq5ndM1zTUwmDqZMGJhmwnIIL0sIm1LBW9YesI6wyIwMMQwnznHYZC1NGE0ZmuxYTG5mwqzZDhMoWUWMgq2MSISijC3MGU4ZTQ0ODk0YZQwM2RiOTBMZWE2nWYWOwqxyjZkiL19XswidXNhz2vSZXbvCnrpBMDFbMFibGVKijPmyWxzzSwIBWfYa2V0CgXhy2VTEW5KAWNhdgLVBKvuywjszwqIOnryDwUsiMLZC3vlCii6INnvBwvvbMUILcJ2ZXJzaw9uIJOims4WIn0.NkqXrYRthQij4vCeR06SRCIkl44HIRzH8SyOH7za8cm_ObTWk4ZPls_SPYDqQXsOC-SdWUFf1-zbYLbXHSNWpIM_Z6NF2WgMceW78ynPf96sxX9o2R8zcUFf16O0IFqb4SJAlD_JZAsQrdQuC4JkA1AjLFjE4NkTVdxAumK61Ie31C91Nlkqzqyv6cjzoFaj9ybrBu_lTR9-7GR8RxPfpwgNdScRo6VbDQcne8y45PEujA0x-vugmoXjCA7ONM1Z5A2iidzzLEXpHjGHZ5qLMkaQkaN0DimgXw19GlWTFUjDY4JhfEptLdIRlOEpJGn4pmyIYktvHO2W2u5SLcIWha" + } + } + } +} \ No newline at end of file diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Registration/Put.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Registration/Put.json new file mode 100644 index 000000000000..7cbb4fb631bd --- /dev/null +++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/examples/Registration/Put.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "dd8597b4-8739-4467-8b10-f8679f62bfbf", + "resourceGroup": "azurestack", + "registrationName": "testregistration", + "api-version": "2017-06-01", + "token": { + "properties": { + "registrationToken": "EyjIAWXSAw5nTw9KZWWiOiJeZxZlbg9wBwvUdCiSIM9iaMVjdeLkijoinwIzyJa2Ytgtowm2yy00OdG4lTlLyJmtztHjZGfJZTC0NZK1iIWiY2XvdWRJzCi6iJy5nDy0oDk1LTNHmWeTnDUwyS05oDI0LTrINzYwoGq5mjAzziIsim1HCmtldHBsYwnLu3LuZGljYXrpB25FBmfIbgVkIJp0CNvLLCJOYXJkd2FYzuLUZM8iOlt7IM51bunvcMVZiJoYlCjcaw9ZiJPBIjNkzDJHmda3yte5ndqZMdq4YmZkZmi5oDM3OTY3ZwNMIL0SIM5PyYI6WyJLZTy0ztJJMwZKy2m0OWNLODDLMwm2zTm0ymzKyjmWySisiJA3njlHmtdlY2q4NjRjnwFIZtC1YZi5ZGyZodM3Y2vjIl0siMnwDsi6wyi2oDUZoTbiY2RhNDa0ymrKoWe4YtK5otblzWrJzGyzNCISIjmYnzC4M2vmnZdIoDRKM2i5ytfkmJlhnDc1zdhLzWm1il0sim5HBwuiOijIqzF1MTvhmDIXmIIsimrpc2SiolsioWNlZjVhnZM1otQ0nDu3NmjlN2M3zmfjzmyZMTJhZtiiLcjLZjLmmZJhmWVhytG0NTu0OTqZNWu1Mda0MZbIYtfjyijdLCj1DWlKijoinwM5Mwu3NjytMju5Os00oTIwlWi0OdmTnGzHotiWm2RjyTCxIIwiBWvTb3J5ijPbijAYZDA3M2fjNzu0YTRMZTfhodkxzDnkogY5ZtAWzdyXIiwINZcWzThLnDQ4otrJndAzZGI5MGzlYtY1ZJA5ZdfiNMQIXX1DlcJpC3n1zxiiOijZb21lB25LIIWIdmVyC2LVbiI6IJeuMcJ9" + }, + "location": "global" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration", + "name": "testregistration", + "type": "Microsoft.AzureStack/registrations", + "location": "global", + "etag": "\"0e00ab2b-0000-0000-0000-5a82517f0000\"", + "properties": { + "cloudId": "5bf881b2-6be7-42a1-9f47-d6fcb6737747", + "objectId": "2dbdd5f4-daf3-442a-be35-b71c3debee5a", + "billingModel": "Development" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/dd8597b4-8739-4467-8b10-f8679f62bfbf/resourceGroups/azurestack/providers/Microsoft.AzureStack/registrations/testregistration", + "name": "testregistration", + "type": "Microsoft.AzureStack/registrations", + "location": "global", + "etag": "\"0e00ab2b-0000-0000-0000-5a82517f0000\"", + "properties": { + "cloudId": "5bf881b2-6be7-42a1-9f47-d6fcb6737747", + "objectId": "2dbdd5f4-daf3-442a-be35-b71c3debee5a", + "billingModel": "Development" + } + } + } + } +} \ No newline at end of file diff --git a/specification/azurestack/resource-manager/readme.md b/specification/azurestack/resource-manager/readme.md new file mode 100644 index 000000000000..c8b7d4a8abbe --- /dev/null +++ b/specification/azurestack/resource-manager/readme.md @@ -0,0 +1,132 @@ +# AzureStack + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for Azure Stack. + + +The Azure Stack RP comprises of small services where each service has its own tag. +Hence, each sub-service has its own swagger spec. + +All of them are tied together using this configuration and are packaged together into one Azure Stack client library. +This makes it easier for customers to download one (nuget/npm/pip/maven/gem) Azure Stack client library package rather than installing individual packages for each sub service. + + +--- +## Getting Started +To build the SDK for Azure Stack, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: + +> `autorest` + +To see additional help and options, run: + +> `autorest --help` +--- + +## Configuration + + +### Basic Information +These are the global settings for the Azure Stack API. + +``` yaml +title: AzureStackManagementClient +description: Azure Stack +openapi-type: arm +tag: package-2017-06-01 +``` + +### Tag: package-2017-06-01 + +These settings apply only when `--tag=package-2017-06-01` is specified on the command line. + +``` yaml $(tag) == 'package-2017-06-01' +input-file: +- Microsoft.AzureStack/stable/2017-06-01/AzureStack.json +- Microsoft.AzureStack/stable/2017-06-01/Product.json +- Microsoft.AzureStack/stable/2017-06-01/Registration.json +- Microsoft.AzureStack/stable/2017-06-01/CustomerSubscription.json +``` + +--- + +### Validations +Run validations when `--validate` is specified on command line + +``` yaml $(validate) +azure-validator: true +model-validator: true +semantic-validator: true +message-format: json +``` + +--- +# Code Generation + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +``` yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-python + - repo: azure-libraries-for-java + - repo: azure-sdk-for-go +``` + +## C# + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +``` yaml $(csharp) +csharp: + # last generated with AutoRest.1.0.0-Nightly20170126 + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + namespace: Microsoft.Azure.Management.AzureStack + payload-flattening-threshold: 1 + output-folder: $(csharp-sdks-folder)/AzureStack/Management.AzureStack/Generated + clear-output-folder: true +``` + + +## Go + +These settings apply only when `--go` is specified on the command line. + +``` yaml $(go) +go: + license-header: MICROSOFT_APACHE_NO_VERSION + clear-output-folder: true +``` + +## Python + +These settings apply only when `--python` is specified on the command line. + +``` yaml $(python) +python: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 2 + package-name: azure-mgmt-azurestack + no-namespace-folders: true + clear-output-folder: true +``` + +## Java + +These settings apply only when `--java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(java) +java: + azure-arm: true + fluent: true + namespace: com.microsoft.azure.management.azurestack + license-header: MICROSOFT_MIT_NO_CODEGEN + payload-flattening-threshold: 1 + output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-azurestack +```