diff --git a/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2018-02-01-preview/examples/CreateImageTemplate.json b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2018-02-01-preview/examples/CreateImageTemplate.json new file mode 100644 index 000000000000..6725b6f27811 --- /dev/null +++ b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2018-02-01-preview/examples/CreateImageTemplate.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2018-02-01-preview", + "imageTemplateName": "myImageTemplate", + "parameters": { + "location": "westus", + "tags": { + "imagetemplate_tag1": "IT_T1", + "imagetemplate_tag2": "IT_T2" + }, + "properties": { + "source": { + "type": "ISO", + "sourceURI": "http://redhat.com/path/to/installation.iso", + "sha256Checksum": "120acbca7b3d55465eb9f8ef53ad7365f2997d42d4f83d7cc285bf5c71e1131f" + }, + "customize": [ + { + "type": "shell", + "name": "Shell Customizer Example", + "script": "https://example.com/path/to/script.sh" + } + ], + "distribute": [ + { + "type": "managedImage", + "location": "1_location", + "runOutputName": "image_it_pir_1", + "imageId": "/subscriptions/{subscription-id}/resourceGroups/rg1/providers/Microsoft.Compute/images/image_it_1", + "tags": { + "tagName": "value" + } + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.VirtualMachineImages/imageTemplates/myImageTemplate", + "name": "myImageTemplate", + "location": "westus", + "type": "Microsoft.VirtualMachineImages/imageTemplate", + "properties": { + "source": { + "type": "ISO", + "sourceURI": "http://redhat.com/path/to/installation.iso", + "sha256Checksum": "120acbca7b3d55465eb9f8ef53ad7365f2997d42d4f83d7cc285bf5c71e1131f" + }, + "customize": [ + { + "type": "shell", + "name": "Shell Customizer Example", + "script": "https://example.com/path/to/script.sh" + } + ], + "distribute": [ + { + "type": "managedImage", + "location": "1_location", + "runOutputName": "image_it_pir_1", + "imageId": "/subscriptions/{subscription-id}/resourceGroups/rg1/providers/Microsoft.Compute/images/image_it_1", + "tags": { + "tagName": "value" + } + } + ] + } + } + } + } +} diff --git a/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2018-02-01-preview/examples/DeleteImageTemplate.json b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2018-02-01-preview/examples/DeleteImageTemplate.json new file mode 100644 index 000000000000..80fe8d5c44d6 --- /dev/null +++ b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2018-02-01-preview/examples/DeleteImageTemplate.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "imageTemplateName":"myImageTemplate", + "api-version": "2018-02-01-preview" + }, + "responses":{ + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscription-id}/providers/Microsoft.VirtualMachineImages/locations/westus/operations/85506efc-36f7-11e9-a0c2-000d3afd16e3?api-version=2018-02-01-preview" + } + } + } +} diff --git a/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2018-02-01-preview/examples/GetImageTemplate.json b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2018-02-01-preview/examples/GetImageTemplate.json new file mode 100644 index 000000000000..6ff707552339 --- /dev/null +++ b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2018-02-01-preview/examples/GetImageTemplate.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2018-02-01-preview", + "imageTemplateName": "myImageTemplate" + }, + "responses": { + "202": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.VirtualMachineImages/imageTemplates/myImageTemplate", + "name": "myImageTemplate", + "location": "westus", + "type": "Microsoft.VirtualMachineImages/imageTemplate", + "properties": { + "source": { + "type": "ISO", + "sourceURI": "http://redhat.com/path/to/installation.iso", + "sha256Checksum": "120acbca7b3d55465eb9f8ef53ad7365f2997d42d4f83d7cc285bf5c71e1131f" + }, + "customize": [ + { + "type": "shell", + "name": "Shell Customizer Example", + "script": "https://example.com/path/to/script.sh" + } + ], + "distribute": [ + { + "type": "managedImage", + "location": "1_location", + "runOutputName": "image_it_pir_1", + "imageId": "/subscriptions/{subscription-id}/resourceGroups/rg1/providers/Microsoft.Compute/images/image_it_1", + "tags": { + "tagName": "value" + } + } + ] + } + } + } + } +} diff --git a/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2018-02-01-preview/examples/GetRunOutput.json b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2018-02-01-preview/examples/GetRunOutput.json new file mode 100644 index 000000000000..d7ef1d1c3a52 --- /dev/null +++ b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2018-02-01-preview/examples/GetRunOutput.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "imageTemplateName":"myImageTemplate", + "runOutputName": "myManagedImageOutput", + "api-version": "2018-02-01-preview" + }, + "responses":{ + "200": { + "body":{ + "id": "/subscriptions/{subscription-id}/resourcegroups/myResourceGroup/providers/Microsoft.VirtualMachineImages/imageTemplates/myImageTemplate/runOutputs/myManagedImageOutput", + "name": "myManagedImageOutput", + "properties": { + "artifactId": "/subscriptions/{subscription-id}/resourceGroups/rg1/providers/Microsoft.Compute/images/output_managed_image", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.VirtualMachineImages/imageTemplates/runOutputs" + } + } + } +} diff --git a/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2018-02-01-preview/examples/ListImageTemplates.json b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2018-02-01-preview/examples/ListImageTemplates.json new file mode 100644 index 000000000000..62546513c8cf --- /dev/null +++ b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2018-02-01-preview/examples/ListImageTemplates.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2018-02-01-preview" + }, + "responses": { + "202": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.VirtualMachineImages/imageTemplates/myImageTemplate", + "name": "myImageTemplate", + "location": "westus", + "type": "Microsoft.VirtualMachineImages/imageTemplate", + "properties": { + "source": { + "type": "ISO", + "sourceURI": "http://redhat.com/path/to/installation.iso", + "sha256Checksum": "120acbca7b3d55465eb9f8ef53ad7365f2997d42d4f83d7cc285bf5c71e1131f" + }, + "customize": [ + { + "type": "shell", + "name": "Shell customization example", + "script": "https://example.com/path/to/script.sh" + } + ], + "distribute": [ + { + "type": "managedImage", + "location": "1_location", + "runOutputName": "image_it_pir_1", + "imageId": "/subscriptions/{subscription-id}/resourceGroups/rg1/providers/Microsoft.Compute/images/image_it_1", + "tags": { + "tagName": "value" + } + } + ] + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myOtherResourceGroup/providers/Microsoft.VirtualMachineImages/imageTemplates/mySecondImageTemplate", + "name": "mySecondImageTemplate", + "location": "westus", + "type": "Microsoft.VirtualMachineImages/imageTemplate", + "properties": { + "source": { + "type": "PlatformImage", + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "18.04-LTS", + "version": "18.04.201902121" + }, + "customize": [ + { + "type": "shell", + "name": "Shell customization example", + "script": "https://example.com/path/to/script.sh" + } + ], + "distribute": [ + { + "type": "managedImage", + "location": "eastus", + "runOutputName": "eus", + "imageId": "/subscriptions/{subscription-id}/resourceGroups/rg1/providers/Microsoft.Compute/images/mySecondImage-eus", + "tags": { + "stage": "development" + } + } + ] + } + } + ], + "nextLink": "/subscriptions/{subscription-id}/providers/Microsoft.VirtualMachineImages/imageTemplates?api-version=2018-02-01-preview&skip-token=2" + } + } + } +} diff --git a/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2018-02-01-preview/examples/ListImageTemplatesByRg.json b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2018-02-01-preview/examples/ListImageTemplatesByRg.json new file mode 100644 index 000000000000..d74c8cf3ef8b --- /dev/null +++ b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2018-02-01-preview/examples/ListImageTemplatesByRg.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "subscritionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2018-02-01-preview" + }, + "responses": { + "202": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.VirtualMachineImages/imageTemplates/myImageTemplate", + "name": "myImageTemplate", + "location": "westus", + "type": "Microsoft.VirtualMachineImages/imageTemplate", + "properties": { + "source": { + "type": "ISO", + "sourceURI": "http://redhat.com/path/to/installation.iso", + "sha256Checksum": "120acbca7b3d55465eb9f8ef53ad7365f2997d42d4f83d7cc285bf5c71e1131f" + }, + "customize": [ + { + "type": "shell", + "name": "Shell customization example", + "script": "https://example.com/path/to/script.sh" + } + ], + "distribute": [ + { + "type": "managedImage", + "location": "1_location", + "runOutputName": "image_it_pir_1", + "imageId": "/subscriptions/{subscription-id}/resourceGroups/rg1/providers/Microsoft.Compute/images/image_it_1", + "tags": { + "tagName": "value" + } + } + ] + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.VirtualMachineImages/imageTemplates/myOtherImageTemplate", + "name": "myOtherImageTemplate", + "location": "eastus", + "type": "Microsoft.VirtualMachineImages/imageTemplate", + "properties": { + "source": { + "type": "PlatformImage", + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "18.04-LTS", + "version": "18.04.201902121" + }, + "customize": [ + { + "type": "shell", + "name": "Shell customization example", + "script": "https://example.com/path/to/script.sh" + } + ], + "distribute": [ + { + "type": "managedImage", + "location": "centralus", + "runOutputName": "singleImage", + "imageId": "/subscriptions/{subscription-id}/resourceGroups/rg1/providers/Microsoft.Compute/images/baseimage-cus" + }, + { + "type": "sharedImage", + "galleryImageId": "/subscriptions/{subscription-id}/resourceGroups/rg1/providers/Microsoft.Compute/gallery/baseimages/images/baseimage", + "replicationRegions":[ "eastus", "westus"], + "runOutputName": "gallery", + "imageId": "/subscriptions/{subscription-id}/resourceGroups/rg1/providers/Microsoft.Compute/images/baseimage-eus" + } + ] + } + } + ], + "nextLink": "/subscriptions/{subscription-id}/resourceGroup/myResourceGroup/providers/Microsoft.VirtualMachineImages/imageTemplates?api-version=2018-02-01-preview&skip-token=2" + } + } + } +} diff --git a/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2018-02-01-preview/examples/ListRunOutputs.json b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2018-02-01-preview/examples/ListRunOutputs.json new file mode 100644 index 000000000000..40491e85e862 --- /dev/null +++ b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2018-02-01-preview/examples/ListRunOutputs.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "imageTemplateName":"myImageTemplate", + "api-version": "2018-02-01-preview" + }, + "responses":{ + "200": { + "body":{ + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourcegroups/myResourceGroup/providers/Microsoft.VirtualMachineImages/imageTemplates/myImageTemplate/runOutputs/myManagedImageOutput", + "name": "myManagedImageOutput", + "properties": { + "artifactId": "/subscriptions/{subscription-id}/resourceGroups/rg1/providers/Microsoft.Compute/images/output_managed_image", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.VirtualMachineImages/imageTemplates/runOutputs" + }, + { + "id": "/subscriptions/{subscription-id}/resourcegroups/myResourceGroup/providers/Microsoft.VirtualMachineImages/imageTemplates/myImageTemplate/runOutputs/mySharedImageOutput", + "name": "mySharedImageOutput", + "properties": { + "artifactId": "/subscriptions/{subscription-id}/resourceGroups/rg1/providers/Microsoft.Compute/galleries/Gallery1/images/SharedImageOutput/imageversions/1.2.3", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.VirtualMachineImages/imageTemplates/runOutputs" + } + ], + "nextLink": "/subscriptions/{subscription-id}/resourcegroups/myResourceGroup/providers/Microsoft.VirtualMachineImages/imageTemplates/myImageTemplate/runOutputs?api-version=2018-02-01-preview&$skipToken=3" + } + } + } +} diff --git a/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2018-02-01-preview/examples/RunImageTemplate.json b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2018-02-01-preview/examples/RunImageTemplate.json new file mode 100644 index 000000000000..30261f6efacf --- /dev/null +++ b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2018-02-01-preview/examples/RunImageTemplate.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "imageTemplateName":"myImageTemplate", + "api-version": "2018-02-01-preview" + }, + "responses":{ + "202":{ + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscription-id}/providers/Microsoft.VirtualMachineImages/locations/westus/operations/777b2050-36f8-11e9-b8fa-000d3afd16e3?api-version=2018-02-01-preview" + } + } + } +} diff --git a/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2018-02-01-preview/examples/UpdateImageTemplateTags.json b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2018-02-01-preview/examples/UpdateImageTemplateTags.json new file mode 100644 index 000000000000..937bea1ea289 --- /dev/null +++ b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2018-02-01-preview/examples/UpdateImageTemplateTags.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "imageTemplateName":"myImageTemplate", + "api-version": "2018-02-01-preview", + "parameters":{ + "tags": { + "new-tag": "new-value" + } + } + }, + "responses":{ + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.VirtualMachineImages/imageTemplates/myImageTemplate", + "name": "myImageTemplate", + "location": "westus", + "type": "Microsoft.VirtualMachineImages/imageTemplate", + "tags": { + "new-tag": "new-value" + }, + "properties": { + "source": { + "type": "ISO", + "sourceURI": "http://redhat.com/path/to/installation.iso", + "sha256Checksum": "120acbca7b3d55465eb9f8ef53ad7365f2997d42d4f83d7cc285bf5c71e1131f" + }, + "customize": [ + { + "type": "shell", + "name": "Shell customization example", + "script": "https://example.com/path/to/script.sh" + } + ], + "distribute": [ + { + "type": "managedImage", + "location": "1_location", + "runOutputName": "image_it_pir_1", + "imageId": "/subscriptions/{subscription-id}/resourceGroups/rg1/providers/Microsoft.Compute/images/image_it_1", + "tags": { + "tagName": "value" + } + } + ] + } + } + } + } +} diff --git a/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2018-02-01-preview/imagebuilder.json b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2018-02-01-preview/imagebuilder.json new file mode 100644 index 000000000000..d347af32d4bc --- /dev/null +++ b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/preview/2018-02-01-preview/imagebuilder.json @@ -0,0 +1,1069 @@ +{ + "swagger": "2.0", + "info": { + "title": "VirtualMachineImageTemplate", + "description": "Virtual Machine Image Template", + "version": "2018-02-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": { + "/subscriptions/{subscriptionId}/providers/Microsoft.VirtualMachineImages/imageTemplates": { + "get": { + "tags": [ + "VirtualMachineImageTemplate" + ], + "operationId": "VirtualMachineImageTemplate_List", + "description": "Gets information about the VM image templates associated with the subscription.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImageTemplateListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List images by subscription.": { + "$ref": "./examples/ListImageTemplates.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VirtualMachineImages/imageTemplates": { + "get": { + "tags": [ + "VirtualMachineImageTemplate" + ], + "operationId": "VirtualMachineImageTemplate_ListByResourceGroup", + "description": "Gets information about the VM image templates associated with the specified resource group.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImageTemplateListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List images by resource group": { + "$ref": "./examples/ListImageTemplatesByRg.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VirtualMachineImages/imageTemplates/{imageTemplateName}": { + "put": { + "tags": [ + "VirtualMachineImageTemplate" + ], + "operationId": "VirtualMachineImageTemplate_CreateOrUpdate", + "description": "Create or Update a Virtual Machine Image Template", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ImageTemplate" + }, + "description": "Parameters supplied to the Create Image Template" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ImageTemplateNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImageTemplate" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ImageTemplate" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "Create an Image Template.": { + "$ref": "./examples/CreateImageTemplate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via":"azure-async-operation" + } + }, + "patch": { + "tags": [ + "VirtualMachineImageTemplate" + ], + "operationId": "VirtualMachineImageTemplate_Update", + "description": "Update the tags for this Virtual Machine Image Template", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ImageTemplateUpdateParameters" + }, + "description": "Additional parameters for Image Template update." + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ImageTemplateNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImageTemplate" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "Update the tags for an Image Template.": { + "$ref": "./examples/UpdateImageTemplateTags.json" + } + } + }, + "get": { + "tags": [ + "VirtualMachineImageTemplate" + ], + "operationId": "VirtualMachineImageTemplate_Get", + "description": "Get Information about Virtual Machine Image Template", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ImageTemplateNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImageTemplate" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "Retrieve an Image Template.": { + "$ref": "./examples/GetImageTemplate.json" + } + } + }, + "delete": { + "tags": [ + "VirtualMachineImageTemplate" + ], + "operationId": "VirtualMachineImageTemplate_Delete", + "description": "Delete Virtual Machine Image Template", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ImageTemplateNameParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful." + }, + "202": { + "description": "The operation will be completed asynchronously." + }, + "204": { + "description": "NoContent -- VM image template does not exist in the subscription." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via":"azure-async-operation" + }, + "x-ms-examples": { + "Delete an Image Template.": { + "$ref": "./examples/DeleteImageTemplate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VirtualMachineImages/imageTemplates/{imageTemplateName}/run": { + "post": { + "tags": [ + "VirtualMachineImageTemplate" + ], + "operationId": "VirtualMachineImageTemplate_run", + "description": "Create artifacts from a existing Image Template", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ImageTemplateNameParameter" + } + ], + "responses": { + "204": { + "description": "The operation was successful." + }, + "202": { + "description": "The operation will be completed asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via":"azure-async-operation" + }, + "x-ms-examples": { + "Create image(s) from existing imageTemplate.": { + "$ref": "./examples/RunImageTemplate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VirtualMachineImages/imageTemplates/{imageTemplateName}/runOutputs": { + "get": { + "tags": [ + "VirtualMachineImageTemplate" + ], + "operationId": "VirtualMachineImageTemplate_ListRunOutputs", + "description": "List all run outputs for the specified Image Template resource", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ImageTemplateNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RunOutputCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Retrieve a list of all outputs created by the last run of an Image Template": { + "$ref": "./examples/ListRunOutputs.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VirtualMachineImages/imageTemplates/{imageTemplateName}/runOutputs/{runOutputName}": { + "get": { + "tags": [ + "VirtualMachineImageTemplate" + ], + "operationId": "VirtualMachineImageTemplate_GetRunOutput", + "description": "Get the specified run output for the specified Template resource", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ImageTemplateNameParameter" + }, + { + "$ref": "#/parameters/RunOutputNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RunOutput" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "Retrieve single runOutput": { + "$ref": "./examples/GetRunOutput.json" + } + } + } + }, + "/providers/Microsoft.VirtualMachineImages/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "Lists available operations for the Microsoft.VirtualMachineImages provider", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the list of available operations.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ImageTemplateListResult" : { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageTemplate" + } + }, + "nextLink": { + "type": "string", + "description": "The continuation token." + } + } + }, + "ImageTemplateSource": { + "discriminator": "type", + "properties": { + "type": { + "type": "string", + "description": "Specifies the type of source image you want to start with." + } + }, + "required": [ + "type" + ] + }, + "ImageTemplateIsoSource": { + "description": "Describes an image source that is an installation ISO. Currently only supports Red Hat Enterprise Linux 7.2-7.5 ISO's.", + "x-ms-discriminator-value": "ISO", + "allOf": [ + { + "$ref": "#/definitions/ImageTemplateSource" + } + ], + "properties": { + "sourceURI": { + "type": "string", + "description": "URL to get the ISO image. This URL has to be accessible to the resource provider at the time of the imageTemplate creation." + }, + "sha256Checksum": { + "type": "string", + "description": "SHA256 Checksum of the ISO image." + } + }, + "required": [ + "sourceURI", + "sha256Checksum" + ] + }, + "ImageTemplatePlatformImageSource": { + "description": "Describes an image source from [Azure Gallery Images](https://docs.microsoft.com/en-us/rest/api/compute/virtualmachineimages).", + "x-ms-discriminator-value": "PlatformImage", + "allOf": [ + { + "$ref": "#/definitions/ImageTemplateSource" + } + ], + "properties": { + "publisher": { + "type": "string", + "description": "Image Publisher in [Azure Gallery Images](https://docs.microsoft.com/en-us/rest/api/compute/virtualmachineimages)." + }, + "offer": { + "type": "string", + "description": "Image offer from the [Azure Gallery Images](https://docs.microsoft.com/en-us/rest/api/compute/virtualmachineimages)." + }, + "sku": { + "type": "string", + "description": "Image sku from the [Azure Gallery Images](https://docs.microsoft.com/en-us/rest/api/compute/virtualmachineimages)." + }, + "version": { + "type": "string", + "description": "Image version from the [Azure Gallery Images](https://docs.microsoft.com/en-us/rest/api/compute/virtualmachineimages)." + } + } + }, + "ImageTemplateCustomizer": { + "discriminator": "type", + "properties": { + "type": { + "type": "string", + "description": "The type of customization tool you want to use on the Image. For example, \"shell\" can be shellCustomizer" + }, + "name": { + "type": "string", + "description": "Friendly Name to provide context on what this customization step does" + } + }, + "required": [ + "type" + ] + }, + "ImageTemplateShellCustomizer": { + "description": "Runs a shell script during the customization phase", + "x-ms-discriminator-value": "shell", + "allOf": [ + { + "$ref": "#/definitions/ImageTemplateCustomizer" + } + ], + "properties": { + "script": { + "type": "string", + "description": "The shell script to be run for customizing. It can be a github link, SAS URI for Azure Storage, etc" + } + } + }, + "ImageTemplateDistributor": { + "type": "object", + "description": "Generic distribution object", + "discriminator": "type", + "properties": { + "type": { + "type": "string", + "description": "Type of distribution." + }, + "runOutputName": { + "type": "string", + "description": "The name to be used for the associated RunOutput.", + "pattern": "^[A-Za-z0-9-_]{1,64}$" + }, + "artifactTags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Tags that will be applied to the artifact once it has been created/updated by the distributor." + } + }, + "required": [ + "type", + "runOutputName" + ] + }, + "ImageTemplateManagedImageDistributor": { + "x-ms-discriminator-value": "managedImage", + "description": "Distribute as a Managed Disk Image.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ImageTemplateDistributor" + } + ], + "properties": { + "imageId": { + "type": "string", + "description": "Resource Id of the Managed Disk Image" + }, + "location": { + "type": "string", + "description": "Azure location for the image, should match if image already exists" + } + }, + "required": [ + "imageId", + "location" + ] + }, + "ImageTemplateSharedImageDistributor": { + "x-ms-discriminator-value": "sharedImage", + "description": "Distribute via Shared Image Gallery.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ImageTemplateDistributor" + } + ], + "properties": { + "galleryImageId": { + "type": "string", + "description": "Resource Id of the Shared Image Gallery image" + }, + "replicationRegions": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "galleryImageId", + "replicationRegions" + ] + }, + "ProvisioningState": { + "type": "string", + "enum": [ + "Creating", + "Succeeded", + "Failed", + "Deleting" + ], + "description": "Provisioning state of the resource" + }, + "ProvisioningError": { + "properties": { + "provisioningErrorCode": { + "type": "string", + "enum": [ + "BadSourceType", + "BadPIRSource", + "BadISOSource", + "BadCustomizerType", + "NoCustomizerShellScript", + "ServerError", + "Other" + ], + "description": "Error code of the provisioning failure" + }, + "message": { + "type":"string", + "description": "Verbose error message about the provisioning failure" + } + } + }, + "ImageTemplateLastRunStatus": { + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "description": "Start time of the last run (UTC)" + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "End time of the last run (UTC)" + }, + "runState": { + "type": "string", + "enum": [ + "ready", + "running", + "succeeded", + "partiallySucceeded", + "failed" + ], + "description": "State of the last run" + }, + "runSubState": { + "type": "string", + "enum": [ + "queued", + "building", + "customizing", + "distributing" + ], + "description": "Sub state of the last run" + }, + "message": { + "type": "string", + "description": "Verbose information about the last run state" + } + } + }, + "ImageTemplateProperties": { + "properties": { + "source": { + "$ref": "#/definitions/ImageTemplateSource", + "description": "Specifies the properties used to describe the source image." + }, + "customize": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageTemplateCustomizer" + }, + "description": "Specifies the properties used to describe the customization steps of the image, like Image source etc" + }, + "distribute": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageTemplateDistributor" + }, + "description": "The distribution targets where the image output needs to go to." + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "Provisioning state of the resource", + "readOnly": true + }, + "provisioningError": { + "$ref": "#/definitions/ProvisioningError", + "description": "Provisioning error, if any", + "readOnly": true + }, + "lastRunStatus": { + "$ref": "#/definitions/ImageTemplateLastRunStatus", + "description": "State of 'run' that is currently executing or was last executed.", + "readOnly": true + } + }, + "required": [ + "source", + "distribute" + ] + }, + "RunOutputProperties": { + "properties": { + "artifactId": { + "type": "string", + "description": "The resource id of the artifact." + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "Provisioning state of the resource", + "readOnly": true + } + } + }, + "ImageTemplate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ImageTemplateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "ImageTemplateUpdateParameters": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The user-specified tags associated with the image template." + } + }, + "description": "Parameters for updating an image template." + }, + "RunOutput": { + "description": "Represents an output that was created by running an image template.", + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/RunOutputProperties", + "x-ms-client-flatten": true + } + } + }, + "RunOutputCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RunOutput" + } + }, + "nextLink": { + "type": "string", + "description": "The continuation token." + } + } + }, + "Resource": { + "description": "The Resource model definition.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + }, + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ "create", "read" ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "required": [ + "location" + ], + "x-ms-azure-resource": true + }, + "SubResource": { + "description": "The Sub Resource model definition.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id" + }, + "name": { + "type": "string", + "description": "Resource name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + } + }, + "required": [ + "name" + ] + }, + "Operation": { + "title": "A REST API operation", + "type": "object", + "properties": { + "name": { + "title": "The operation name.", + "description": "This is of the format {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "title": "The object that describes the operation.", + "properties": { + "provider": { + "title": "Friendly name of the resource provider.", + "type": "string" + }, + "operation": { + "title": "The operation type.", + "description": "For example: read, write, delete, or listKeys/action", + "type": "string" + }, + "resource": { + "title": "The resource type on which the operation is performed.", + "type": "string" + }, + "description": { + "title": "The friendly name of the operation", + "type": "string" + } + } + }, + "origin": { + "title": "The intended executor of the operation.", + "type": "string" + }, + "properties": { + "title": "Properties of the operation.", + "type": "object" + } + } + }, + "OperationListResult": { + "title": "Result of the request to list REST API operations. It contains a list of operations and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "title": "The list of operations supported by the resource provider." + }, + "nextLink": { + "type": "string", + "title": "The URL to get the next set of operation list results if there are any." + } + } + }, + "ApiErrorBase": { + "properties": { + "code": { + "type": "string", + "description": "The error code." + }, + "target": { + "type": "string", + "description": "The target of the particular error." + }, + "message": { + "type": "string", + "description": "The error message." + } + }, + "description": "Api error base." + }, + "InnerError": { + "properties": { + "exceptiontype": { + "type": "string", + "description": "The exception type." + }, + "errordetail": { + "type": "string", + "description": "The internal error message or exception dump." + } + }, + "description": "Inner error details." + }, + "ApiError": { + "properties": { + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/ApiErrorBase" + }, + "description": "The Api error details" + }, + "innererror": { + "$ref": "#/definitions/InnerError", + "description": "The Api inner error" + }, + "code": { + "type": "string", + "description": "The error code." + }, + "target": { + "type": "string", + "description": "The target of the particular error." + }, + "message": { + "type": "string", + "description": "The error message." + } + }, + "description": "Api error." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "ImageTemplateNameParameter": { + "name": "imageTemplateName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the image Template", + "pattern": "^[A-Za-z0-9-_]{1,64}$", + "x-ms-parameter-location": "method" + }, + "RunOutputNameParameter": { + "name": "runOutputName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the run output", + "pattern": "^[A-Za-z0-9-_]{1,64}$", + "x-ms-parameter-location": "method" + }, + "LocationParameter": { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "Location of the service.", + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version." + } + } +} diff --git a/specification/imagebuilder/resource-manager/readme.go.md b/specification/imagebuilder/resource-manager/readme.go.md new file mode 100644 index 000000000000..74ba899777f3 --- /dev/null +++ b/specification/imagebuilder/resource-manager/readme.go.md @@ -0,0 +1,25 @@ +## Go + +These settings apply only when `--go` is specified on the command line. + +``` yaml $(go) + license-header: MICROSOFT_APACHE_NO_VERSION + namespace: virtualmachineimagebuilder + clear-output-folder: true +``` + +### Go multi-api + +``` yaml $(go) && $(multiapi) +batch: + - tag: package-2018-02 +``` + +### Tag: package-2018-02 + +These settings apply only when `--tag=package-2018-02 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2018-02' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2018-02-01-preview/$(namespace) +``` diff --git a/specification/imagebuilder/resource-manager/readme.md b/specification/imagebuilder/resource-manager/readme.md new file mode 100644 index 000000000000..978b85857c1a --- /dev/null +++ b/specification/imagebuilder/resource-manager/readme.md @@ -0,0 +1,128 @@ +# Virtual Machine Image Builder + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for Virtual Machine Image Builder. + + + +--- +## Getting Started +To build the SDK for Virtual Machine Image Builder, 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 Virtual Machine Image Builder API. + +``` yaml +title: ImageBuilderClient +description: Azure Virtual Machine Image Builder Client +openapi-type: arm +tag: package-2018-02 +azure-arm: true +``` + + +### Tag: package-2018-02 + +These settings apply only when `--tag=package-2018-02` is specified on the command line. + +``` yaml $(tag) == 'package-2018-02' +input-file: +- Microsoft.VirtualMachineImages/preview/2018-02-01-preview/imagebuilder.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-sdk-for-java + - repo: azure-sdk-for-go + - repo: azure-sdk-for-js + - repo: azure-sdk-for-node +``` + +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. +Use `--python-mode=update` if you already have a setup.py and just want to update the code itself. + +``` yaml $(python) +python-mode: create +python: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 2 + namespace: azure.mgmt.imagebuilder + package-name: azure-mgmt-imagebuilder + clear-output-folder: true + package-version: 0.1.0 +``` +``` yaml $(python) && $(python-mode) == 'update' +python: + no-namespace-folders: true + output-folder: $(python-sdks-folder)/azure-mgmt-imagebuilder/azure/mgmt/imagebuilder +``` +``` yaml $(python) && $(python-mode) == 'create' +python: + basic-setup-py: true + output-folder: $(python-sdks-folder)/azure-mgmt-imagebuilder +``` + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Java + +These settings apply only when `--java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(java) +azure-arm: true +fluent: true +namespace: com.microsoft.azure.management.imagebuilder +license-header: MICROSOFT_MIT_NO_CODEGEN +payload-flattening-threshold: 1 +output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-imagebuilder +``` + +### Java multi-api + +``` yaml $(java) && $(multiapi) +batch: + - tag: package-2018-02 +``` + +### Tag: package-2018-02 and java + +These settings apply only when `--tag=package-2018-02 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2018-02' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.imagebuilder.v2018_02_01_preview + output-folder: $(azure-libraries-for-java-folder)/imagebuilder/resource-manager/v2018_02_01_preview +regenerate-manager: true +generate-interface: true +``` + + diff --git a/specification/imagebuilder/resource-manager/readme.nodejs.md b/specification/imagebuilder/resource-manager/readme.nodejs.md new file mode 100644 index 000000000000..c406c9f71bb6 --- /dev/null +++ b/specification/imagebuilder/resource-manager/readme.nodejs.md @@ -0,0 +1,14 @@ +## Node.js + +These settings apply only when `--nodejs` is specified on the command line. +Please also specify `--node-sdks-folder=`. + +``` yaml $(nodejs) +nodejs: + azure-arm: true + package-name: azure-arm-imagebuilder + output-folder: $(node-sdks-folder)/lib/services/imagebuilderManagement + generate-license-txt: true + generate-package-json: true + generate-readme-md: true +``` diff --git a/specification/imagebuilder/resource-manager/readme.typescript.md b/specification/imagebuilder/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..934968e2480d --- /dev/null +++ b/specification/imagebuilder/resource-manager/readme.typescript.md @@ -0,0 +1,12 @@ +## TypeScript + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +``` yaml $(typescript) +typescript: + azure-arm: true + package-name: "@azure/arm-imagebuilder" + output-folder: "$(typescript-sdks-folder)/packages/@azure/arm-imagebuilder" + generate-metadata: true +```