diff --git a/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/examples/GenerateAccessToken.json b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/examples/GenerateAccessToken.json new file mode 100644 index 000000000000..dbb2b89a600d --- /dev/null +++ b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/examples/GenerateAccessToken.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2023-08-01-preview", + "offerId": "0001-com-ubuntu-pro-jammy", + "resourceUri": "subscriptions/4bed37fd-19a1-4d31-8b44-40267555bec5/resourceGroups/edgemarketplace-rg/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/edgemarketplace-demo", + "body": { + "deviceVersion": "1.0.18062.1", + "deviceSku": "edge", + "egeMarketPlaceResourceId": "testid", + "edgeMarketPlaceRegion": "EastUS2Euap", + "hypervGeneration": "V2", + "marketPlaceSku": "2022-datacenter-azure-edition-core", + "marketPlaceSkuVersion": "20348.1129.221007", + "publisherName": "ubuntu" + } + }, + "responses": { + "202": { + "headers": { + "location": "https://foo.com/operationStatuses" + } + }, + "200": { + "body": { + "diskId": "abcd", + "status": "created", + "accessToken": "hidden" + } + } + } +} diff --git a/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/examples/GetAccessToken.json b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/examples/GetAccessToken.json new file mode 100644 index 000000000000..c84ee8825d58 --- /dev/null +++ b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/examples/GetAccessToken.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-08-01-preview", + "offerId": "0001-com-ubuntu-pro-jammy", + "resourceUri": "subscriptions/4bed37fd-19a1-4d31-8b44-40267555bec5/resourceGroups/edgemarketplace-rg/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/edgemarketplace-demo", + "body": { + "requestId": "1.0.18062.1" + } + }, + "responses": { + "200": { + "body": { + "diskId": "abcd", + "status": "created", + "accessToken": "hidden" + } + } + } +} diff --git a/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/examples/GetOffer.json b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/examples/GetOffer.json new file mode 100644 index 000000000000..ebacf180219c --- /dev/null +++ b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/examples/GetOffer.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2023-08-01-preview", + "offerId": "0001-com-ubuntu-pro-jammy", + "resourceUri": "subscriptions/4bed37fd-19a1-4d31-8b44-40267555bec5/resourceGroups/edgemarketplace-rg/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/edgemarketplace-demo" + }, + "responses": { + "200": { + "body": { + "properties": { + "contentVersion": "1.0", + "contentUrl": "test", + "provisioningState": "Succeeded", + "offerContent": { + "displayName": "Ubuntu Pro 22.04 LTS", + "summary": "Ubuntu Pro is providing additional coverage for production environments running in the cloud.", + "longSummary": "The official Ubuntu Linux, optimized for Azure with ten years of maintenance and additional security, compliance (e.g. FIPS, CIS, DISA) and management tools.", + "description": "

Ubuntu Pro is a cross-cloud OS optimized for Azure", + "offerId": "0001-com-ubuntu-pro-jammy", + "popularity": 8, + "offerPublisher": { + "publisherId": "canonical", + "publisherDisplayName": "Canonical" + }, + "offerType": "VirtualMachine", + "availability": "Preview", + "releaseType": "Preview", + "termsAndConditions": { + "legalTermsUri": "https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RW14H4N", + "legalTermsType": "None", + "privacyPolicyUri": "http://www.ubuntu.com/aboutus/privacypolicy" + }, + "supportUri": "https://ubuntu.com/azure/support", + "categoryIds": [], + "iconFileUris": { + "small": "https://store-images.s-microsoft.com/image/apps.32072.2b66b35a-b926-4ddc-85fa-cc9d9cb874d9.77c42e2a-c945-4abb-8faa-365a38a108ed.42bcf340-fd72-405a-844d-7b0331419ec1", + "medium": "https://store-images.s-microsoft.com/image/apps.58881.2b66b35a-b926-4ddc-85fa-cc9d9cb874d9.77c42e2a-c945-4abb-8faa-365a38a108ed.31dd70ea-0671-4ad3-992b-6ce1a3f7a49e", + "wide": "https://store-images.s-microsoft.com/image/apps.17366.2b66b35a-b926-4ddc-85fa-cc9d9cb874d9.77c42e2a-c945-4abb-8faa-365a38a108ed.a2ff8d5b-de36-4d9c-be47-81e15b0c6f6a", + "large": "https://store-images.s-microsoft.com/image/apps.60707.2b66b35a-b926-4ddc-85fa-cc9d9cb874d9.77c42e2a-c945-4abb-8faa-365a38a108ed.50b643a0-de63-4ac1-88a2-d2390e2123c2" + } + }, + "marketplaceSkus": [ + { + "catalogPlanId": "canonical.0001-com-ubuntu-pro-jammypro-22_04-lts", + "marketplaceSkuId": "pro-22_04-lts", + "displayName": "pro-22_04-lts", + "type": "test", + "operatingSystem": { + "name": "linux", + "type": "test", + "family": "test" + }, + "marketplaceSkuVersions": [ + { + "name": "22.04.202204200", + "sizeOnDiskInMb": 0, + "minimumDownloadSizeInMb": 0, + "stageName": "teststage" + } + ] + } + ] + }, + "id": "subscriptions/4bed37fd-19a1-4d31-8b44-40267555bec5/resourceGroups/edgemarketplace-rg/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/edgemarketplace-demo/providers/Microsoft.EdgeMarketplace/publishers/canonical/offers/0001-com-ubuntu-pro-jammy", + "name": "0001-com-ubuntu-pro-jammy", + "type": "Microsoft.EdgeMarketplace/publishers/offers" + } + } + } +} diff --git a/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/examples/GetPublisher.json b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/examples/GetPublisher.json new file mode 100644 index 000000000000..41ea350c0866 --- /dev/null +++ b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/examples/GetPublisher.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2023-08-01-preview", + "resourceUri": "subscriptions/4bed37fd-19a1-4d31-8b44-40267555bec5/resourceGroups/edgemarketplace-rg/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/edgemarketplace-demo", + "publisherName": "canonical" + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/4bed37fd-19a1-4d31-8b44-40267555bec5/resourceGroups/edgemarketplace-rg/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/edgemarketplace-demo/providers/Microsoft.EdgeMarketplace/publishers/canonical", + "name": "canonical", + "type": "Microsoft.EdgeMarketplace/publishers", + "properties": { + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/examples/ListOffers.json b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/examples/ListOffers.json new file mode 100644 index 000000000000..fd463d040a15 --- /dev/null +++ b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/examples/ListOffers.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2023-08-01-preview", + "resourceUri": "subscriptions/4bed37fd-19a1-4d31-8b44-40267555bec5/resourceGroups/edgemarketplace-rg/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/edgemarketplace-demo" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "contentVersion": "1.0", + "contentUrl": "test", + "provisioningState": "Succeeded", + "offerContent": { + "displayName": "Ubuntu Pro 22.04 LTS", + "summary": "Ubuntu Pro is providing additional coverage for production environments running in the cloud.", + "longSummary": "The official Ubuntu Linux, optimized for Azure with ten years of maintenance and additional security, compliance (e.g. FIPS, CIS, DISA) and management tools.", + "description": "

