Skip to content

Commit 18bed31

Browse files
authored
feat(Workspace): Add new SkuType for Workspace (#28903)
* new skutype * virtualNetworkType * remove default from patch * List skus API * add model for sku * caps enums
1 parent 203adb5 commit 18bed31

4 files changed

Lines changed: 357 additions & 21 deletions

File tree

specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apigateway.json

Lines changed: 208 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@
4444
"x-ms-examples": {
4545
"ApiManagementCreateStandardGateway": {
4646
"$ref": "./examples/ApiManagementCreateStandardGateway.json"
47+
},
48+
"ApiManagementCreateWorkspacePremiumGateway": {
49+
"$ref": "./examples/ApiManagementCreateWorkspacePremiumGateway.json"
4750
}
4851
},
4952
"parameters": [
@@ -241,7 +244,7 @@
241244
"x-ms-long-running-operation": true
242245
}
243246
},
244-
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/gateway": {
247+
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/gateways": {
245248
"get": {
246249
"tags": [
247250
"ApiManagementGateway"
@@ -283,7 +286,7 @@
283286
}
284287
}
285288
},
286-
"/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/gateway": {
289+
"/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/gateways": {
287290
"get": {
288291
"tags": [
289292
"ApiManagementGateway"
@@ -321,6 +324,52 @@
321324
"nextLinkName": "nextLink"
322325
}
323326
}
327+
},
328+
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/gateways/{gatewayName}/skus": {
329+
"get": {
330+
"tags": [
331+
"ApiManagementGatewaySkus"
332+
],
333+
"summary": "Gets available SKUs for API Management gateway",
334+
"description": "Gets all available SKU for a given API Management gateway",
335+
"operationId": "ApiManagementGatewaySkus_ListAvailableSkus",
336+
"x-ms-examples": {
337+
"ApiManagementListSKUs-Gateways": {
338+
"$ref": "./examples/ApiManagementListSKUs-Gateways.json"
339+
}
340+
},
341+
"parameters": [
342+
{
343+
"$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter"
344+
},
345+
{
346+
"$ref": "./apimanagement.json#/parameters/GatewayNameParameter"
347+
},
348+
{
349+
"$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter"
350+
},
351+
{
352+
"$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter"
353+
}
354+
],
355+
"responses": {
356+
"200": {
357+
"description": "Success. The response describes the list of SKUs.",
358+
"schema": {
359+
"$ref": "#/definitions/GatewayResourceSkuResults"
360+
}
361+
},
362+
"default": {
363+
"description": "Error response describing why the operation failed.",
364+
"schema": {
365+
"$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse"
366+
}
367+
}
368+
},
369+
"x-ms-pageable": {
370+
"nextLinkName": "nextLink"
371+
}
372+
}
324373
}
325374
},
326375
"definitions": {
@@ -334,7 +383,9 @@
334383
"url": "https://azure.microsoft.com/en-us/pricing/details/api-management/"
335384
},
336385
"enum": [
337-
"Standard"
386+
"Standard",
387+
"WorkspaceGatewayStandard",
388+
"WorkspaceGatewayPremium"
338389
],
339390
"x-ms-enum": {
340391
"name": "SkuType",
@@ -343,6 +394,14 @@
343394
{
344395
"value": "Standard",
345396
"description": "Standard SKU of the API gateway."
397+
},
398+
{
399+
"value": "WorkspaceGatewayStandard",
400+
"description": "Standard SKU of the API gateway to be used in Workspaces."
401+
},
402+
{
403+
"value": "WorkspaceGatewayPremium",
404+
"description": "Premium SKU of the API gateway to be used in Workspaces."
346405
}
347406
]
348407
}
@@ -442,6 +501,33 @@
442501
"configurationApi": {
443502
"$ref": "#/definitions/GatewayConfigurationApi",
444503
"description": "Information regarding the Configuration API of the API Management gateway. This is only applicable for API gateway with Standard SKU."
504+
},
505+
"virtualNetworkType": {
506+
"type": "string",
507+
"description": "The type of VPN in which API Management gateway needs to be configured in. ",
508+
"enum": [
509+
"None",
510+
"External",
511+
"Internal"
512+
],
513+
"x-ms-enum": {
514+
"name": "VirtualNetworkType",
515+
"modelAsString": true,
516+
"values": [
517+
{
518+
"value": "None",
519+
"description": "The API Management gateway is not part of any Virtual Network."
520+
},
521+
{
522+
"value": "External",
523+
"description": "The API Management gateway is part of Virtual Network and it is accessible from Internet."
524+
},
525+
{
526+
"value": "Internal",
527+
"description": "The API Management gateway is part of Virtual Network and it is only accessible from within the virtual network."
528+
}
529+
]
530+
}
445531
}
446532
},
447533
"description": "Base Properties of an API Management gateway resource description."
@@ -476,7 +562,9 @@
476562
"url": "https://azure.microsoft.com/en-us/pricing/details/api-management/"
477563
},
478564
"enum": [
479-
"Standard"
565+
"Standard",
566+
"WorkspaceGatewayStandard",
567+
"WorkspaceGatewayPremium"
480568
],
481569
"x-ms-enum": {
482570
"name": "SkuType",
@@ -485,6 +573,14 @@
485573
{
486574
"value": "Standard",
487575
"description": "Standard SKU of the API gateway."
576+
},
577+
{
578+
"value": "WorkspaceGatewayStandard",
579+
"description": "Standard SKU of the API gateway to be used in Workspaces."
580+
},
581+
{
582+
"value": "WorkspaceGatewayPremium",
583+
"description": "Premium SKU of the API gateway to be used in Workspaces."
488584
}
489585
]
490586
}
@@ -510,7 +606,9 @@
510606
"url": "https://azure.microsoft.com/en-us/pricing/details/api-management/"
511607
},
512608
"enum": [
513-
"Standard"
609+
"Standard",
610+
"WorkspaceGatewayStandard",
611+
"WorkspaceGatewayPremium"
514612
],
515613
"x-ms-enum": {
516614
"name": "SkuType",
@@ -519,6 +617,14 @@
519617
{
520618
"value": "Standard",
521619
"description": "Standard SKU of the API gateway."
620+
},
621+
{
622+
"value": "WorkspaceGatewayStandard",
623+
"description": "Standard SKU of the API gateway to be used in Workspaces."
624+
},
625+
{
626+
"value": "WorkspaceGatewayPremium",
627+
"description": "Premium SKU of the API gateway to be used in Workspaces."
522628
}
523629
]
524630
}
@@ -627,6 +733,103 @@
627733
}
628734
],
629735
"description": "Parameter supplied to Update API Management gateway."
736+
},
737+
"GatewayResourceSkuResults": {
738+
"type": "object",
739+
"properties": {
740+
"value": {
741+
"type": "array",
742+
"items": {
743+
"$ref": "#/definitions/GatewayResourceSkuResult"
744+
},
745+
"x-ms-identifiers": [
746+
"resourceType",
747+
"sku/name"
748+
],
749+
"description": "The list of skus available for the gateway."
750+
},
751+
"nextLink": {
752+
"type": "string",
753+
"description": "The uri to fetch the next page of API Management gateway Skus."
754+
}
755+
},
756+
"required": [
757+
"value"
758+
],
759+
"description": "The API Management gateway SKUs operation response."
760+
},
761+
"GatewayResourceSkuResult": {
762+
"type": "object",
763+
"properties": {
764+
"resourceType": {
765+
"readOnly": true,
766+
"type": "string",
767+
"description": "The type of resource the SKU applies to."
768+
},
769+
"sku": {
770+
"$ref": "#/definitions/GatewaySku",
771+
"readOnly": true,
772+
"description": "Specifies API Management gateway SKU."
773+
},
774+
"capacity": {
775+
"$ref": "#/definitions/GatewaySkuCapacity",
776+
"readOnly": true,
777+
"description": "Specifies the number of API Management gateway units."
778+
}
779+
},
780+
"description": "Describes an available API Management gateway SKU."
781+
},
782+
"GatewaySkuCapacity": {
783+
"type": "object",
784+
"properties": {
785+
"minimum": {
786+
"type": "integer",
787+
"readOnly": true,
788+
"format": "int32",
789+
"description": "The minimum capacity."
790+
},
791+
"maximum": {
792+
"type": "integer",
793+
"readOnly": true,
794+
"format": "int32",
795+
"description": "The maximum capacity that can be set."
796+
},
797+
"default": {
798+
"type": "integer",
799+
"readOnly": true,
800+
"format": "int32",
801+
"description": "The default capacity."
802+
},
803+
"scaleType": {
804+
"type": "string",
805+
"readOnly": true,
806+
"description": "The scale type applicable to the sku.",
807+
"enum": [
808+
"Automatic",
809+
"Manual",
810+
"None"
811+
],
812+
"x-ms-enum": {
813+
"name": "GatewaySkuCapacityScaleType",
814+
"modelAsString": true,
815+
"values": [
816+
{
817+
"value": "Automatic",
818+
"description": "Supported scale type automatic."
819+
},
820+
{
821+
"value": "Manual",
822+
"description": "Supported scale type manual."
823+
},
824+
{
825+
"value": "None",
826+
"description": "Scaling not supported."
827+
}
828+
]
829+
}
830+
}
831+
},
832+
"description": "Describes scaling information of a SKU."
630833
}
631834
},
632835
"parameters": {}

0 commit comments

Comments
 (0)