diff --git a/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/preview/2019-06-01-preview/examples/DeleteHybridUseBenefit.json b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/preview/2019-06-01-preview/examples/DeleteHybridUseBenefit.json new file mode 100644 index 000000000000..64b25a2ff50d --- /dev/null +++ b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/preview/2019-06-01-preview/examples/DeleteHybridUseBenefit.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "scope": "subscriptions/{sub-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/HostGroups/{host-group-name}/hosts/{host-name}", + "planId": "94f46eda-45f8-493a-8425-251921463a89", + "api-version": "2019-06-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} \ No newline at end of file diff --git a/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/preview/2019-06-01-preview/examples/GetAllHybridUseBenefits.json b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/preview/2019-06-01-preview/examples/GetAllHybridUseBenefits.json new file mode 100644 index 000000000000..855839b0ed97 --- /dev/null +++ b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/preview/2019-06-01-preview/examples/GetAllHybridUseBenefits.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "scope": "subscriptions/{sub-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/HostGroups/{host-group-name}/hosts/{host-name}", + "api-version": "2019-06-01-preview", + "$filter": "SQLBYOLEnterpriseForADH" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{sub-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/HostGroups/{host-group-name}/hosts/{host-name}/providers/Microsoft.SoftwarePlan/hybridUseBenefits/94f46eda-45f8-493a-8425-251921463a89", + "name": "SQL BYOL Enterprise for Azure Dedicated Host", + "type": "Microsoft.SoftwarePlans/hybridUseBenefits", + "sku": { + "name": "SQLBYOLEnterpriseForADH" + }, + "etag": 1, + "properties": { + "provisioningState": "Succeeded", + "createdDate": "2019-06-05T21:50:07.846Z", + "lastUpdatedDate": "2019-06-05T21:50:07.846Z" + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/preview/2019-06-01-preview/examples/GetHybridUseBenefitRevisions.json b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/preview/2019-06-01-preview/examples/GetHybridUseBenefitRevisions.json new file mode 100644 index 000000000000..72a8f8ee5ddd --- /dev/null +++ b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/preview/2019-06-01-preview/examples/GetHybridUseBenefitRevisions.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "scope": "subscriptions/{sub-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/HostGroups/{host-group-name}/hosts/{host-name}", + "planId": "94f46eda-45f8-493a-8425-251921463a89", + "api-version": "2019-06-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{sub-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/HostGroups/{host-group-name}/hosts/{host-name}/providers/Microsoft.SoftwarePlan/hybridUseBenefits/94f46eda-45f8-493a-8425-251921463a89", + "name": "SQL BYOL Enterprise for Azure Dedicated Host", + "type": "Microsoft.SoftwarePlans/hybridUseBenefits", + "sku": { + "name": "SQLBYOLEnterpriseForADH" + }, + "etag": 1, + "properties": { + "provisioningState": "Succeeded", + "createdDate": "2019-06-05T21:50:07.846Z", + "lastUpdatedDate": "2019-06-05T21:50:07.846Z" + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/preview/2019-06-01-preview/examples/GetOperations.json b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/preview/2019-06-01-preview/examples/GetOperations.json new file mode 100644 index 000000000000..c98c719e4ae3 --- /dev/null +++ b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/preview/2019-06-01-preview/examples/GetOperations.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "scope": "subscriptions/{sub-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/HostGroups/{host-group-name}/hosts/{host-name}", + "api-version": "2019-06-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.SoftwarePlan/hybridUseBenefits/read", + "display": { + "provider": "Microsoft Software Plan", + "resource": "hybridUseBenefits", + "operation": "Get hybrid use benefit", + "description": "Read all hybrid use benefits" + } + }, + { + "name": "Microsoft.SoftwarePlan/hybridUseBenefits/write", + "display": { + "provider": "Microsoft Software Plan", + "resource": "hybridUseBenefits", + "operation": "Create hybrid use benefit", + "description": "Create a hybrid use benefit" + } + }, + { + "name": "Microsoft.SoftwarePlan/hybridUseBenefits/action", + "display": { + "provider": "Microsoft Software Plan", + "resource": "hybridUseBenefits", + "operation": "Update hybrid use benefit", + "description": "Update a hybrid use benefit" + } + }, + { + "name": "Microsoft.SoftwarePlan/hybridUseBenefits/delete", + "display": { + "provider": "Microsoft Software Plan", + "resource": "hybridUseBenefits", + "operation": "Delete hybrid use benefit", + "description": "Delete a hybrid use benefit" + } + }, + { + "name": "Microsoft.SoftwarePlan/hybridUseBenefits/revisions/read", + "display": { + "provider": "Microsoft Software Plan", + "resource": "hybridUseBenefits", + "operation": "Get hybrid use benefit", + "description": "Read all hybrid use benefit revisions" + } + }, + { + "name": "Microsoft.SoftwarePlan/register/action", + "display": { + "provider": "Microsoft Software Plan", + "resource": "SoftwarePlan", + "operation": "Registers the SoftwarePlan Resource Provider.", + "description": "Registers the SoftwarePlan resource provider and enables the creation of SoftwarePlan resources." + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/preview/2019-06-01-preview/examples/GetSingleHybridUseBenefit.json b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/preview/2019-06-01-preview/examples/GetSingleHybridUseBenefit.json new file mode 100644 index 000000000000..8750e66b184c --- /dev/null +++ b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/preview/2019-06-01-preview/examples/GetSingleHybridUseBenefit.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "scope": "subscriptions/{sub-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/HostGroups/{host-group-name}/hosts/{host-name}", + "planId": "94f46eda-45f8-493a-8425-251921463a89", + "api-version": "2019-06-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{sub-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/HostGroups/{host-group-name}/hosts/{host-name}/providers/Microsoft.SoftwarePlan/hybridUseBenefits/{guid}", + "name": "SQL BYOL Enterprise for Azure Dedicated Host", + "type": "Microsoft.SoftwarePlans/hybridUseBenefits", + "sku": { + "name": "SQLBYOLEnterpriseForADH" + }, + "etag": 1, + "properties": { + "provisioningState": "Succeeded", + "createdDate": "2019-06-05T21:50:07.846Z", + "lastUpdatedDate": "2019-06-05T21:50:07.846Z" + } + } + } + } +} \ No newline at end of file diff --git a/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/preview/2019-06-01-preview/examples/PatchHybridUseBenefit.json b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/preview/2019-06-01-preview/examples/PatchHybridUseBenefit.json new file mode 100644 index 000000000000..58f4f80806ca --- /dev/null +++ b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/preview/2019-06-01-preview/examples/PatchHybridUseBenefit.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "scope": "subscriptions/{sub-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/HostGroups/{host-group-name}/hosts/{host-name}", + "planId": "94f46eda-45f8-493a-8425-251921463a89", + "api-version": "2019-06-01-preview", + "body": { + "type": "Microsoft.SoftwarePlan/hybridUseBenefits", + "sku": { + "name": "SQLBYOLStandardForADH" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{sub-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/HostGroups/{host-group-name}/hosts/{host-name}/providers/Microsoft.SoftwarePlan/hybridUseBenefits/94f46eda-45f8-493a-8425-251921463a89", + "name": "SQL BYOL Enterprise for Azure Dedicated Host", + "type": "Microsoft.SoftwarePlans/hybridUseBenefits", + "sku": { + "name": "SQLBYOLStandardForADH" + }, + "etag": 1, + "properties": { + "provisioningState": "Succeeded", + "createdDate": "2019-06-05T21:50:07.846Z", + "lastUpdatedDate": "2019-06-05T21:50:07.846Z" + } + } + } + } +} \ No newline at end of file diff --git a/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/preview/2019-06-01-preview/examples/PutHybridUseBenefit.json b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/preview/2019-06-01-preview/examples/PutHybridUseBenefit.json new file mode 100644 index 000000000000..325fa649ab0e --- /dev/null +++ b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/preview/2019-06-01-preview/examples/PutHybridUseBenefit.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "scope": "subscriptions/{sub-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/HostGroups/{host-group-name}/hosts/{host-name}", + "planId": "94f46eda-45f8-493a-8425-251921463a89", + "api-version": "2019-06-01-preview", + "body": { + "type": "Microsoft.SoftwarePlan/hybridUseBenefits", + "sku": { + "name": "SQLBYOLEnterpriseForADH" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{sub-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/HostGroups/{host-group-name}/hosts/{host-name}/providers/Microsoft.SoftwarePlan/hybridUseBenefits/94f46eda-45f8-493a-8425-251921463a89", + "name": "SQL BYOL Enterprise for Azure Dedicated Host", + "type": "Microsoft.SoftwarePlans/hybridUseBenefits", + "sku": { + "name": "SQLBYOLEnterpriseForADH" + }, + "etag": 1, + "properties": { + "provisioningState": "Succeeded", + "createdDate": "2019-06-05T21:50:07.846Z", + "lastUpdatedDate": "2019-06-05T21:50:07.846Z" + } + } + } + } +} \ No newline at end of file diff --git a/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/preview/2019-06-01-preview/examples/RegisterSubscription.json b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/preview/2019-06-01-preview/examples/RegisterSubscription.json new file mode 100644 index 000000000000..874b96402373 --- /dev/null +++ b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/preview/2019-06-01-preview/examples/RegisterSubscription.json @@ -0,0 +1,9 @@ +{ + "parameters": { + "api-version": "2019-06-01-preview", + "subscriptionId": "98df3792-7962-4f18-8be2-d5576f122de3 " + }, + "responses": { + "204": {} + } +} \ No newline at end of file diff --git a/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/preview/2019-06-01-preview/softwareplan.json b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/preview/2019-06-01-preview/softwareplan.json new file mode 100644 index 000000000000..31ee6e114363 --- /dev/null +++ b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/preview/2019-06-01-preview/softwareplan.json @@ -0,0 +1,569 @@ +{ + "swagger": "2.0", + "info": { + "version": "2019-06-01-preview", + "title": "Software Plan RP", + "description": "Azure software plans let users create and manage licenses for various software used in Azure.", + "x-ms-code-generation-settings": { + "name": "softwareplanClient" + } + }, + "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.SoftwarePlan/register": { + "post": { + "description": "Register to Microsoft.SoftwarePlan resource provider.", + "operationId": "SoftwarePlan_Register", + "tags": [ + "Software plan" + ], + "x-ms-examples": { + "HybridUseBenefitListResult": { + "$ref": "./examples/RegisterSubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "OK - Microsoft.SoftwarePlan is registered" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/{scope}/providers/Microsoft.SoftwarePlan/hybridUseBenefits": { + "get": { + "description": "Get all hybrid use benefits associated with an ARM resource.", + "operationId": "HybridUseBenefit_List", + "tags": [ + "Hybrid use benefits" + ], + "x-ms-examples": { + "HybridUseBenefitListResult": { + "$ref": "./examples/GetAllHybridUseBenefits.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "Supports applying filter on the type of SKU" + } + ], + "responses": { + "200": { + "description": "OK - returns an array of plans at that scope", + "schema": { + "$ref": "#/definitions/HybridUseBenefitListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/{scope}/providers/Microsoft.SoftwarePlan/hybridUseBenefits/{planId}": { + "put": { + "description": "Create a new hybrid use benefit under a given scope", + "operationId": "HybridUseBenefit_Create", + "tags": [ + "Hybrid use benefit" + ], + "x-ms-examples": { + "HybridUseBenefit": { + "$ref": "./examples/PutHybridUseBenefit.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/PlanIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PutBodyParameter" + } + ], + "responses": { + "200": { + "description": "OK - returns the plan that is created", + "schema": { + "$ref": "#/definitions/HybridUseBenefitModel" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "description": "Updates an existing hybrid use benefit", + "operationId": "HybridUseBenefit_Update", + "tags": [ + "Hybrid use benefit" + ], + "x-ms-examples": { + "HybridUseBenefit": { + "$ref": "./examples/PatchHybridUseBenefit.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/PlanIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PutBodyParameter" + } + ], + "responses": { + "200": { + "description": "OK - successfully updated the given hybrid use benefit", + "schema": { + "$ref": "#/definitions/HybridUseBenefitModel" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "get": { + "description": "Gets a given plan ID", + "operationId": "HybridUseBenefit_Get", + "tags": [ + "Hybrid use benefit" + ], + "x-ms-examples": { + "HybridUseBenefit": { + "$ref": "./examples/GetSingleHybridUseBenefit.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/PlanIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - returns the plan that is created", + "schema": { + "$ref": "#/definitions/HybridUseBenefitModel" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "description": "Deletes a given plan ID", + "operationId": "HybridUseBenefit_Delete", + "tags": [ + "Hybrid use benefit" + ], + "x-ms-examples": { + "HybridUseBenefit": { + "$ref": "./examples/DeleteHybridUseBenefit.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/PlanIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - successfully deleted the given plan" + }, + "204": { + "description": "OK - there was no plan to delete" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/{scope}/providers/Microsoft.SoftwarePlan/hybridUseBenefits/{planId}/revisions": { + "get": { + "description": "Gets the version history of a hybrid use benefit", + "operationId": "HybridUseBenefitRevision_List", + "tags": [ + "Hybrid use benefit revisions" + ], + "x-ms-examples": { + "HybridUseBenefitRevisionsResponse": { + "$ref": "./examples/GetHybridUseBenefitRevisions.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/PlanIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - returns an array of plans ordered by revision", + "schema": { + "$ref": "#/definitions/HybridUseBenefitListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/{scope}/providers/Microsoft.SoftwarePlan/operations": { + "get": { + "summary": "Get operations.", + "description": "List all the operations.", + "operationId": "Operations_List", + "x-ms-examples": { + "GetOperations": { + "$ref": "./examples/GetOperations.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "tags": [ + "Software plan operations" + ], + "responses": { + "200": { + "description": "List all the operations.", + "schema": { + "$ref": "#/definitions/OperationList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + } + }, + "definitions": { + "Error": { + "type": "object", + "description": "Error object returned by the RP", + "properties": { + "code": { + "description": "Error code", + "$ref": "#/definitions/ErrorCode" + }, + "message": { + "type": "string", + "description": "A user readable error message. Localized based on x-ms-effective-locale header in the request" + } + } + }, + "ErrorCode": { + "type": "string", + "description": "Defined error codes to be returned to the client.", + "enum": [ + "InvalidRequestParameter", + "MissingRequestParameter" + ], + "x-ms-enum": { + "name": "ErrorCode", + "modelAsString": true + } + }, + "Sku": { + "type": "object", + "description": "The SKU to be applied for this resource", + "properties": { + "name": { + "type": "string", + "description": "Name of the SKU to be applied" + } + } + }, + "ProvisioningState": { + "type": "string", + "description": "Represent the current state of the Reservation.", + "enum": [ + "Succeeded", + "Cancelled", + "Failed" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "HybridUseBenefitListResult": { + "description": "List of hybrid use benefits", + "properties": { + "value": { + "description": "List of hybrid use benefits", + "type": "array", + "items": { + "$ref": "#/definitions/HybridUseBenefitModel" + } + }, + "nextLink": { + "type": "string", + "description": "Url to get the next page of items." + } + } + }, + "HybridUseBenefitModel": { + "description": "Response on GET of a hybrid use benefit", + "required": [ + "sku" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "properties": { + "sku": { + "description": "Hybrid use benefit SKU", + "$ref": "#/definitions/Sku" + }, + "etag": { + "type": "integer", + "format": "int32", + "description": "Indicates the revision of the hybrid use benefit", + "readOnly": true + }, + "properties": { + "description": "Property bag for a hybrid use benefit response", + "x-ms-client-flatten": true, + "$ref": "#/definitions/HybridUseBenefitProperties" + } + } + }, + "HybridUseBenefitProperties": { + "description": "Hybrid use benefit properties", + "properties": { + "provisioningState": { + "type": "string", + "description": "Provisioning state", + "$ref": "#/definitions/ProvisioningState", + "readOnly": true + }, + "createdDate": { + "type": "string", + "description": "Created date", + "format": "date-time", + "readOnly": true + }, + "lastUpdatedDate": { + "type": "string", + "description": "Last Ureated date", + "format": "date-time", + "readOnly": true + } + } + }, + "OperationList": { + "type": "object", + "description": "List all the operations.", + "properties": { + "value": { + "type": "array", + "description": "List of all operations", + "items": { + "$ref": "#/definitions/OperationResponse" + } + }, + "nextLink": { + "type": "string", + "description": "Url to get the next page of items." + } + } + }, + "OperationResponse": { + "type": "object", + "description": "Operation response.", + "properties": { + "name": { + "type": "string", + "description": "Name of the operation" + }, + "display": { + "description": "Display properties for the operation", + "$ref": "#/definitions/OperationDisplay" + }, + "origin": { + "description": "Origin of the response", + "type": "string" + } + } + }, + "OperationDisplay": { + "type": "object", + "description": "Display fields for an operation.", + "properties": { + "provider": { + "description": "Resource Provider name", + "type": "string" + }, + "resource": { + "description": "Resource that is acted upon", + "type": "string" + }, + "operation": { + "description": "Operation to be performed", + "type": "string" + }, + "description": { + "description": "Description of the operation", + "type": "string" + } + } + } + }, + "parameters": { + "ScopeParameter": { + "name": "scope", + "in": "path", + "x-ms-parameter-location": "method", + "required": true, + "type": "string", + "description": "The scope at which the operation is performed. This is limited to Microsoft.Compute/virtualMachines and Microsoft.Compute/hostGroups/hosts for now" + }, + "PutBodyParameter": { + "name": "body", + "in": "body", + "x-ms-parameter-location": "method", + "required": true, + "description": "Request body for creating a hybrid use benefit", + "schema": { + "$ref": "#/definitions/HybridUseBenefitModel" + } + }, + "PlanIdParameter": { + "name": "planId", + "in": "path", + "x-ms-parameter-location": "method", + "required": true, + "type": "string", + "description": "This is a unique identifier for a plan. Should be a guid." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "x-ms-parameter-location": "client", + "required": true, + "description": "The api-version to be used by the service", + "type": "string" + } + } +} diff --git a/specification/softwareplan/resource-manager/readme.csharp.md b/specification/softwareplan/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..08b9ce90303d --- /dev/null +++ b/specification/softwareplan/resource-manager/readme.csharp.md @@ -0,0 +1,15 @@ +## C + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +```yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 1 + clear-output-folder: true + client-side-validation: false + namespace: Microsoft.SoftwarePlan + output-folder: $(csharp-sdks-folder)/softwareplan/management/Microsoft.SoftwarePlan/GeneratedProtocol +``` diff --git a/specification/softwareplan/resource-manager/readme.go.md b/specification/softwareplan/resource-manager/readme.go.md new file mode 100644 index 000000000000..bef5d3527255 --- /dev/null +++ b/specification/softwareplan/resource-manager/readme.go.md @@ -0,0 +1,19 @@ +## 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 + namespace: softwareplan +``` + +### Tag: package-2019-06-01-preview and go + +These settings apply only when `--tag=package-2019-06-01-preview --go` is specified on the command line. +Please also specify `--go-sdks-folder=`. + +```yaml $(tag) == 'package-2019-06-01-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2019-06-01-preview/$(namespace) +``` diff --git a/specification/softwareplan/resource-manager/readme.md b/specification/softwareplan/resource-manager/readme.md new file mode 100644 index 000000000000..a85cdfbfae1f --- /dev/null +++ b/specification/softwareplan/resource-manager/readme.md @@ -0,0 +1,89 @@ +# softwareplan + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for softwareplan. + +## Getting Started + +To build the SDKs for My API, simply install AutoRest via `npm` (`npm install -g autorest`) and then run: + +> `autorest readme.md` + +To see additional help and options, run: + +> `autorest --help` + +For other options on installation see [Installing AutoRest](https://aka.ms/autorest/install) on the AutoRest github page. + +--- + +## Configuration + +### Basic Information + +These are the global settings for the softwareplan. + +``` yaml +openapi-type: arm +tag: package-2019-06-01-preview +``` + +### Tag: package-2019-06-01-preview + +These settings apply only when `--tag=package-2019-06-01-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2019-06-01-preview' +input-file: + - Microsoft.SoftwarePlan/preview/2019-06-01-preview/softwareplan.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-ruby + after_scripts: + - bundle install && rake arm:regen_all_profiles['azure_mgmt_softwareplan'] +``` + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Python + +See configuration in [readme.python.md](./readme.python.md) + +## Ruby + +See configuration in [readme.ruby.md](./readme.ruby.md) + +## TypeScript + +See configuration in [readme.typescript.md](./readme.typescript.md) + +## CSharp + +See configuration in [readme.csharp.md](./readme.csharp.md) + +## Suppression + +``` yaml +directive: + - suppress: DescriptionAndTitleMissing + from: types.json + where: $.definitions.Resource + reason: This is an issue with the common resource definition. The properties in the resource definition actually has a title and description. +``` diff --git a/specification/softwareplan/resource-manager/readme.python.md b/specification/softwareplan/resource-manager/readme.python.md new file mode 100644 index 000000000000..f68a7109fb66 --- /dev/null +++ b/specification/softwareplan/resource-manager/readme.python.md @@ -0,0 +1,21 @@ +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +```yaml $(python) +python: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 2 + namespace: Microsoft.SoftwarePlan + package-name: softwareplan + package-version: 2019-06-01-preview + clear-output-folder: true +``` + +```yaml $(python) +python: + no-namespace-folders: true + output-folder: $(python-sdks-folder)/azure-mgmt/softwareplan +``` diff --git a/specification/softwareplan/resource-manager/readme.ruby.md b/specification/softwareplan/resource-manager/readme.ruby.md new file mode 100644 index 000000000000..52724cb7a5a6 --- /dev/null +++ b/specification/softwareplan/resource-manager/readme.ruby.md @@ -0,0 +1,19 @@ +## Ruby + +These settings apply only when `--ruby` is specified on the command line. + +```yaml +package-name: azure_mgmt_softwareplan +package-version: 2019-06-01-preview +azure-arm: true +``` + +### Tag: package-2019-06-01-preview and ruby + +These settings apply only when `--tag=package-2019-06-01-preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +```yaml $(tag) == 'package-2019-06-01-preview' && $(ruby) +namespace: Microsoft.SoftwarePlan +output-folder: $(ruby-sdks-folder)/softwareplan +``` diff --git a/specification/softwareplan/resource-manager/readme.typescript.md b/specification/softwareplan/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..f6a9f0e7845a --- /dev/null +++ b/specification/softwareplan/resource-manager/readme.typescript.md @@ -0,0 +1,13 @@ +## 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-softwareplan" + output-folder: "$(typescript-sdks-folder)/sdk/softwareplan/arm-softwareplan" + payload-flattening-threshold: 1 + generate-metadata: true +```