Ubuntu Pro is a cross-cloud OS optimized for Azure", + "offerId": "0001-com-ubuntu-pro-jammy", + "popularity": 8, + "offerPublisher": { + "publisherId": "canonical", + "publisherDisplayName": "Canonical" + }, + "offerType": "VirtualMachine", + "availability": "Preview", + "releaseType": "Preview", + "termsAndConditions": { + "legalTermsUri": "https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RW14H4N", + "legalTermsType": "None", + "privacyPolicyUri": "http://www.ubuntu.com/aboutus/privacypolicy" + }, + "supportUri": "https://ubuntu.com/azure/support", + "categoryIds": [], + "iconFileUris": { + "small": "https://store-images.s-microsoft.com/image/apps.32072.2b66b35a-b926-4ddc-85fa-cc9d9cb874d9.77c42e2a-c945-4abb-8faa-365a38a108ed.42bcf340-fd72-405a-844d-7b0331419ec1", + "medium": "https://store-images.s-microsoft.com/image/apps.58881.2b66b35a-b926-4ddc-85fa-cc9d9cb874d9.77c42e2a-c945-4abb-8faa-365a38a108ed.31dd70ea-0671-4ad3-992b-6ce1a3f7a49e", + "wide": "https://store-images.s-microsoft.com/image/apps.17366.2b66b35a-b926-4ddc-85fa-cc9d9cb874d9.77c42e2a-c945-4abb-8faa-365a38a108ed.a2ff8d5b-de36-4d9c-be47-81e15b0c6f6a", + "large": "https://store-images.s-microsoft.com/image/apps.60707.2b66b35a-b926-4ddc-85fa-cc9d9cb874d9.77c42e2a-c945-4abb-8faa-365a38a108ed.50b643a0-de63-4ac1-88a2-d2390e2123c2" + } + }, + "marketplaceSkus": [ + { + "catalogPlanId": "canonical.0001-com-ubuntu-pro-jammypro-22_04-lts", + "marketplaceSkuId": "pro-22_04-lts", + "displayName": "pro-22_04-lts", + "type": "test", + "operatingSystem": { + "name": "linux", + "type": "test", + "family": "test" + }, + "marketplaceSkuVersions": [ + { + "name": "22.04.202204200", + "sizeOnDiskInMb": 0, + "minimumDownloadSizeInMb": 0, + "stageName": "teststage" + } + ] + } + ] + }, + "id": "subscriptions/4bed37fd-19a1-4d31-8b44-40267555bec5/resourceGroups/edgemarketplace-rg/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/edgemarketplace-demo/providers/Microsoft.EdgeMarketplace/publishers/canonical/offers/0001-com-ubuntu-pro-jammy", + "name": "0001-com-ubuntu-pro-jammy", + "type": "Microsoft.EdgeMarketplace/publishers/offers" + } + ] + } + } + } +} diff --git a/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/examples/ListOffersBySubscription.json b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/examples/ListOffersBySubscription.json new file mode 100644 index 000000000000..574a2494490c --- /dev/null +++ b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/examples/ListOffersBySubscription.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2023-08-01-preview", + "subscriptionId": "4bed37fd-19a1-4d31-8b44-40267555bec5" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "contentVersion": "1.0", + "contentUrl": "test", + "provisioningState": "Succeeded", + "offerContent": { + "displayName": "Ubuntu Pro 22.04 LTS", + "summary": "Ubuntu Pro is providing additional coverage for production environments running in the cloud.", + "longSummary": "The official Ubuntu Linux, optimized for Azure with ten years of maintenance and additional security, compliance (e.g. FIPS, CIS, DISA) and management tools.", + "description": "

