diff --git a/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-01-01/GenerateAccessToken.json b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-01-01/GenerateAccessToken.json new file mode 100644 index 000000000000..127253ba228c --- /dev/null +++ b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-01-01/GenerateAccessToken.json @@ -0,0 +1,33 @@ +{ + "title": "Offers_GenerateAccessToken", + "operationId": "Offers_GenerateAccessToken", + "parameters": { + "api-version": "2024-01-01", + "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/Microsoft.EdgeMarketPlace.Management/examples/2024-01-01/GetAccessToken.json b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-01-01/GetAccessToken.json new file mode 100644 index 000000000000..5afc4a0177dd --- /dev/null +++ b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-01-01/GetAccessToken.json @@ -0,0 +1,21 @@ +{ + "title": "Offers_GetAccessToken", + "operationId": "Offers_GetAccessToken", + "parameters": { + "api-version": "2024-01-01", + "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/Microsoft.EdgeMarketPlace.Management/examples/2024-01-01/GetOffer.json b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-01-01/GetOffer.json new file mode 100644 index 000000000000..05290f1e0ff4 --- /dev/null +++ b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-01-01/GetOffer.json @@ -0,0 +1,72 @@ +{ + "title": "Offers_Get", + "operationId": "Offers_Get", + "parameters": { + "api-version": "2024-01-01", + "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/Microsoft.EdgeMarketPlace.Management/examples/2024-01-01/GetPublisher.json b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-01-01/GetPublisher.json new file mode 100644 index 000000000000..e2508b111056 --- /dev/null +++ b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-01-01/GetPublisher.json @@ -0,0 +1,21 @@ +{ + "title": "Publishers_Get", + "operationId": "Publishers_Get", + "parameters": { + "api-version": "2024-01-01", + "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/Microsoft.EdgeMarketPlace.Management/examples/2024-01-01/ListOffers.json b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-01-01/ListOffers.json new file mode 100644 index 000000000000..da7a3c37268c --- /dev/null +++ b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-01-01/ListOffers.json @@ -0,0 +1,75 @@ +{ + "title": "Offers_List", + "operationId": "Offers_List", + "parameters": { + "api-version": "2024-01-01", + "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/Microsoft.EdgeMarketPlace.Management/examples/2024-01-01/ListOffersBySubscription.json b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-01-01/ListOffersBySubscription.json new file mode 100644 index 000000000000..88e2d5603a0f --- /dev/null +++ b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-01-01/ListOffersBySubscription.json @@ -0,0 +1,75 @@ +{ + "title": "Offers_ListBySubscription", + "operationId": "Offers_ListBySubscription", + "parameters": { + "api-version": "2024-01-01", + "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/Microsoft.EdgeMarketPlace.Management/examples/2024-01-01/ListOperations.json b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-01-01/ListOperations.json new file mode 100644 index 000000000000..b4dc2a85d8ea --- /dev/null +++ b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-01-01/ListOperations.json @@ -0,0 +1,25 @@ +{ + "title": "Operations_List", + "operationId": "Operations_List", + "parameters": { + "api-version": "2024-01-01" + }, + "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/Microsoft.EdgeMarketPlace.Management/examples/2024-01-01/ListPublishers.json b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-01-01/ListPublishers.json new file mode 100644 index 000000000000..73d056f637cf --- /dev/null +++ b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-01-01/ListPublishers.json @@ -0,0 +1,30 @@ +{ + "title": "Publishers_List", + "operationId": "Publishers_List", + "parameters": { + "api-version": "2024-01-01", + "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/Microsoft.EdgeMarketPlace.Management/examples/2024-01-01/ListPublishersBySubscription.json b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-01-01/ListPublishersBySubscription.json new file mode 100644 index 000000000000..ba2a12e6d6db --- /dev/null +++ b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-01-01/ListPublishersBySubscription.json @@ -0,0 +1,30 @@ +{ + "title": "Publishers_ListBySubscription", + "operationId": "Publishers_ListBySubscription", + "parameters": { + "api-version": "2024-01-01", + "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/Microsoft.EdgeMarketPlace.Management/examples/2024-10-01/GenerateAccessToken.json b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-10-01/GenerateAccessToken.json new file mode 100644 index 000000000000..a9d2cbe4e2e8 --- /dev/null +++ b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-10-01/GenerateAccessToken.json @@ -0,0 +1,33 @@ +{ + "title": "Offers_GenerateAccessToken", + "operationId": "Offers_GenerateAccessToken", + "parameters": { + "api-version": "2024-10-01", + "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/Microsoft.EdgeMarketPlace.Management/examples/2024-10-01/GetAccessToken.json b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-10-01/GetAccessToken.json new file mode 100644 index 000000000000..df4f6aaa66b8 --- /dev/null +++ b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-10-01/GetAccessToken.json @@ -0,0 +1,21 @@ +{ + "title": "Offers_GetAccessToken", + "operationId": "Offers_GetAccessToken", + "parameters": { + "api-version": "2024-10-01", + "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/Microsoft.EdgeMarketPlace.Management/examples/2024-10-01/GetOffer.json b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-10-01/GetOffer.json new file mode 100644 index 000000000000..6584cd85219b --- /dev/null +++ b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-10-01/GetOffer.json @@ -0,0 +1,73 @@ +{ + "title": "Offers_Get", + "operationId": "Offers_Get", + "parameters": { + "api-version": "2024-10-01", + "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", + "launchType": "Trusted" + } + ] + } + ] + }, + "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/Microsoft.EdgeMarketPlace.Management/examples/2024-10-01/GetPublisher.json b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-10-01/GetPublisher.json new file mode 100644 index 000000000000..4bc37b17db33 --- /dev/null +++ b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-10-01/GetPublisher.json @@ -0,0 +1,21 @@ +{ + "title": "Publishers_Get", + "operationId": "Publishers_Get", + "parameters": { + "api-version": "2024-10-01", + "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/Microsoft.EdgeMarketPlace.Management/examples/2024-10-01/ListOffers.json b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-10-01/ListOffers.json new file mode 100644 index 000000000000..348ed18578d2 --- /dev/null +++ b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-10-01/ListOffers.json @@ -0,0 +1,76 @@ +{ + "title": "Offers_List", + "operationId": "Offers_List", + "parameters": { + "api-version": "2024-10-01", + "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", + "launchType": "Trusted" + } + ] + } + ] + }, + "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/Microsoft.EdgeMarketPlace.Management/examples/2024-10-01/ListOffersBySubscription.json b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-10-01/ListOffersBySubscription.json new file mode 100644 index 000000000000..3954428fff4d --- /dev/null +++ b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-10-01/ListOffersBySubscription.json @@ -0,0 +1,75 @@ +{ + "title": "Offers_ListBySubscription", + "operationId": "Offers_ListBySubscription", + "parameters": { + "api-version": "2024-10-01", + "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/Microsoft.EdgeMarketPlace.Management/examples/2024-10-01/ListOperations.json b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-10-01/ListOperations.json new file mode 100644 index 000000000000..d97c0d90f521 --- /dev/null +++ b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-10-01/ListOperations.json @@ -0,0 +1,25 @@ +{ + "title": "Operations_List", + "operationId": "Operations_List", + "parameters": { + "api-version": "2024-10-01" + }, + "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/Microsoft.EdgeMarketPlace.Management/examples/2024-10-01/ListPublishers.json b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-10-01/ListPublishers.json new file mode 100644 index 000000000000..f02e1734955f --- /dev/null +++ b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-10-01/ListPublishers.json @@ -0,0 +1,30 @@ +{ + "title": "Publishers_List", + "operationId": "Publishers_List", + "parameters": { + "api-version": "2024-10-01", + "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/Microsoft.EdgeMarketPlace.Management/examples/2024-10-01/ListPublishersBySubscription.json b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-10-01/ListPublishersBySubscription.json new file mode 100644 index 000000000000..d4228c75cee4 --- /dev/null +++ b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/examples/2024-10-01/ListPublishersBySubscription.json @@ -0,0 +1,30 @@ +{ + "title": "Publishers_ListBySubscription", + "operationId": "Publishers_ListBySubscription", + "parameters": { + "api-version": "2024-10-01", + "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/Microsoft.EdgeMarketPlace.Management/main.tsp b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/main.tsp new file mode 100644 index 000000000000..9dbb6160ebc9 --- /dev/null +++ b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/main.tsp @@ -0,0 +1,27 @@ +import "@typespec/rest"; +import "@typespec/versioning"; +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "./models.tsp"; +import "./operations.tsp"; +import "./offer.tsp"; +import "./publisher.tsp"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using Azure.Core; +using Azure.ResourceManager; +using TypeSpec.Versioning; + +@armProviderNamespace +@service(#{ title: "EdgeMarketplaceClient" }) +@versioned(Versions) +@doc("Edge marketplace extensions") +@armCommonTypesVersion(CommonTypes.Versions.v5) +namespace Microsoft.EdgeMarketplace; + +@doc("The available API versions.") +enum Versions { + @doc("Version 2024-10-01") + v2024_10_01: "2024-10-01", +} diff --git a/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/models.tsp b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/models.tsp new file mode 100644 index 000000000000..8ca83c91941e --- /dev/null +++ b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/models.tsp @@ -0,0 +1,294 @@ +import "@typespec/rest"; +import "@typespec/http"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using Azure.ResourceManager; +using TypeSpec.OpenAPI; + +namespace Microsoft.EdgeMarketplace; + +@doc("Enum for CreatedBy") +union CreatedByType { + string, + + @doc("The resource is created by user") + User: "User", + + @doc("The resource is created by application") + Application: "Application", + + @doc("The resource is created by managed identity") + ManagedIdentity: "ManagedIdentity", + + @doc("The resource is created by key") + Key: "Key", +} + +@doc("Origin Enum") +union Origin { + string, + + @doc("Origin is user") + user: "user", + + @doc("Origin is system") + system: "system", + + @doc("Origin is user and system") + userAndSystem: "user,system", +} + +@doc("ActionType Enum") +union ActionType { + string, + + @doc("ActionType is internal") + Internal: "Internal", +} + +@doc("OfferAvailability Enum") +union OfferAvailability { + string, + @doc("The offer availability is private") Private: "Private", + @doc("The offer availability is public") Public: "Public", +} + +@doc("Offer release type Enum") +union OfferReleaseType { + string, + @doc("The offer in preview") Preview: "Preview", + @doc("The offer in GA") GA: "GA", +} + +@doc("Offer launch type Enum") +union OfferLaunchType { + string, + @doc("The offer has been certified") Trusted: "Trusted", + @doc("The offer has not been certified") Unknown: "Unknown", +} + +@doc("Publisher properties") +model PublisherProperties { + @doc("The resource provisioning state") + @visibility(Lifecycle.Read) + provisioningState?: ResourceProvisioningState; +} + +@doc("The offer properties") +model OfferProperties { + @doc("The content version") + contentVersion?: string; + + @doc("The content url") + contentUrl?: string; + + @doc("The offer content") + offerContent: OfferContent; + + @doc("The resource provisioning state") + @visibility(Lifecycle.Read) + provisioningState?: ResourceProvisioningState; + + @doc("The marketplace skus") + @Azure.ResourceManager.identifiers(#["marketplaceSkuId"]) + marketplaceSkus?: MarketplaceSku[]; +} + +@doc("The offer content") +model OfferContent { + @doc("The display name of the offer") + displayName: string; + + @doc("The summary") + summary?: string; + + @doc("The long summary") + longSummary?: string; + + @doc("The description") + description?: string; + + @doc("The offer id") + offerId: string; + + @doc("The offer type") + offerType?: string; + + @doc("The support uri") + supportUri?: string; + + @doc("The popularity of the offer") + popularity?: int32; + + @doc("The publisher of the offer") + offerPublisher?: OfferPublisher; + + @doc("The availability of the offer") + availability?: OfferAvailability; + + @doc("The release type of the offer") + releaseType?: OfferReleaseType; + + @doc("The icon files") + iconFileUris?: IconFileUris; + + @doc("The terms and conditions") + termsAndConditions?: TermsAndConditions; + + @doc("The category ids ") + categoryIds?: string[]; + + @doc("The operating systems") + operatingSystems?: string[]; +} + +@doc("The offer publisher") +model OfferPublisher { + @doc("The publisher Id") + publisherId: string; + + @doc("The publisher name") + publisherDisplayName: string; +} + +@doc("Icon files") +model IconFileUris { + @doc("uri of small icon") + small?: string; + + @doc("uri of medium icon") + medium?: string; + + @doc("uri of wide icon") + wide?: string; + + @doc("uri of large icon") + large?: string; +} + +@doc("Terms and conditions") +model TermsAndConditions { + @doc("The legal terms and conditions uri") + legalTermsUri?: string; + + @doc("The type of legal terms") + legalTermsType?: string; + + @doc("The privacy policy uri") + privacyPolicyUri?: string; +} + +@doc("The marketplace sku") +model MarketplaceSku { + @doc("The catalog plan id") + catalogPlanId: string; + + @doc("The marketplace sku id") + marketplaceSkuId: string; + + @doc("The type of marketplace sku") + type?: string; + + @doc("The display name of marketplace sku") + displayName?: string; + + @doc("The summary") + summary?: string; + + @doc("The long summary") + longSummary?: string; + + @doc("The description") + description?: string; + + @doc("The generation") + generation?: string; + + @doc("The display rank of the sku") + displayRank?: int32; + + @doc("The operating system supported") + operatingSystem?: SkuOperatingSystem; + + @extension("x-ms-identifiers", #["name"]) + @doc("The marketplace sku version") + marketplaceSkuVersions?: MarketplaceSkuVersion[]; +} + +@doc("The sku operating system") +model SkuOperatingSystem { + @doc("The family of the operating system") + family?: string; + + @doc("The type of the operating system") + type?: string; + + @doc("The name of the operating system") + name: string; +} + +@doc("The marketplace sku version") +model MarketplaceSkuVersion { + @doc("The name of sku version") + name: string; + + @doc("The size of the image") + sizeOnDiskInMb?: int32; + + @doc("The size of the download") + minimumDownloadSizeInMb?: int32; + + @doc("The stage name") + stageName?: string; + + @doc("The launch type") + launchType?: OfferLaunchType; +} + +@doc("Access token request object") +model AccessTokenRequest { + @doc("The name of the publisher.") + publisherName?: string; + + @doc("The region where the disk will be created.") + edgeMarketPlaceRegion: string; + + @doc("The region where the disk will be created.") + egeMarketPlaceResourceId?: string; + + @doc("The hyperv version.") + hypervGeneration?: string; + + @doc("The marketplace sku.") + marketPlaceSku?: string; + + @doc("The marketplace sku version.") + marketPlaceSkuVersion?: string; + + @doc("The device sku.") + deviceSku?: string; + + @doc("The device sku version.") + deviceVersion?: string; +} + +@doc("The disk access token") +model DiskAccessToken { + @doc("The disk id.") + diskId?: string; + + @doc("The access token creation status.") + status?: string; + + @doc("The access token.") + accessToken: string; +} + +@doc("Access token request object") +model AccessTokenReadRequest { + @doc("The name of the publisher.") + requestId: string; +} diff --git a/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/offer.tsp b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/offer.tsp new file mode 100644 index 000000000000..4767f3a9277e --- /dev/null +++ b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/offer.tsp @@ -0,0 +1,64 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/rest"; +import "./models.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; + +namespace Microsoft.EdgeMarketplace; + +@doc("An offer.") +model Offer is ExtensionResource { + ...ResourceNameParameter; +} + +@@doc(Offer.name, "Id of the offer"); + +#suppress "@azure-tools/typespec-azure-resource-manager/improper-subscription-list-operation" "backcompat, ARM reviewed" +@armResourceOperations +interface Offers { + @doc("Get a Offer") + get is ArmResourceRead; + @doc("List Offer resources by parent") + list is ArmResourceListByParent< + Offer, + { + ...Azure.ResourceManager.Foundations.BaseParameters; + + @doc("The number of result items to return.") + @query("$top") + top?: int32; + + @doc("The number of result items to skip.") + @query("skip") + skip?: int32; + + @doc("The maximum number of result items per page.") + @query("maxpagesize") + maxpagesize?: int32; + + @doc("Filter the result list using the given expression.") + @query("$filter") + filter?: string; + + @doc("Skip over when retrieving results.") + @query("$skipToken") + skipToken?: string; + } + >; + @doc("A long-running resource action.") + generateAccessToken is ArmResourceActionAsync< + Offer, + AccessTokenRequest, + DiskAccessToken + >; + @doc("get access token.") + getAccessToken is ArmResourceActionSync< + Offer, + AccessTokenReadRequest, + DiskAccessToken + >; + listBySubscription is ArmListBySubscription; +} diff --git a/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/operations.tsp b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/operations.tsp new file mode 100644 index 000000000000..f69bec4695b5 --- /dev/null +++ b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/operations.tsp @@ -0,0 +1,9 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./models.tsp"; + +namespace Microsoft.EdgeMarketplace; + +interface Operations extends Azure.ResourceManager.Operations {} diff --git a/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/publisher.tsp b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/publisher.tsp new file mode 100644 index 000000000000..915208407c72 --- /dev/null +++ b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/publisher.tsp @@ -0,0 +1,50 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/rest"; +import "./models.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; + +namespace Microsoft.EdgeMarketplace; +@doc("A publisher who provides offers.") +model Publisher is ExtensionResource { + ...ResourceNameParameter; +} +@@doc(Publisher.name, "Name of the publisher"); + +#suppress "@azure-tools/typespec-azure-resource-manager/improper-subscription-list-operation" "backcompat, ARM reviewed" +@armResourceOperations +interface Publishers { + @doc("Get a Publisher") + get is ArmResourceRead; + @doc("List Publisher resources by parent") + list is ArmResourceListByParent< + Publisher, + { + ...Azure.ResourceManager.Foundations.BaseParameters; + + @doc("The number of result items to return.") + @query("$top") + top?: int32; + + @doc("The number of result items to skip.") + @query("skip") + skip?: int32; + + @doc("The maximum number of result items per page.") + @query("maxpagesize") + maxpagesize?: int32; + + @doc("Filter the result list using the given expression.") + @query("$filter") + filter?: string; + + @doc("Skip over when retrieving results.") + @query("$skipToken") + skipToken?: string; + } + >; + listBySubscription is ArmListBySubscription; +} diff --git a/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/tspconfig.yaml b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/tspconfig.yaml new file mode 100644 index 000000000000..1e4c2814d143 --- /dev/null +++ b/specification/edgemarketplace/Microsoft.EdgeMarketPlace.Management/tspconfig.yaml @@ -0,0 +1,56 @@ +emit: + - "@azure-tools/typespec-autorest" + +options: + "@azure-tools/typespec-ts": + flavor: azure + experimental-extensible-enums: true + emitter-output-dir: "{output-dir}/{service-dir}/arm-edgemarketplace" + package-details: + name: "@azure/arm-edgemarketplace" + + "@azure-tools/typespec-csharp": + flavor: azure + emitter-output-dir: "{output-dir}/{service-dir}/{namespace}" + namespace: Azure.ResourceManager.EdgeMarketplace + clear-output-folder: true + + "@azure-tools/typespec-autorest": + use-read-only-status-schema: true + emitter-output-dir: "{project-root}/.." + azure-resource-provider-folder: "resource-manager" + output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/edgemarketplace.json" + + "@azure-tools/typespec-go": + service-dir: sdk/resourcemanager/edgemarketplace #!!!IMPORTANT!!! To ensure the emitter correctly produces SDK, this configuration is added by Azure SDK Team. Some configurations use placeholder values. For modifications, please refer to https://aka.ms/azsdk/specs/typespec-validation#sdktspconfigvalidation + package-dir: armedgemarketplace #!!!IMPORTANT!!! To ensure the emitter correctly produces SDK, this configuration is added by Azure SDK Team. Some configurations use placeholder values. For modifications, please refer to https://aka.ms/azsdk/specs/typespec-validation#sdktspconfigvalidation + emitter-output-dir: "{output-dir}/{service-dir}/{package-dir}" #!!!IMPORTANT!!! To ensure the emitter correctly produces SDK, this configuration is added by Azure SDK Team. Some configurations use placeholder values. For modifications, please refer to https://aka.ms/azsdk/specs/typespec-validation#sdktspconfigvalidation + module: github.com/Azure/azure-sdk-for-go/{service-dir}/{package-dir} #!!!IMPORTANT!!! To ensure the emitter correctly produces SDK, this configuration is added by Azure SDK Team. Some configurations use placeholder values. For modifications, please refer to https://aka.ms/azsdk/specs/typespec-validation#sdktspconfigvalidation + fix-const-stuttering: true #!!!IMPORTANT!!! To ensure the emitter correctly produces SDK, this configuration is added by Azure SDK Team. Some configurations use placeholder values. For modifications, please refer to https://aka.ms/azsdk/specs/typespec-validation#sdktspconfigvalidation + generate-samples: true #!!!IMPORTANT!!! To ensure the emitter correctly produces SDK, this configuration is added by Azure SDK Team. Some configurations use placeholder values. For modifications, please refer to https://aka.ms/azsdk/specs/typespec-validation#sdktspconfigvalidation + generate-fakes: true #!!!IMPORTANT!!! To ensure the emitter correctly produces SDK, this configuration is added by Azure SDK Team. Some configurations use placeholder values. For modifications, please refer to https://aka.ms/azsdk/specs/typespec-validation#sdktspconfigvalidation + head-as-boolean: true #!!!IMPORTANT!!! To ensure the emitter correctly produces SDK, this configuration is added by Azure SDK Team. Some configurations use placeholder values. For modifications, please refer to https://aka.ms/azsdk/specs/typespec-validation#sdktspconfigvalidation + inject-spans: true #!!!IMPORTANT!!! To ensure the emitter correctly produces SDK, this configuration is added by Azure SDK Team. Some configurations use placeholder values. For modifications, please refer to https://aka.ms/azsdk/specs/typespec-validation#sdktspconfigvalidation + flavor: azure #!!!IMPORTANT!!! To ensure the emitter correctly produces SDK, this configuration is added by Azure SDK Team. Some configurations use placeholder values. For modifications, please refer to https://aka.ms/azsdk/specs/typespec-validation#sdktspconfigvalidation + + "@azure-tools/typespec-python": + package-dir: azure-mgmt-edgemarketplace #!!!IMPORTANT!!! To ensure the emitter correctly produces SDK, this configuration is added by Azure SDK Team. Some configurations use placeholder values. For modifications, please refer to https://aka.ms/azsdk/specs/typespec-validation#sdktspconfigvalidation + namespace: azure.mgmt.edgemarketplace #!!!IMPORTANT!!! To ensure the emitter correctly produces SDK, this configuration is added by Azure SDK Team. Some configurations use placeholder values. For modifications, please refer to https://aka.ms/azsdk/specs/typespec-validation#sdktspconfigvalidation + emitter-output-dir: "{output-dir}/{service-dir}/{package-dir}" #!!!IMPORTANT!!! To ensure the emitter correctly produces SDK, this configuration is added by Azure SDK Team. Some configurations use placeholder values. For modifications, please refer to https://aka.ms/azsdk/specs/typespec-validation#sdktspconfigvalidation + generate-test: true #!!!IMPORTANT!!! To ensure the emitter correctly produces SDK, this configuration is added by Azure SDK Team. Some configurations use placeholder values. For modifications, please refer to https://aka.ms/azsdk/specs/typespec-validation#sdktspconfigvalidation + generate-sample: true #!!!IMPORTANT!!! To ensure the emitter correctly produces SDK, this configuration is added by Azure SDK Team. Some configurations use placeholder values. For modifications, please refer to https://aka.ms/azsdk/specs/typespec-validation#sdktspconfigvalidation + flavor: azure #!!!IMPORTANT!!! To ensure the emitter correctly produces SDK, this configuration is added by Azure SDK Team. Some configurations use placeholder values. For modifications, please refer to https://aka.ms/azsdk/specs/typespec-validation#sdktspconfigvalidation + + "@azure-tools/typespec-java": + emitter-output-dir: "{output-dir}/{service-dir}/azure-resourcemanager-edgemarketplace" + flavor: azure #!!!IMPORTANT!!! To ensure the emitter correctly produces SDK, this configuration is added by Azure SDK Team. Some configurations use placeholder values. For modifications, please refer to https://aka.ms/azsdk/specs/typespec-validation#sdktspconfigvalidation + namespace: com.azure.resourcemanager.edgemarketplace #!!!IMPORTANT!!! To ensure the emitter correctly produces SDK, this configuration is added by Azure SDK Team. Some configurations use placeholder values. For modifications, please refer to https://aka.ms/azsdk/specs/typespec-validation#sdktspconfigvalidation + service-name: Edge Marketplace #!!!IMPORTANT!!! To ensure the emitter correctly produces SDK, this configuration is added by Azure SDK Team. Some configurations use placeholder values. For modifications, please refer to https://aka.ms/azsdk/specs/typespec-validation#sdktspconfigvalidation + +linter: + extends: + - "@azure-tools/typespec-azure-rulesets/resource-manager" + +parameters: + service-dir: + default: sdk/edgemarketplace #!!!IMPORTANT!!! To ensure the emitter correctly produces SDK, this configuration is added by Azure SDK Team. Some configurations use placeholder values. For modifications, please refer to https://aka.ms/azsdk/specs/typespec-validation#sdktspconfigvalidation diff --git a/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/stable/2024-10-01/edgemarketplace.json b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/stable/2024-10-01/edgemarketplace.json new file mode 100644 index 000000000000..8d7538bb9594 --- /dev/null +++ b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/stable/2024-10-01/edgemarketplace.json @@ -0,0 +1,1179 @@ +{ + "swagger": "2.0", + "info": { + "title": "EdgeMarketplaceClient", + "version": "2024-10-01", + "description": "Edge marketplace extensions", + "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" + }, + { + "name": "Offers" + }, + { + "name": "Publishers" + } + ], + "paths": { + "/{resourceUri}/providers/Microsoft.EdgeMarketplace/offers": { + "get": { + "operationId": "Offers_List", + "tags": [ + "Offers" + ], + "description": "List Offer resources by parent", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/Azure.ResourceManager.ResourceUriParameter" + }, + { + "name": "$top", + "in": "query", + "description": "The number of result items to return.", + "required": false, + "type": "integer", + "format": "int32", + "x-ms-client-name": "top" + }, + { + "name": "skip", + "in": "query", + "description": "The number of result items to skip.", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "maxpagesize", + "in": "query", + "description": "The maximum number of result items per page.", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "$filter", + "in": "query", + "description": "Filter the result list using the given expression.", + "required": false, + "type": "string", + "x-ms-client-name": "filter" + }, + { + "name": "$skipToken", + "in": "query", + "description": "Skip over when retrieving results.", + "required": false, + "type": "string", + "x-ms-client-name": "skipToken" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/OfferListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Offers_List": { + "$ref": "./examples/ListOffers.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{resourceUri}/providers/Microsoft.EdgeMarketplace/offers/{offerId}": { + "get": { + "operationId": "Offers_Get", + "tags": [ + "Offers" + ], + "description": "Get a Offer", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/Azure.ResourceManager.ResourceUriParameter" + }, + { + "name": "offerId", + "in": "path", + "description": "Id of the offer", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/Offer" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Offers_Get": { + "$ref": "./examples/GetOffer.json" + } + } + } + }, + "/{resourceUri}/providers/Microsoft.EdgeMarketplace/offers/{offerId}/generateAccessToken": { + "post": { + "operationId": "Offers_GenerateAccessToken", + "tags": [ + "Offers" + ], + "description": "A long-running resource action.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/Azure.ResourceManager.ResourceUriParameter" + }, + { + "name": "offerId", + "in": "path", + "description": "Id of the offer", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "description": "The content of the action request", + "required": true, + "schema": { + "$ref": "#/definitions/AccessTokenRequest" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/DiskAccessToken" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Offers_GenerateAccessToken": { + "$ref": "./examples/GenerateAccessToken.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/{resourceUri}/providers/Microsoft.EdgeMarketplace/offers/{offerId}/getAccessToken": { + "post": { + "operationId": "Offers_GetAccessToken", + "tags": [ + "Offers" + ], + "description": "get access token.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/Azure.ResourceManager.ResourceUriParameter" + }, + { + "name": "offerId", + "in": "path", + "description": "Id of the offer", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "description": "The content of the action request", + "required": true, + "schema": { + "$ref": "#/definitions/AccessTokenReadRequest" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/DiskAccessToken" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Offers_GetAccessToken": { + "$ref": "./examples/GetAccessToken.json" + } + } + } + }, + "/{resourceUri}/providers/Microsoft.EdgeMarketplace/publishers": { + "get": { + "operationId": "Publishers_List", + "tags": [ + "Publishers" + ], + "description": "List Publisher resources by parent", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/Azure.ResourceManager.ResourceUriParameter" + }, + { + "name": "$top", + "in": "query", + "description": "The number of result items to return.", + "required": false, + "type": "integer", + "format": "int32", + "x-ms-client-name": "top" + }, + { + "name": "skip", + "in": "query", + "description": "The number of result items to skip.", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "maxpagesize", + "in": "query", + "description": "The maximum number of result items per page.", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "$filter", + "in": "query", + "description": "Filter the result list using the given expression.", + "required": false, + "type": "string", + "x-ms-client-name": "filter" + }, + { + "name": "$skipToken", + "in": "query", + "description": "Skip over when retrieving results.", + "required": false, + "type": "string", + "x-ms-client-name": "skipToken" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/PublisherListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Publishers_List": { + "$ref": "./examples/ListPublishers.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{resourceUri}/providers/Microsoft.EdgeMarketplace/publishers/{publisherName}": { + "get": { + "operationId": "Publishers_Get", + "tags": [ + "Publishers" + ], + "description": "Get a Publisher", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/Azure.ResourceManager.ResourceUriParameter" + }, + { + "name": "publisherName", + "in": "path", + "description": "Name of the publisher", + "required": true, + "type": "string", + "pattern": "^.*$" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/Publisher" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Publishers_Get": { + "$ref": "./examples/GetPublisher.json" + } + } + } + }, + "/providers/Microsoft.EdgeMarketplace/operations": { + "get": { + "operationId": "Operations_List", + "tags": [ + "Operations" + ], + "description": "List the operations for the provider", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/ListOperations.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EdgeMarketplace/offers": { + "get": { + "operationId": "Offers_ListBySubscription", + "tags": [ + "Offers" + ], + "description": "List Offer resources by subscription ID", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/OfferListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Offers_ListBySubscription": { + "$ref": "./examples/ListOffersBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EdgeMarketplace/publishers": { + "get": { + "operationId": "Publishers_ListBySubscription", + "tags": [ + "Publishers" + ], + "description": "List Publisher resources by subscription ID", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/PublisherListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Publishers_ListBySubscription": { + "$ref": "./examples/ListPublishersBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "AccessTokenReadRequest": { + "type": "object", + "description": "Access token request object", + "properties": { + "requestId": { + "type": "string", + "description": "The name of the publisher." + } + }, + "required": [ + "requestId" + ] + }, + "AccessTokenRequest": { + "type": "object", + "description": "Access token request 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." + } + }, + "required": [ + "edgeMarketPlaceRegion" + ] + }, + "ActionType": { + "type": "string", + "description": "ActionType Enum", + "enum": [ + "Internal" + ], + "x-ms-enum": { + "name": "ActionType", + "modelAsString": true, + "values": [ + { + "name": "Internal", + "value": "Internal", + "description": "ActionType is internal" + } + ] + } + }, + "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." + } + ] + }, + "readOnly": true + }, + "CreatedByType": { + "type": "string", + "description": "Enum for CreatedBy", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "CreatedByType", + "modelAsString": true, + "values": [ + { + "name": "User", + "value": "User", + "description": "The resource is created by user" + }, + { + "name": "Application", + "value": "Application", + "description": "The resource is created by application" + }, + { + "name": "ManagedIdentity", + "value": "ManagedIdentity", + "description": "The resource is created by managed identity" + }, + { + "name": "Key", + "value": "Key", + "description": "The resource is created by key" + } + ] + } + }, + "DiskAccessToken": { + "type": "object", + "description": "The disk access token", + "properties": { + "diskId": { + "type": "string", + "description": "The disk id." + }, + "status": { + "type": "string", + "description": "The access token creation status." + }, + "accessToken": { + "type": "string", + "description": "The access token." + } + }, + "required": [ + "accessToken" + ] + }, + "IconFileUris": { + "type": "object", + "description": "Icon files", + "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" + } + } + }, + "MarketplaceSku": { + "type": "object", + "description": "The marketplace sku", + "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", + "description": "The marketplace sku version", + "items": { + "$ref": "#/definitions/MarketplaceSkuVersion" + }, + "x-ms-identifiers": [ + "name" + ] + } + }, + "required": [ + "catalogPlanId", + "marketplaceSkuId" + ] + }, + "MarketplaceSkuVersion": { + "type": "object", + "description": "The marketplace sku version", + "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" + }, + "launchType": { + "$ref": "#/definitions/OfferLaunchType", + "description": "The launch type" + } + }, + "required": [ + "name" + ] + }, + "Offer": { + "type": "object", + "description": "An offer.", + "properties": { + "properties": { + "$ref": "#/definitions/OfferProperties", + "description": "The resource-specific properties for this resource." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, + "OfferAvailability": { + "type": "string", + "description": "OfferAvailability Enum", + "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", + "description": "The offer content", + "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", + "description": "The category ids ", + "items": { + "type": "string" + } + }, + "operatingSystems": { + "type": "array", + "description": "The operating systems", + "items": { + "type": "string" + } + } + }, + "required": [ + "displayName", + "offerId" + ] + }, + "OfferLaunchType": { + "type": "string", + "description": "Offer launch type Enum", + "enum": [ + "Trusted", + "Unknown" + ], + "x-ms-enum": { + "name": "OfferLaunchType", + "modelAsString": true, + "values": [ + { + "name": "Trusted", + "value": "Trusted", + "description": "The offer has been certified" + }, + { + "name": "Unknown", + "value": "Unknown", + "description": "The offer has not been certified" + } + ] + } + }, + "OfferListResult": { + "type": "object", + "description": "The response of a Offer list operation.", + "properties": { + "value": { + "type": "array", + "description": "The Offer items on this page", + "items": { + "$ref": "#/definitions/Offer" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "OfferProperties": { + "type": "object", + "description": "The offer properties", + "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", + "readOnly": true + }, + "marketplaceSkus": { + "type": "array", + "description": "The marketplace skus", + "items": { + "$ref": "#/definitions/MarketplaceSku" + }, + "x-ms-identifiers": [ + "marketplaceSkuId" + ] + } + }, + "required": [ + "offerContent" + ] + }, + "OfferPublisher": { + "type": "object", + "description": "The offer publisher", + "properties": { + "publisherId": { + "type": "string", + "description": "The publisher Id" + }, + "publisherDisplayName": { + "type": "string", + "description": "The publisher name" + } + }, + "required": [ + "publisherId", + "publisherDisplayName" + ] + }, + "OfferReleaseType": { + "type": "string", + "description": "Offer release type Enum", + "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" + } + ] + } + }, + "Origin": { + "type": "string", + "description": "Origin Enum", + "enum": [ + "user", + "system", + "user,system" + ], + "x-ms-enum": { + "name": "Origin", + "modelAsString": true, + "values": [ + { + "name": "user", + "value": "user", + "description": "Origin is user" + }, + { + "name": "system", + "value": "system", + "description": "Origin is system" + }, + { + "name": "userAndSystem", + "value": "user,system", + "description": "Origin is user and system" + } + ] + } + }, + "Publisher": { + "type": "object", + "description": "A publisher who provides offers.", + "properties": { + "properties": { + "$ref": "#/definitions/PublisherProperties", + "description": "The resource-specific properties for this resource." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, + "PublisherListResult": { + "type": "object", + "description": "The response of a Publisher list operation.", + "properties": { + "value": { + "type": "array", + "description": "The Publisher items on this page", + "items": { + "$ref": "#/definitions/Publisher" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "PublisherProperties": { + "type": "object", + "description": "Publisher properties", + "properties": { + "provisioningState": { + "$ref": "#/definitions/Azure.ResourceManager.ResourceProvisioningState", + "description": "The resource provisioning state", + "readOnly": true + } + } + }, + "SkuOperatingSystem": { + "type": "object", + "description": "The sku operating system", + "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" + } + }, + "required": [ + "name" + ] + }, + "TermsAndConditions": { + "type": "object", + "description": "Terms and conditions", + "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" + } + } + } + }, + "parameters": { + "Azure.ResourceManager.ResourceUriParameter": { + "name": "resourceUri", + "in": "path", + "description": "The fully qualified Azure Resource manager identifier of the resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + } + } +} diff --git a/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/stable/2024-10-01/examples/GenerateAccessToken.json b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/stable/2024-10-01/examples/GenerateAccessToken.json new file mode 100644 index 000000000000..a9d2cbe4e2e8 --- /dev/null +++ b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/stable/2024-10-01/examples/GenerateAccessToken.json @@ -0,0 +1,33 @@ +{ + "title": "Offers_GenerateAccessToken", + "operationId": "Offers_GenerateAccessToken", + "parameters": { + "api-version": "2024-10-01", + "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/stable/2024-10-01/examples/GetAccessToken.json b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/stable/2024-10-01/examples/GetAccessToken.json new file mode 100644 index 000000000000..df4f6aaa66b8 --- /dev/null +++ b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/stable/2024-10-01/examples/GetAccessToken.json @@ -0,0 +1,21 @@ +{ + "title": "Offers_GetAccessToken", + "operationId": "Offers_GetAccessToken", + "parameters": { + "api-version": "2024-10-01", + "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/stable/2024-10-01/examples/GetOffer.json b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/stable/2024-10-01/examples/GetOffer.json new file mode 100644 index 000000000000..6584cd85219b --- /dev/null +++ b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/stable/2024-10-01/examples/GetOffer.json @@ -0,0 +1,73 @@ +{ + "title": "Offers_Get", + "operationId": "Offers_Get", + "parameters": { + "api-version": "2024-10-01", + "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", + "launchType": "Trusted" + } + ] + } + ] + }, + "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/stable/2024-10-01/examples/GetPublisher.json b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/stable/2024-10-01/examples/GetPublisher.json new file mode 100644 index 000000000000..4bc37b17db33 --- /dev/null +++ b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/stable/2024-10-01/examples/GetPublisher.json @@ -0,0 +1,21 @@ +{ + "title": "Publishers_Get", + "operationId": "Publishers_Get", + "parameters": { + "api-version": "2024-10-01", + "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/stable/2024-10-01/examples/ListOffers.json b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/stable/2024-10-01/examples/ListOffers.json new file mode 100644 index 000000000000..348ed18578d2 --- /dev/null +++ b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/stable/2024-10-01/examples/ListOffers.json @@ -0,0 +1,76 @@ +{ + "title": "Offers_List", + "operationId": "Offers_List", + "parameters": { + "api-version": "2024-10-01", + "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", + "launchType": "Trusted" + } + ] + } + ] + }, + "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/stable/2024-10-01/examples/ListOffersBySubscription.json b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/stable/2024-10-01/examples/ListOffersBySubscription.json new file mode 100644 index 000000000000..3954428fff4d --- /dev/null +++ b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/stable/2024-10-01/examples/ListOffersBySubscription.json @@ -0,0 +1,75 @@ +{ + "title": "Offers_ListBySubscription", + "operationId": "Offers_ListBySubscription", + "parameters": { + "api-version": "2024-10-01", + "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/stable/2024-10-01/examples/ListOperations.json b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/stable/2024-10-01/examples/ListOperations.json new file mode 100644 index 000000000000..d97c0d90f521 --- /dev/null +++ b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/stable/2024-10-01/examples/ListOperations.json @@ -0,0 +1,25 @@ +{ + "title": "Operations_List", + "operationId": "Operations_List", + "parameters": { + "api-version": "2024-10-01" + }, + "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/stable/2024-10-01/examples/ListPublishers.json b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/stable/2024-10-01/examples/ListPublishers.json new file mode 100644 index 000000000000..f02e1734955f --- /dev/null +++ b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/stable/2024-10-01/examples/ListPublishers.json @@ -0,0 +1,30 @@ +{ + "title": "Publishers_List", + "operationId": "Publishers_List", + "parameters": { + "api-version": "2024-10-01", + "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/stable/2024-10-01/examples/ListPublishersBySubscription.json b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/stable/2024-10-01/examples/ListPublishersBySubscription.json new file mode 100644 index 000000000000..d4228c75cee4 --- /dev/null +++ b/specification/edgemarketplace/resource-manager/Microsoft.EdgeMarketplace/stable/2024-10-01/examples/ListPublishersBySubscription.json @@ -0,0 +1,30 @@ +{ + "title": "Publishers_ListBySubscription", + "operationId": "Publishers_ListBySubscription", + "parameters": { + "api-version": "2024-10-01", + "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/readme.md b/specification/edgemarketplace/resource-manager/readme.md index f1c2e4b362ab..f7c089fa5f63 100644 --- a/specification/edgemarketplace/resource-manager/readme.md +++ b/specification/edgemarketplace/resource-manager/readme.md @@ -29,7 +29,7 @@ title: EdgeMarketplaceClient description: Edge marketplace extensions openapi-type: arm openapi-subtype: rpaas -tag: package-2023-08-01 +tag: package-2024-10-01 ``` ``` yaml @@ -59,6 +59,15 @@ input-file: - Microsoft.EdgeMarketplace/stable/2023-08-01/offers.json ``` +### Tag: package-2024-10-01 + +These settings apply only when `--tag=package-2024-10-01` is specified on the command line. + +```yaml $(tag) == 'package-2024-10-01' +input-file: + - Microsoft.EdgeMarketplace/stable/2024-10-01/edgemarketplace.json +``` + --- # Code Generation diff --git a/specification/edgemarketplace/resource-manager/readme.python.md b/specification/edgemarketplace/resource-manager/readme.python.md index 4a654882802d..e6f0adcdf411 100644 --- a/specification/edgemarketplace/resource-manager/readme.python.md +++ b/specification/edgemarketplace/resource-manager/readme.python.md @@ -9,7 +9,7 @@ azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.edgemarketplace package-name: azure-mgmt-edgemarketplace -package-version: 1.0.0b1 +package-version: 24-10-01 clear-output-folder: true ```