diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apigateway.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apigateway.json index 70f15762b803..fd8917c97f0d 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apigateway.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apigateway.json @@ -44,6 +44,9 @@ "x-ms-examples": { "ApiManagementCreateStandardGateway": { "$ref": "./examples/ApiManagementCreateStandardGateway.json" + }, + "ApiManagementCreateWorkspacePremiumGateway": { + "$ref": "./examples/ApiManagementCreateWorkspacePremiumGateway.json" } }, "parameters": [ @@ -241,7 +244,7 @@ "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/gateway": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/gateways": { "get": { "tags": [ "ApiManagementGateway" @@ -283,7 +286,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/gateway": { + "/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/gateways": { "get": { "tags": [ "ApiManagementGateway" @@ -321,6 +324,52 @@ "nextLinkName": "nextLink" } } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/gateways/{gatewayName}/skus": { + "get": { + "tags": [ + "ApiManagementGatewaySkus" + ], + "summary": "Gets available SKUs for API Management gateway", + "description": "Gets all available SKU for a given API Management gateway", + "operationId": "ApiManagementGatewaySkus_ListAvailableSkus", + "x-ms-examples": { + "ApiManagementListSKUs-Gateways": { + "$ref": "./examples/ApiManagementListSKUs-Gateways.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/GatewayNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of SKUs.", + "schema": { + "$ref": "#/definitions/GatewayResourceSkuResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } } }, "definitions": { @@ -334,7 +383,9 @@ "url": "https://azure.microsoft.com/en-us/pricing/details/api-management/" }, "enum": [ - "Standard" + "Standard", + "WorkspaceGatewayStandard", + "WorkspaceGatewayPremium" ], "x-ms-enum": { "name": "SkuType", @@ -343,6 +394,14 @@ { "value": "Standard", "description": "Standard SKU of the API gateway." + }, + { + "value": "WorkspaceGatewayStandard", + "description": "Standard SKU of the API gateway to be used in Workspaces." + }, + { + "value": "WorkspaceGatewayPremium", + "description": "Premium SKU of the API gateway to be used in Workspaces." } ] } @@ -442,6 +501,33 @@ "configurationApi": { "$ref": "#/definitions/GatewayConfigurationApi", "description": "Information regarding the Configuration API of the API Management gateway. This is only applicable for API gateway with Standard SKU." + }, + "virtualNetworkType": { + "type": "string", + "description": "The type of VPN in which API Management gateway needs to be configured in. ", + "enum": [ + "None", + "External", + "Internal" + ], + "x-ms-enum": { + "name": "VirtualNetworkType", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "The API Management gateway is not part of any Virtual Network." + }, + { + "value": "External", + "description": "The API Management gateway is part of Virtual Network and it is accessible from Internet." + }, + { + "value": "Internal", + "description": "The API Management gateway is part of Virtual Network and it is only accessible from within the virtual network." + } + ] + } } }, "description": "Base Properties of an API Management gateway resource description." @@ -476,7 +562,9 @@ "url": "https://azure.microsoft.com/en-us/pricing/details/api-management/" }, "enum": [ - "Standard" + "Standard", + "WorkspaceGatewayStandard", + "WorkspaceGatewayPremium" ], "x-ms-enum": { "name": "SkuType", @@ -485,6 +573,14 @@ { "value": "Standard", "description": "Standard SKU of the API gateway." + }, + { + "value": "WorkspaceGatewayStandard", + "description": "Standard SKU of the API gateway to be used in Workspaces." + }, + { + "value": "WorkspaceGatewayPremium", + "description": "Premium SKU of the API gateway to be used in Workspaces." } ] } @@ -510,7 +606,9 @@ "url": "https://azure.microsoft.com/en-us/pricing/details/api-management/" }, "enum": [ - "Standard" + "Standard", + "WorkspaceGatewayStandard", + "WorkspaceGatewayPremium" ], "x-ms-enum": { "name": "SkuType", @@ -519,6 +617,14 @@ { "value": "Standard", "description": "Standard SKU of the API gateway." + }, + { + "value": "WorkspaceGatewayStandard", + "description": "Standard SKU of the API gateway to be used in Workspaces." + }, + { + "value": "WorkspaceGatewayPremium", + "description": "Premium SKU of the API gateway to be used in Workspaces." } ] } @@ -627,6 +733,103 @@ } ], "description": "Parameter supplied to Update API Management gateway." + }, + "GatewayResourceSkuResults": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/GatewayResourceSkuResult" + }, + "x-ms-identifiers": [ + "resourceType", + "sku/name" + ], + "description": "The list of skus available for the gateway." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of API Management gateway Skus." + } + }, + "required": [ + "value" + ], + "description": "The API Management gateway SKUs operation response." + }, + "GatewayResourceSkuResult": { + "type": "object", + "properties": { + "resourceType": { + "readOnly": true, + "type": "string", + "description": "The type of resource the SKU applies to." + }, + "sku": { + "$ref": "#/definitions/GatewaySku", + "readOnly": true, + "description": "Specifies API Management gateway SKU." + }, + "capacity": { + "$ref": "#/definitions/GatewaySkuCapacity", + "readOnly": true, + "description": "Specifies the number of API Management gateway units." + } + }, + "description": "Describes an available API Management gateway SKU." + }, + "GatewaySkuCapacity": { + "type": "object", + "properties": { + "minimum": { + "type": "integer", + "readOnly": true, + "format": "int32", + "description": "The minimum capacity." + }, + "maximum": { + "type": "integer", + "readOnly": true, + "format": "int32", + "description": "The maximum capacity that can be set." + }, + "default": { + "type": "integer", + "readOnly": true, + "format": "int32", + "description": "The default capacity." + }, + "scaleType": { + "type": "string", + "readOnly": true, + "description": "The scale type applicable to the sku.", + "enum": [ + "Automatic", + "Manual", + "None" + ], + "x-ms-enum": { + "name": "GatewaySkuCapacityScaleType", + "modelAsString": true, + "values": [ + { + "value": "Automatic", + "description": "Supported scale type automatic." + }, + { + "value": "Manual", + "description": "Supported scale type manual." + }, + { + "value": "None", + "description": "Scaling not supported." + } + ] + } + } + }, + "description": "Describes scaling information of a SKU." } }, "parameters": {} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementCreateWorkspacePremiumGateway.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementCreateWorkspacePremiumGateway.json new file mode 100644 index 000000000000..22737f955006 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementCreateWorkspacePremiumGateway.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "gatewayName": "apimGateway1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "parameters": { + "properties": { + "backend": { + "subnet": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vn1/subnets/sn1" + } + }, + "virtualNetworkType": "External" + }, + "sku": { + "name": "WorkspaceGatewayPremium", + "capacity": 1 + }, + "location": "South Central US", + "tags": { + "Name": "Contoso", + "Test": "User" + } + } + }, + "responses": { + "201": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/gateways/apimGateway1/operationresults/ZWFzdHVzOmFuZHktdGVzdGluZy0yMDIyLTA0LTAxLXByZXZpZXctNF9BY3RfODQ2ZWE4Ng==?api-version=2023-09-01-preview&asyncResponse", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/gateways/apimGateway1/operationresults/ZWFzdHVzOmFuZHktdGVzdGluZy0yMDIyLTA0LTAxLXByZXZpZXctNF9BY3RfODQ2ZWE4Ng==?api-version=2023-09-01-preview&asyncResponse" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/gateways/apimGateway1", + "name": "apimGateway1", + "type": "Microsoft.ApiManagement/gateway", + "tags": { + "api-version": "2023-09-01-preview" + }, + "location": "East US", + "etag": "AAAAAAAmRAM=", + "properties": { + "provisioningState": "Created", + "targetProvisioningState": "Activating", + "createdAtUtc": "2022-07-11T18:41:01.2506031Z", + "backend": { + "subnet": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vn1/subnets/sn1" + } + }, + "virtualNetworkType": "External" + }, + "sku": { + "name": "WorkspaceGatewayPremium", + "capacity": 1 + }, + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2022-07-11T18:41:00.9390609Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2022-07-11T18:41:00.9390609Z" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/gateways/apimGateway1", + "name": "apimGateway1", + "type": "Microsoft.ApiManagement/gateways", + "tags": { + "api-version": "2023-09-01-preview" + }, + "location": "East US", + "etag": "AAAAAAAmREI=", + "properties": { + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2022-07-11T18:41:01.2506031Z", + "backend": { + "subnet": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vn1/subnets/sn1" + } + }, + "virtualNetworkType": "External" + }, + "sku": { + "name": "WorkspaceGatewayPremium", + "capacity": 1 + }, + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2022-07-11T18:41:00.9390609Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2022-07-11T18:41:00.9390609Z" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGatewaysBySubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGatewaysBySubscription.json index 3fd9644bd886..fc59e806eecf 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGatewaysBySubscription.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListGatewaysBySubscription.json @@ -47,32 +47,21 @@ } }, { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg2/providers/Microsoft.ApiManagement/gateways/standard-gw-2", - "name": "standard-gw-2", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg2/providers/Microsoft.ApiManagement/gateways/workspace-gw-2", + "name": "workspace-gw-2", "type": "Microsoft.ApiManagement/gateways", "tags": { - "Owner": "vitaliik" + "Owner": "foo" }, "location": "East US", "etag": "AAAAAAAWKwo=", "properties": { "provisioningState": "Succeeded", "targetProvisioningState": "", - "createdAtUtc": "2021-06-16T09:40:00.9453556Z", - "frontend": { - "defaultHostname": "standard-gw-2.eastus.gateway.azure-api.net" - }, - "backend": { - "subnet": { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vn2/subnets/sn2" - } - }, - "configurationApi": { - "hostname": "standard-gw-2.eastus.configuration.gateway.azure-api.net" - } + "createdAtUtc": "2021-06-16T09:40:00.9453556Z" }, "sku": { - "name": "Standard", + "name": "WorkspaceGatewayPremium", "capacity": 1 } } diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListSKUs-Gateways.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListSKUs-Gateways.json new file mode 100644 index 000000000000..cbb3fc3fe61a --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListSKUs-Gateways.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2023-09-01-preview", + "gatewayName": "apimService1", + "resourceGroupName": "rg1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "Microsoft.ApiManagement/gateways", + "sku": { + "name": "WorkspaceGatewayStandard" + }, + "capacity": { + "minimum": 1, + "maximum": 4, + "default": 1, + "scaleType": "Manual" + } + }, + { + "resourceType": "Microsoft.ApiManagement/gateways", + "sku": { + "name": "WorkspaceGatewayPremium" + }, + "capacity": { + "minimum": 1, + "maximum": 12, + "default": 1, + "scaleType": "Manual" + } + } + ], + "nextLink": null + } + } + } +}