Ubuntu Pro is a cross-cloud OS optimized for Azure", + "offerId": "0001-com-ubuntu-pro-jammy", + "popularity": 8, + "offerPublisher": { + "publisherId": "canonical", + "publisherDisplayName": "Canonical" + }, + "offerType": "VirtualMachine", + "availability": "Preview", + "releaseType": "Preview", + "termsAndConditions": { + "legalTermsUri": "https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RW14H4N", + "legalTermsType": "None", + "privacyPolicyUri": "http://www.ubuntu.com/aboutus/privacypolicy" + }, + "supportUri": "https://ubuntu.com/azure/support", + "categoryIds": [], + "iconFileUris": { + "small": "https://store-images.s-microsoft.com/image/apps.32072.2b66b35a-b926-4ddc-85fa-cc9d9cb874d9.77c42e2a-c945-4abb-8faa-365a38a108ed.42bcf340-fd72-405a-844d-7b0331419ec1", + "medium": "https://store-images.s-microsoft.com/image/apps.58881.2b66b35a-b926-4ddc-85fa-cc9d9cb874d9.77c42e2a-c945-4abb-8faa-365a38a108ed.31dd70ea-0671-4ad3-992b-6ce1a3f7a49e", + "wide": "https://store-images.s-microsoft.com/image/apps.17366.2b66b35a-b926-4ddc-85fa-cc9d9cb874d9.77c42e2a-c945-4abb-8faa-365a38a108ed.a2ff8d5b-de36-4d9c-be47-81e15b0c6f6a", + "large": "https://store-images.s-microsoft.com/image/apps.60707.2b66b35a-b926-4ddc-85fa-cc9d9cb874d9.77c42e2a-c945-4abb-8faa-365a38a108ed.50b643a0-de63-4ac1-88a2-d2390e2123c2" + } + }, + "marketplaceSkus": [ + { + "catalogPlanId": "canonical.0001-com-ubuntu-pro-jammypro-22_04-lts", + "marketplaceSkuId": "pro-22_04-lts", + "displayName": "pro-22_04-lts", + "type": "test", + "operatingSystem": { + "name": "linux", + "type": "test", + "family": "test" + }, + "marketplaceSkuVersions": [ + { + "name": "22.04.202204200", + "sizeOnDiskInMb": 0, + "minimumDownloadSizeInMb": 0, + "stageName": "teststage" + } + ] + } + ] + }, + "id": "subscriptions/4bed37fd-19a1-4d31-8b44-40267555bec5/resourceGroups/edgemarketplace-rg/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/edgemarketplace-demo/providers/Microsoft.EdgeMarketplace/publishers/canonical/offers/0001-com-ubuntu-pro-jammy", + "name": "0001-com-ubuntu-pro-jammy", + "type": "Microsoft.EdgeMarketplace/publishers/offers" + } + ] + } + } + } +} diff --git a/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/examples/ListOperations.json b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/examples/ListOperations.json new file mode 100644 index 000000000000..bdd7aba119c4 --- /dev/null +++ b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/examples/ListOperations.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2023-08-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.EdgeMarketplace/Publishers", + "isDataAction": false, + "display": { + "provider": "Microsoft.EdgeMarketplace", + "resource": "Publishers", + "operation": "List the publishers", + "description": "Gets the list of the publishers." + } + } + ] + } + } + } +} diff --git a/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/examples/ListPublishers.json b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/examples/ListPublishers.json new file mode 100644 index 000000000000..54ec3187cbe0 --- /dev/null +++ b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/examples/ListPublishers.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-08-01-preview", + "resourceUri": "subscriptions/4bed37fd-19a1-4d31-8b44-40267555bec5/resourceGroups/edgemarketplace-rg/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/edgemarketplace-demo", + "filter": "deviceSku eq 'edgepro1'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/4bed37fd-19a1-4d31-8b44-40267555bec5/resourceGroups/edgemarketplace-rg/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/edgemarketplace-demo/providers/Microsoft.EdgeMarketplace/publishers/canonical", + "name": "canonical", + "type": "Microsoft.EdgeMarketplace/publishers", + "properties": { + "provisioningState": "Succeeded" + } + }, + { + "id": "subscriptions/4bed37fd-19a1-4d31-8b44-40267555bec5/resourceGroups/edgemarketplace-rg/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/edgemarketplace-demo/providers/Microsoft.EdgeMarketplace/publishers/ntegralinc1586961136942", + "name": "ntegralinc1586961136942", + "type": "Microsoft.EdgeMarketplace/publishers" + } + ] + } + } + } +} diff --git a/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/examples/ListPublishersBySubscription.json b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/examples/ListPublishersBySubscription.json new file mode 100644 index 000000000000..451e33a65335 --- /dev/null +++ b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/examples/ListPublishersBySubscription.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2023-08-01-preview", + "subscriptionId": "4bed37fd-19a1-4d31-8b44-40267555bec5", + "filter": "deviceSku eq 'edgepro1'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/4bed37fd-19a1-4d31-8b44-40267555bec5/resourceGroups/edgemarketplace-rg/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/edgemarketplace-demo/providers/Microsoft.EdgeMarketplace/publishers/canonical", + "name": "canonical", + "type": "Microsoft.EdgeMarketplace/publishers", + "properties": { + "provisioningState": "Succeeded" + } + }, + { + "id": "subscriptions/4bed37fd-19a1-4d31-8b44-40267555bec5/resourceGroups/edgemarketplace-rg/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/edgemarketplace-demo/providers/Microsoft.EdgeMarketplace/publishers/ntegralinc1586961136942", + "name": "ntegralinc1586961136942", + "type": "Microsoft.EdgeMarketplace/publishers" + } + ] + } + } + } +} diff --git a/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/offers.json b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/offers.json new file mode 100644 index 000000000000..2f2ba75d673c --- /dev/null +++ b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/offers.json @@ -0,0 +1,853 @@ +{ + "swagger": "2.0", + "info": { + "title": "EdgeMarketplaceClient", + "version": "2023-08-01-preview", + "description": "Edge Market Place Resource Provider management API.", + "x-typespec-generated": [ + { + "emitter": "@azure-tools/typespec-autorest" + } + ] + }, + "schemes": [ + "https" + ], + "host": "management.azure.com", + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow.", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "tags": [ + { + "name": "Offers" + } + ], + "paths": { + "/{resourceUri}/providers/Microsoft.EdgeMarketplace/offers": { + "get": { + "tags": [ + "Offers" + ], + "operationId": "Offers_List", + "x-ms-examples": { + "List offers": { + "$ref": "./examples/ListOffers.json" + } + }, + "description": "List Offer resources by parent", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/Azure.ResourceManager.ResourceUriParameter" + }, + { + "$ref": "#/parameters/Azure.Core.TopQueryParameter" + }, + { + "$ref": "#/parameters/Azure.Core.SkipQueryParameter" + }, + { + "$ref": "#/parameters/Azure.Core.MaxPageSizeQueryParameter" + }, + { + "$ref": "#/parameters/Azure.Core.FilterQueryParameter" + }, + { + "$ref": "#/parameters/Azure.Core.SkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/OfferListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EdgeMarketplace/offers": { + "get": { + "tags": [ + "Offers" + ], + "operationId": "Offers_ListBySubscription", + "x-ms-examples": { + "List offers by subscription": { + "$ref": "./examples/ListOffersBySubscription.json" + } + }, + "description": "List Offer resources by subscription", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/Azure.Core.TopQueryParameter" + }, + { + "$ref": "#/parameters/Azure.Core.SkipQueryParameter" + }, + { + "$ref": "#/parameters/Azure.Core.MaxPageSizeQueryParameter" + }, + { + "$ref": "#/parameters/Azure.Core.FilterQueryParameter" + }, + { + "$ref": "#/parameters/Azure.Core.SkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/OfferListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{resourceUri}/providers/Microsoft.EdgeMarketplace/offers/{offerId}": { + "get": { + "tags": [ + "Offers" + ], + "operationId": "Offers_Get", + "x-ms-examples": { + "Get offer": { + "$ref": "./examples/GetOffer.json" + } + }, + "description": "Get a Offer", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/Azure.ResourceManager.ResourceUriParameter" + }, + { + "name": "offerId", + "in": "path", + "required": true, + "description": "Id of the offer", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/Offer" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/{resourceUri}/providers/Microsoft.EdgeMarketplace/offers/{offerId}/generateAccessToken": { + "post": { + "tags": [ + "Offers" + ], + "operationId": "Offers_GenerateAccessToken", + "x-ms-examples": { + "Generate AccessToken": { + "$ref": "./examples/GenerateAccessToken.json" + } + }, + "description": "A long-running resource action.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/Azure.ResourceManager.ResourceUriParameter" + }, + { + "name": "offerId", + "in": "path", + "required": true, + "description": "Id of the offer", + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "description": "The content of the action request", + "schema": { + "$ref": "#/definitions/AccessTokenRequest" + } + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/DiskAccessToken" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Retry-After": { + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status.", + "type": "integer", + "format": "int32" + }, + "Location": { + "description": "The Location header contains the URL where the status of the long running operation can be checked.", + "type": "string" + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/{resourceUri}/providers/Microsoft.EdgeMarketplace/offers/{offerId}/getAccessToken": { + "post": { + "tags": [ + "Offers" + ], + "operationId": "Offers_GetAccessToken", + "x-ms-examples": { + "Get AccessToken": { + "$ref": "./examples/GetAccessToken.json" + } + }, + "description": "get access token.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/Azure.ResourceManager.ResourceUriParameter" + }, + { + "name": "offerId", + "in": "path", + "required": true, + "description": "Id of the offer", + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "description": "The content of the action request", + "schema": { + "$ref": "#/definitions/AccessTokenReadRequest" + } + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/DiskAccessToken" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "AccessTokenReadRequest": { + "type": "object", + "properties": { + "requestId": { + "type": "string", + "description": "The name of the publisher." + } + }, + "description": "Access token request object", + "required": [ + "requestId" + ] + }, + "AccessTokenRequest": { + "type": "object", + "properties": { + "publisherName": { + "type": "string", + "description": "The name of the publisher." + }, + "edgeMarketPlaceRegion": { + "type": "string", + "description": "The region where the disk will be created." + }, + "egeMarketPlaceResourceId": { + "type": "string", + "description": "The region where the disk will be created." + }, + "hypervGeneration": { + "type": "string", + "description": "The hyperv version." + }, + "marketPlaceSku": { + "type": "string", + "description": "The marketplace sku." + }, + "marketPlaceSkuVersion": { + "type": "string", + "description": "The marketplace sku version." + }, + "deviceSku": { + "type": "string", + "description": "The device sku." + }, + "deviceVersion": { + "type": "string", + "description": "The device sku version." + } + }, + "description": "Access token request object", + "required": [ + "edgeMarketPlaceRegion" + ] + }, + "Azure.ResourceManager.ResourceProvisioningState": { + "type": "string", + "description": "The provisioning state of a resource type.", + "enum": [ + "Succeeded", + "Failed", + "Canceled" + ], + "x-ms-enum": { + "name": "ResourceProvisioningState", + "modelAsString": true, + "values": [ + { + "name": "Succeeded", + "value": "Succeeded", + "description": "Resource has been created." + }, + { + "name": "Failed", + "value": "Failed", + "description": "Resource creation failed." + }, + { + "name": "Canceled", + "value": "Canceled", + "description": "Resource creation was canceled." + } + ] + } + }, + "DiskAccessToken": { + "type": "object", + "properties": { + "diskId": { + "type": "string", + "description": "The disk id." + }, + "status": { + "type": "string", + "description": "The access token creation status." + }, + "accessToken": { + "type": "string", + "description": "The access token." + } + }, + "description": "The disk access token", + "required": [ + "accessToken" + ] + }, + "IconFileUris": { + "type": "object", + "properties": { + "small": { + "type": "string", + "description": "uri of small icon" + }, + "medium": { + "type": "string", + "description": "uri of medium icon" + }, + "wide": { + "type": "string", + "description": "uri of wide icon" + }, + "large": { + "type": "string", + "description": "uri of large icon" + } + }, + "description": "Icon files" + }, + "MarketplaceSku": { + "type": "object", + "properties": { + "catalogPlanId": { + "type": "string", + "description": "The catalog plan id" + }, + "marketplaceSkuId": { + "type": "string", + "description": "The marketplace sku id" + }, + "type": { + "type": "string", + "description": "The type of marketplace sku" + }, + "displayName": { + "type": "string", + "description": "The display name of marketplace sku" + }, + "summary": { + "type": "string", + "description": "The summary" + }, + "longSummary": { + "type": "string", + "description": "The long summary" + }, + "description": { + "type": "string", + "description": "The description" + }, + "generation": { + "type": "string", + "description": "The generation" + }, + "displayRank": { + "type": "integer", + "format": "int32", + "description": "The display rank of the sku" + }, + "operatingSystem": { + "$ref": "#/definitions/SkuOperatingSystem", + "description": "The operating system supported" + }, + "marketplaceSkuVersions": { + "type": "array", + "items": { + "$ref": "#/definitions/MarketplaceSkuVersion" + }, + "x-ms-identifiers": [], + "description": "The marketplace sku version", + "x-typespec-name": "MarketplaceSkuVersion[]" + } + }, + "description": "The marketplace sku", + "required": [ + "catalogPlanId", + "marketplaceSkuId" + ] + }, + "MarketplaceSkuVersion": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of sku version" + }, + "sizeOnDiskInMb": { + "type": "integer", + "format": "int32", + "description": "The size of the image" + }, + "minimumDownloadSizeInMb": { + "type": "integer", + "format": "int32", + "description": "The size of the download" + }, + "stageName": { + "type": "string", + "description": "The stage name" + } + }, + "description": "The marketplace sku version", + "required": [ + "name" + ] + }, + "Offer": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/OfferProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true, + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "description": "An offer.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ] + }, + "OfferAvailability": { + "type": "string", + "description": "Says if the offer is public/private", + "enum": [ + "Private", + "Public" + ], + "x-ms-enum": { + "name": "OfferAvailability", + "modelAsString": true, + "values": [ + { + "name": "Private", + "value": "Private", + "description": "The offer availability is private" + }, + { + "name": "Public", + "value": "Public", + "description": "The offer availability is public" + } + ] + } + }, + "OfferContent": { + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "The display name of the offer" + }, + "summary": { + "type": "string", + "description": "The summary" + }, + "longSummary": { + "type": "string", + "description": "The long summary" + }, + "description": { + "type": "string", + "description": "The description" + }, + "offerId": { + "type": "string", + "description": "The offer id" + }, + "offerType": { + "type": "string", + "description": "The offer type" + }, + "supportUri": { + "type": "string", + "description": "The support uri" + }, + "popularity": { + "type": "integer", + "format": "int32", + "description": "The popularity of the offer" + }, + "offerPublisher": { + "$ref": "#/definitions/OfferPublisher", + "description": "The publisher of the offer" + }, + "availability": { + "$ref": "#/definitions/OfferAvailability", + "description": "The availability of the offer" + }, + "releaseType": { + "$ref": "#/definitions/OfferReleaseType", + "description": "The release type of the offer" + }, + "iconFileUris": { + "$ref": "#/definitions/IconFileUris", + "description": "The icon files" + }, + "termsAndConditions": { + "$ref": "#/definitions/TermsAndConditions", + "description": "The terms and conditions" + }, + "categoryIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The category ids ", + "x-typespec-name": "string[]" + }, + "operatingSystems": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The operating systems", + "x-typespec-name": "string[]" + } + }, + "description": "The offer content", + "required": [ + "displayName", + "offerId" + ] + }, + "OfferListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Offer" + }, + "description": "The Offer items on this page", + "x-typespec-name": "Offer[]" + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items", + "x-typespec-name": "TypeSpec.Rest.ResourceLocation" + } + }, + "description": "The response of a Offer list operation.", + "required": [ + "value" + ] + }, + "OfferProperties": { + "type": "object", + "properties": { + "contentVersion": { + "type": "string", + "description": "The content version" + }, + "contentUrl": { + "type": "string", + "description": "The content url" + }, + "offerContent": { + "$ref": "#/definitions/OfferContent", + "description": "The offer content" + }, + "provisioningState": { + "$ref": "#/definitions/Azure.ResourceManager.ResourceProvisioningState", + "description": "The resource provisioning state" + }, + "marketplaceSkus": { + "type": "array", + "items": { + "$ref": "#/definitions/MarketplaceSku" + }, + "x-ms-identifiers": [], + "description": "The marketplace skus", + "x-typespec-name": "MarketplaceSku[]" + } + }, + "description": "The offer properties", + "required": [ + "offerContent" + ] + }, + "OfferPublisher": { + "type": "object", + "properties": { + "publisherId": { + "type": "string", + "description": "The publisher Id" + }, + "publisherDisplayName": { + "type": "string", + "description": "The publisher name" + } + }, + "description": "The offer publisher", + "required": [ + "publisherId", + "publisherDisplayName" + ] + }, + "OfferReleaseType": { + "type": "string", + "description": "Offer release type", + "enum": [ + "Preview", + "GA" + ], + "x-ms-enum": { + "name": "OfferReleaseType", + "modelAsString": true, + "values": [ + { + "name": "Preview", + "value": "Preview", + "description": "The offer in preview" + }, + { + "name": "GA", + "value": "GA", + "description": "The offer in GA" + } + ] + } + }, + "SkuOperatingSystem": { + "type": "object", + "properties": { + "family": { + "type": "string", + "description": "The family of the operating system" + }, + "type": { + "type": "string", + "description": "The type of the operating system" + }, + "name": { + "type": "string", + "description": "The name of the operating system" + } + }, + "description": "The sku operating system", + "required": [ + "name" + ] + }, + "TermsAndConditions": { + "type": "object", + "properties": { + "legalTermsUri": { + "type": "string", + "description": "The legal terms and conditions uri" + }, + "legalTermsType": { + "type": "string", + "description": "The type of legal terms" + }, + "privacyPolicyUri": { + "type": "string", + "description": "The privacy policy uri" + } + }, + "description": "Terms and conditions" + } + }, + "parameters": { + "Azure.Core.FilterQueryParameter": { + "name": "$filter", + "in": "query", + "required": false, + "description": "Filter the result list using the given expression.", + "type": "string", + "x-ms-parameter-location": "method" + }, + "Azure.Core.MaxPageSizeQueryParameter": { + "name": "maxpagesize", + "in": "query", + "required": false, + "description": "The maximum number of result items per page.", + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + }, + "Azure.Core.SkipQueryParameter": { + "name": "skip", + "in": "query", + "required": false, + "description": "The number of result items to skip.", + "default": 0, + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + }, + "Azure.Core.TopQueryParameter": { + "name": "$top", + "in": "query", + "required": false, + "description": "The number of result items to return.", + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + }, + "Azure.Core.SkipTokenParameter": { + "name": "$skipToken", + "in": "query", + "required": false, + "description": "Skip over when retrieving results.", + "type": "string", + "x-ms-parameter-location": "method" + }, + "Azure.ResourceManager.ResourceUriParameter": { + "name": "resourceUri", + "in": "path", + "required": true, + "description": "The fully qualified Azure Resource manager identifier of the resource.", + "type": "string", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/operations.json b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/operations.json new file mode 100644 index 000000000000..8e944441b9d9 --- /dev/null +++ b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/operations.json @@ -0,0 +1,86 @@ +{ + "swagger": "2.0", + "info": { + "title": "EdgeMarketplaceClient", + "version": "2023-08-01-preview", + "description": "Edge Market Place Resource Provider management API.", + "x-typespec-generated": [ + { + "emitter": "@azure-tools/typespec-autorest" + } + ] + }, + "schemes": [ + "https" + ], + "host": "management.azure.com", + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow.", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "tags": [ + { + "name": "Operations" + } + ], + "paths": { + "/providers/Microsoft.EdgeMarketplace/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "x-ms-examples": { + "List operations": { + "$ref": "./examples/ListOperations.json" + } + }, + "description": "List the operations for the provider", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/publishers.json b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/publishers.json new file mode 100644 index 000000000000..b7ec5f3bcc46 --- /dev/null +++ b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/preview/2023-08-01-preview/publishers.json @@ -0,0 +1,343 @@ +{ + "swagger": "2.0", + "info": { + "title": "EdgeMarketplaceClient", + "version": "2023-08-01-preview", + "description": "Edge Market Place Resource Provider management API.", + "x-typespec-generated": [ + { + "emitter": "@azure-tools/typespec-autorest" + } + ] + }, + "schemes": [ + "https" + ], + "host": "management.azure.com", + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow.", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "tags": [ + { + "name": "Publishers" + } + ], + "paths": { + "/{resourceUri}/providers/Microsoft.EdgeMarketplace/publishers": { + "get": { + "tags": [ + "Publishers" + ], + "operationId": "Publishers_List", + "x-ms-examples": { + "List publishers": { + "$ref": "./examples/ListPublishers.json" + } + }, + "description": "List Publisher resources by parent", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/Azure.ResourceManager.ResourceUriParameter" + }, + { + "$ref": "#/parameters/Azure.Core.TopQueryParameter" + }, + { + "$ref": "#/parameters/Azure.Core.SkipQueryParameter" + }, + { + "$ref": "#/parameters/Azure.Core.MaxPageSizeQueryParameter" + }, + { + "$ref": "#/parameters/Azure.Core.FilterQueryParameter" + }, + { + "$ref": "#/parameters/Azure.Core.SkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/PublisherListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EdgeMarketplace/publishers": { + "get": { + "tags": [ + "Publishers" + ], + "operationId": "Publishers_ListBySubscription", + "x-ms-examples": { + "List publishers by subscription": { + "$ref": "./examples/ListPublishersBySubscription.json" + } + }, + "description": "List Publisher resources in subscription", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/Azure.Core.TopQueryParameter" + }, + { + "$ref": "#/parameters/Azure.Core.SkipQueryParameter" + }, + { + "$ref": "#/parameters/Azure.Core.MaxPageSizeQueryParameter" + }, + { + "$ref": "#/parameters/Azure.Core.FilterQueryParameter" + }, + { + "$ref": "#/parameters/Azure.Core.SkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/PublisherListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{resourceUri}/providers/Microsoft.EdgeMarketplace/publishers/{publisherName}": { + "get": { + "tags": [ + "Publishers" + ], + "operationId": "Publishers_Get", + "x-ms-examples": { + "Get publisher": { + "$ref": "./examples/GetPublisher.json" + } + }, + "description": "Get a Publisher", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/Azure.ResourceManager.ResourceUriParameter" + }, + { + "name": "publisherName", + "in": "path", + "required": true, + "description": "Name of the publisher", + "pattern": "^.*$", + "type": "string" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/Publisher" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "Azure.ResourceManager.ResourceProvisioningState": { + "type": "string", + "description": "The provisioning state of a resource type.", + "enum": [ + "Succeeded", + "Failed", + "Canceled" + ], + "x-ms-enum": { + "name": "ResourceProvisioningState", + "modelAsString": true, + "values": [ + { + "name": "Succeeded", + "value": "Succeeded", + "description": "Resource has been created." + }, + { + "name": "Failed", + "value": "Failed", + "description": "Resource creation failed." + }, + { + "name": "Canceled", + "value": "Canceled", + "description": "Resource creation was canceled." + } + ] + } + }, + "Publisher": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PublisherProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true, + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "description": "A publisher who provides offers.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ] + }, + "PublisherListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Publisher" + }, + "description": "The Publisher items on this page", + "x-typespec-name": "Publisher[]" + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items", + "x-typespec-name": "TypeSpec.Rest.ResourceLocation" + } + }, + "description": "The response of a Publisher list operation.", + "required": [ + "value" + ] + }, + "PublisherProperties": { + "type": "object", + "properties": { + "provisioningState": { + "$ref": "#/definitions/Azure.ResourceManager.ResourceProvisioningState", + "description": "The resource provisioning state" + } + }, + "description": "Publisher properties", + "required": [ + "provisioningState" + ] + } + }, + "parameters": { + "Azure.Core.FilterQueryParameter": { + "name": "$filter", + "in": "query", + "required": false, + "description": "Filter the result list using the given expression.", + "type": "string", + "x-ms-parameter-location": "method" + }, + "Azure.Core.MaxPageSizeQueryParameter": { + "name": "maxpagesize", + "in": "query", + "required": false, + "description": "The maximum number of result items per page.", + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + }, + "Azure.Core.SkipQueryParameter": { + "name": "skip", + "in": "query", + "required": false, + "description": "The number of result items to skip.", + "default": 0, + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + }, + "Azure.Core.TopQueryParameter": { + "name": "$top", + "in": "query", + "required": false, + "description": "The number of result items to return.", + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + }, + "Azure.Core.SkipTokenParameter": { + "name": "$skipToken", + "in": "query", + "required": false, + "description": "Skip over when retrieving results.", + "type": "string", + "x-ms-parameter-location": "method" + }, + "Azure.ResourceManager.ResourceUriParameter": { + "name": "resourceUri", + "in": "path", + "required": true, + "description": "The fully qualified Azure Resource manager identifier of the resource.", + "type": "string", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/edgemarketplace/resource-manager/readme.az.md b/specification/edgemarketplace/resource-manager/readme.az.md new file mode 100644 index 000000000000..2df880ce56e3 --- /dev/null +++ b/specification/edgemarketplace/resource-manager/readme.az.md @@ -0,0 +1,14 @@ +## AZ + +These settings apply only when `--az` is specified on the command line. + +``` yaml $(az) +az: + extensions: edgemarketplace + namespace: azure.mgmt.edgemarketplace + package-name: azure-mgmt-edgemarketplace +az-output-folder: $(azure-cli-extension-folder)/src/edgemarketplace +python-sdk-output-folder: "$(az-output-folder)/azext_edgemarketplace/vendored_sdks/edgemarketplace" +# add additional configuration here specific for Azure CLI +# refer to the faq.md for more details +``` diff --git a/specification/edgemarketplace/resource-manager/readme.azureresourceschema.md b/specification/edgemarketplace/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..b266f23d200d --- /dev/null +++ b/specification/edgemarketplace/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,18 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: package-2023-08-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: package-2023-08-01-preview and azureresourceschema + +``` yaml $(tag) == '2023-08-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas \ No newline at end of file diff --git a/specification/edgemarketplace/resource-manager/readme.csharp.md b/specification/edgemarketplace/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..2ed1acac01c5 --- /dev/null +++ b/specification/edgemarketplace/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.EdgeMarketplace + output-folder: $(csharp-sdks-folder)/edgemarketplace/management/Microsoft.EdgeMarketplace/GeneratedProtocol +``` \ No newline at end of file diff --git a/specification/edgemarketplace/resource-manager/readme.go.md b/specification/edgemarketplace/resource-manager/readme.go.md new file mode 100644 index 000000000000..ac8217947f09 --- /dev/null +++ b/specification/edgemarketplace/resource-manager/readme.go.md @@ -0,0 +1,12 @@ +## Go + +These settings apply only when `--go` is specified on the command line. + +```yaml $(go) && $(track2) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/edgemarketplace/armedgemarketplace +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +module-version: 0.1.0 +``` \ No newline at end of file diff --git a/specification/edgemarketplace/resource-manager/readme.java.md b/specification/edgemarketplace/resource-manager/readme.java.md new file mode 100644 index 000000000000..97621ad7b24e --- /dev/null +++ b/specification/edgemarketplace/resource-manager/readme.java.md @@ -0,0 +1,49 @@ +## 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.edgemarketplace +license-header: MICROSOFT_MIT_NO_CODEGEN +payload-flattening-threshold: 1 +output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-edgemarketplace +directive: + - from: arcSettings.json + where: $.definitions.ArcSetting.properties.systemData + transform: $['x-ms-client-flatten'] = false + reason: systemData should not be flattened + - from: clusters.json + where: $.definitions.Cluster.properties.systemData + transform: $['x-ms-client-flatten'] = false + reason: systemData should not be flattened + - from: extensions.json + where: $.definitions.Extension.properties.systemData + transform: $['x-ms-client-flatten'] = false + reason: systemData should not be flattened +``` + +# Validation + + +### Java multi-api + +``` yaml $(java) && $(multiapi) +batch: + - tag: package-2023-08-preview +``` + +### Tag: package-2023-08-preview and java + +These settings apply only when `--tag=package-2023-08-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2023-08-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.edgemarketplace.v2023_08_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/edgemarketplace/mgmt-v2023_08_01_preview +regenerate-manager: true +generate-interface: true +``` \ No newline at end of file diff --git a/specification/edgemarketplace/resource-manager/readme.md b/specification/edgemarketplace/resource-manager/readme.md new file mode 100644 index 000000000000..a38a9a267689 --- /dev/null +++ b/specification/edgemarketplace/resource-manager/readme.md @@ -0,0 +1,82 @@ +# edgemarketplace + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for edgemarketplace. + +## 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 edgemarketplace. + +``` yaml +title: EdgeMarketplaceClient +description: Edge marketplace extensions +openapi-type: arm +openapi-subtype: rpaas +tag: package-2023-08-preview +``` +### Tag: package-2023-08-preview + +These settings apply only when `--tag=package-2023-08-preview` is specified on the command line. + +```yaml $(tag) == 'package-2023-08-preview' +input-file: + - Microsoft.EdgeMarketplace/preview/2023-08-01-preview/publishers.json + - Microsoft.EdgeMarketplace/preview/2023-08-01-preview/operations.json + - Microsoft.EdgeMarketplace/preview/2023-08-01-preview/offers.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-track2 + - repo: azure-sdk-for-java + - repo: azure-sdk-for-go + - repo: azure-sdk-for-js + - repo: azure-resource-manager-schemas + - repo: azure-cli-extensions + - repo: azure-powershell +``` +## Az + +See configuration in [readme.az.md](./readme.az.md) + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Python + +See configuration in [readme.python.md](./readme.python.md) + +## TypeScript + +See configuration in [readme.typescript.md](./readme.typescript.md) + +## CSharp + +See configuration in [readme.csharp.md](./readme.csharp.md) diff --git a/specification/edgemarketplace/resource-manager/readme.python.md b/specification/edgemarketplace/resource-manager/readme.python.md new file mode 100644 index 000000000000..d00659094582 --- /dev/null +++ b/specification/edgemarketplace/resource-manager/readme.python.md @@ -0,0 +1,35 @@ +f## 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: azure.mgmt.edgemarketplace + package-name: azure-mgmt-edgemarketplace + package-version: 2023-08-01-preview + clear-output-folder: true +``` + +### Python multi-api + +Generate all API versions currently shipped for this package + +```yaml $(python) && $(multiapi) +batch: + - tag: package-2023-08-01-preview +``` + +### Tag: package-2023-08-01-preview and python + +These settings apply only when `--tag=package-2023-08-01-preview --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2023-08-01-preview' && $(python) +python: + namespace: azure.mgmt.edgemarketplace.v2023_08_01_preview + output-folder: $(python-sdks-folder)/edgemarketplace/azure-mgmt-edgemarketplace/azure/mgmt/edgemarketplace/v2023_08_01_preview +```