diff --git a/arm-apimanagement/2016-10-10/examples/ApiManagementApplyNetworkConfigurationUpdates.json b/arm-apimanagement/2016-10-10/examples/ApiManagementApplyNetworkConfigurationUpdates.json new file mode 100644 index 000000000000..d898031f365e --- /dev/null +++ b/arm-apimanagement/2016-10-10/examples/ApiManagementApplyNetworkConfigurationUpdates.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2016-10-10", + "subscriptionId": "subid" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2016-10-10" + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": { + "TestExpiration": "Tue, 22 Sep 2015 02:52:00 GMT", + "Pool": "Manual", + "TestSuiteExpiration": "Tue, 22 Sep 2015 05:10:46 GMT" + }, + "location": "West US", + "etag": "AAAAAAAV8XM=", + "properties": { + "publisherEmail": "admin@live.com", + "publisherName": "Contoso", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2015-09-22T01:52:02.4307221Z", + "runtimeUrl": "https://apimService1.azure-api.net", + "portalUrl": "https://apimService1.portal.azure-api.net", + "managementApiUrl": "https://apimService1.management.azure-api.net", + "scmUrl": "https://apimService1.scm.azure-api.net", + "staticIPs": [ + "xx.xxx.xx.xxx" + ], + "vpnconfiguration": { + "subnetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/dfVirtualNetwork/subnets/backendSubnet", + "location": "West US" + }, + "vpnType": "External" + }, + "sku": { + "name": "Premium", + "capacity": 1 + } + } + } + } +} \ No newline at end of file diff --git a/arm-apimanagement/2016-10-10/examples/ApiManagementCreateBackup.json b/arm-apimanagement/2016-10-10/examples/ApiManagementCreateBackup.json new file mode 100644 index 000000000000..66b375fad899 --- /dev/null +++ b/arm-apimanagement/2016-10-10/examples/ApiManagementCreateBackup.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2016-10-10", + "subscriptionId": "subid", + "parameters": { + "storageAccount" : "teststorageaccount", + "accessKey" : "**************************************************", + "containerName" :"backupContainer", + "backupName" : "apimService1backup_2017_03_19" + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2016-10-10" + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": { + "TestExpiration": "Tue, 22 Sep 2015 02:52:00 GMT", + "Pool": "Manual", + "TestSuiteExpiration": "Tue, 22 Sep 2015 05:10:46 GMT" + }, + "location": "West US", + "etag": "AAAAAAAV8XM=", + "properties": { + "publisherEmail": "admin@live.com", + "publisherName": "Contoso", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2015-09-22T01:52:02.4307221Z", + "runtimeUrl": "https://apimService1.azure-api.net", + "portalUrl": "https://apimService1.portal.azure-api.net", + "managementApiUrl": "https://apimService1.management.azure-api.net", + "scmUrl": "https://apimService1.scm.azure-api.net", + "staticIPs": [ + "xx.xxx.xx.xxx" + ], + "vpnType": "None" + }, + "sku": { + "name": "Premium", + "capacity": 1 + } + } + } + } +} \ No newline at end of file diff --git a/arm-apimanagement/2016-10-10/examples/ApiManagementCreateService.json b/arm-apimanagement/2016-10-10/examples/ApiManagementCreateService.json new file mode 100644 index 000000000000..42eca3f40738 --- /dev/null +++ b/arm-apimanagement/2016-10-10/examples/ApiManagementCreateService.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2016-10-10", + "subscriptionId": "subid", + "parameters": { + "location" : "West US", + "sku" : { + "name" : "Premium", + "capacity" : 1 + }, + "properties" : { + "publisherEmail" : "admin@live.com", + "publisherName": "contoso" + } + } + }, + "responses": { + "201": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2016-10-10" + }, + "body" : { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": {}, + "location": "West US", + "etag": "AAAAAAAV8Yo=", + "properties": { + "publisherEmail": "sasolank@microsoft.com", + "publisherName": "sasolank@microsoft.com", + "provisioningState": "Created", + "targetProvisioningState": "Activating", + "createdAtUtc": "2017-03-19T21:55:27.7443915Z", + "hostnameConfigurations": [], + "staticIPs": [], + "vpnType": "None" + }, + "sku": { + "name": "Premium", + "capacity": 1 + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": { }, + "location": "West US", + "etag": "AAAAAAAV8XM=", + "properties": { + "publisherEmail": "admin@live.com", + "publisherName": "Contoso", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2015-09-22T01:52:02.4307221Z", + "runtimeUrl": "https://apimService1.azure-api.net", + "portalUrl": "https://apimService1.portal.azure-api.net", + "managementApiUrl": "https://apimService1.management.azure-api.net", + "scmUrl": "https://apimService1.scm.azure-api.net", + "staticIPs": [ + "xx.xx.250.222" + ], + "vpnType": "None" + }, + "sku": { + "name": "Premium", + "capacity": 1 + } + } + } + } +} \ No newline at end of file diff --git a/arm-apimanagement/2016-10-10/examples/ApiManagementRestoreService.json b/arm-apimanagement/2016-10-10/examples/ApiManagementRestoreService.json new file mode 100644 index 000000000000..498544ae1a7b --- /dev/null +++ b/arm-apimanagement/2016-10-10/examples/ApiManagementRestoreService.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2016-10-10", + "subscriptionId": "subid", + "parameters": { + "storageAccount" : "teststorageaccount", + "accessKey" : "**************************************************", + "containerName" :"backupContainer", + "backupName" : "apimService1backup_2017_03_19" + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2016-10-10" + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": { + "TestExpiration": "Tue, 22 Sep 2015 02:52:00 GMT", + "Pool": "Manual", + "TestSuiteExpiration": "Tue, 22 Sep 2015 05:10:46 GMT" + }, + "location": "West US", + "etag": "AAAAAAAV8XM=", + "properties": { + "publisherEmail": "admin@live.com", + "publisherName": "Contoso", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2015-09-22T01:52:02.4307221Z", + "runtimeUrl": "https://apimService1.azure-api.net", + "portalUrl": "https://apimService1.portal.azure-api.net", + "managementApiUrl": "https://apimService1.management.azure-api.net", + "scmUrl": "https://apimService1.scm.azure-api.net", + "staticIPs": [ + "xx.xxx.xx.xxx" + ], + "vpnType": "None" + }, + "sku": { + "name": "Premium", + "capacity": 1 + } + } + } + } +} \ No newline at end of file diff --git a/arm-apimanagement/2016-10-10/examples/ApiManagementServiceCheckNameAvailability.json b/arm-apimanagement/2016-10-10/examples/ApiManagementServiceCheckNameAvailability.json new file mode 100644 index 000000000000..aee9435aa0b8 --- /dev/null +++ b/arm-apimanagement/2016-10-10/examples/ApiManagementServiceCheckNameAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "api-version": "2016-10-10", + "subscriptionId": "subid", + "parameters": { + "name" : "apimService1" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true, + "reason": "Valid", + "message": "" + } + } + } +} \ No newline at end of file diff --git a/arm-apimanagement/2016-10-10/examples/ApiManagementServiceGetNetworkStatus.json b/arm-apimanagement/2016-10-10/examples/ApiManagementServiceGetNetworkStatus.json new file mode 100644 index 000000000000..bf557f9011d9 --- /dev/null +++ b/arm-apimanagement/2016-10-10/examples/ApiManagementServiceGetNetworkStatus.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2016-10-10", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "dnsServers": [ + "10.xx.3.87", + "10.xx.5.29", + "10.xx.32.105" + ], + "connectivityStatus": [ + { + "name": "xxxxx.database.windows.net", + "status": "success", + "lastUpdated": "2017-03-20T08:47:20.7043553Z", + "lastStatusChange": "2017-03-20T08:47:20.7981057Z" + }, + { + "name": "xxxxxxx.blob.core.windows.net", + "status": "success", + "lastUpdated": "2017-03-20T08:47:20.720918Z", + "lastStatusChange": "2017-03-20T08:47:20.9075183Z" + } + ] + } + } + } +} \ No newline at end of file diff --git a/arm-apimanagement/2016-10-10/examples/ApiManagementServiceGetSsoToken.json b/arm-apimanagement/2016-10-10/examples/ApiManagementServiceGetSsoToken.json new file mode 100644 index 000000000000..852360062dd7 --- /dev/null +++ b/arm-apimanagement/2016-10-10/examples/ApiManagementServiceGetSsoToken.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2016-10-10", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "redirect_uri": "https://apimService1.portal.azure-api.net:443/signin-sso?token=1%26201703200238%26nmWpz5mPSCMn%2b7BJXmwufoEn5AGN6xUt3y1aSQ8p6Gi4IdRHcEOo959Qt8nxojihYgSj%2fbxwykTUETMdyr4f%2fw%3d%3d" + } + } + } +} \ No newline at end of file diff --git a/arm-apimanagement/2016-10-10/examples/ApiManagementServiceManageDeployment.json b/arm-apimanagement/2016-10-10/examples/ApiManagementServiceManageDeployment.json new file mode 100644 index 000000000000..d8d79866c43c --- /dev/null +++ b/arm-apimanagement/2016-10-10/examples/ApiManagementServiceManageDeployment.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2016-10-10", + "subscriptionId": "subid", + "parameters": { + "location" : "West US", + "skuType" : "Developer", + "skuUnitCount" : 1, + "vpnConfiguration": { + "subnetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/dfVirtualNetwork/subnets/backendSubnet", + "location": "West US" + }, + "vpnType":"External" + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2016-10-10" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": {}, + "location": "West US", + "etag": "AAAAAAAAjQM=", + "properties": { + "publisherEmail": "admin@live.com", + "publisherName": "Contoso", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2017-03-20T03:45:14.1412986Z", + "runtimeUrl": "https://apimService1.azure-api.net", + "portalUrl": "https://apimService1.portal.azure-api.net", + "managementApiUrl": "https://apimService1.management.azure-api.net", + "scmUrl": "https://apimService1.scm.azure-api.net", + "hostnameConfigurations": [], + "staticIPs": [ + "xx.xxx.xx.xxx" + ], + "vpnType": "None" + }, + "sku": { + "name": "Developer", + "capacity": 1 + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": { + "TestExpiration": "Tue, 22 Sep 2015 02:52:00 GMT", + "Pool": "Manual", + "TestSuiteExpiration": "Tue, 22 Sep 2015 05:10:46 GMT" + }, + "location": "West US", + "etag": "AAAAAAAV8XM=", + "properties": { + "publisherEmail": "admin@live.com", + "publisherName": "Contoso", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2015-09-22T01:52:02.4307221Z", + "runtimeUrl": "https://apimService1.azure-api.net", + "portalUrl": "https://apimService1.portal.azure-api.net", + "managementApiUrl": "https://apimService1.management.azure-api.net", + "scmUrl": "https://apimService1.scm.azure-api.net", + "staticIPs": [ + "xx.xx.xxx.xxx" + ], + "vpnconfiguration": { + "subnetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/dfVirtualNetwork/subnets/backendSubnet", + "location": "West US" + }, + "vpnType": "External" + }, + "sku": { + "name": "Developer", + "capacity": 1 + } + } + } + } +} \ No newline at end of file diff --git a/arm-apimanagement/2016-10-10/examples/ApiManagementServiceUpdateHostName.json b/arm-apimanagement/2016-10-10/examples/ApiManagementServiceUpdateHostName.json new file mode 100644 index 000000000000..422031175ed1 --- /dev/null +++ b/arm-apimanagement/2016-10-10/examples/ApiManagementServiceUpdateHostName.json @@ -0,0 +1,161 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2016-10-10", + "subscriptionId": "subid", + "parameters": { + "update": [ + { + "type": "Proxy", + "hostname": "internalproxy2.contoso.com", + "certificate": + { + "expiry": "2018-03-17T21:55:07+00:00", + "thumbprint": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "subject": "CN=*.contoso.com" + } + }, + { + "type": "Portal", + "hostname": "internalportal2.contoso.com", + "certificate": + { + "expiry": "2018-03-17T21:55:07+00:00", + "thumbprint": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "subject": "CN=*.contoso.com" + } + }, + { + "type": "Management", + "hostname": "internalmgmt2.contoso.com", + "certificate": + { + "expiry": "2018-03-17T21:55:07+00:00", + "thumbprint": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "subject": "CN=*.contoso.com" + } + }, + { + "type": "Scm", + "hostname": "internalscm2.contoso.com", + "certificate": + { + "expiry": "2018-03-17T21:55:07+00:00", + "thumbprint": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "subject": "CN=*.contoso.com" + } + } + ] + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2016-10-10" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1", + "tags": { + "TestExpiration": "Tue, 22 Sep 2015 02:52:00 GMT", + "Pool": "Manual", + "TestSuiteExpiration": "Tue, 22 Sep 2015 05:10:46 GMT" + }, + "location": "West US", + "etag": "AAAAAAAV8ZY=", + "properties": { + "publisherEmail": "admin@live.com", + "publisherName": "Contoso", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2015-09-22T01:52:02.4307221Z", + "runtimeUrl": "https://apimService1.azure-api.net", + "portalUrl": "https://apimService1.portal.azure-api.net", + "managementApiUrl": "https://apimService1.management.azure-api.net", + "scmUrl": "https://apimService1.scm.azure-api.net", + "staticIPs": [ + "xx.xx.xxxx.xxxx" + ], + "vpnType": "None" + }, + "sku": { + "name": "Premium", + "capacity": 1 + }, + "name": "apimService1", + "type": "Microsoft.ApiManagement/service" + } + }, + "200": { + "body": { + "id": "/subscriptions/20010222-2b48-4245-a95c-090db6312d5f/resourceGroups/Admin-ResourceGroup/providers/Microsoft.ApiManagement/service/apimService1", + "name": "apimService1", + "type": "Microsoft.ApiManagement/service", + "tags": { + "TestExpiration": "Tue, 22 Sep 2015 02:52:00 GMT", + "Pool": "Manual", + "TestSuiteExpiration": "Tue, 22 Sep 2015 05:10:46 GMT" + }, + "location": "West US", + "etag": "AAAAAAAV8aU=", + "properties": { + "publisherEmail": "admin@live.com", + "publisherName": "Contoso", + "provisioningState": "Succeeded", + "targetProvisioningState": "", + "createdAtUtc": "2015-09-22T01:52:02.4307221Z", + "runtimeUrl": "https://apimService1.azure-api.net", + "portalUrl": "https://apimService1.portal.azure-api.net", + "managementApiUrl": "https://apimService1.management.azure-api.net", + "scmUrl": "https://apimService1.scm.azure-api.net", + "hostnameConfigurations": [ + { + "type": "Portal", + "hostname": "internalportal2.contoso.com", + "certificate": { + "expiry": "2018-03-17T21:55:07+00:00", + "thumbprint": "*******************************", + "subject": "CN=*.contoso.com" + } + }, + { + "type": "Proxy", + "hostname": "internalproxy2.contoso.com", + "certificate": { + "expiry": "2018-03-17T21:55:07+00:00", + "thumbprint": "*******************************", + "subject": "CN=*.contoso.com" + } + }, + { + "type": "Management", + "hostname": "internalmgmt2.contoso.com", + "certificate": { + "expiry": "2018-03-17T21:55:07+00:00", + "thumbprint": "*******************************", + "subject": "CN=*.contoso.com" + } + }, + { + "type": "Scm", + "hostname": "internalscm2.contoso.com", + "certificate": { + "expiry": "2018-03-17T21:55:07+00:00", + "thumbprint": "*******************************", + "subject": "CN=*.contoso.com" + } + } + ], + "staticIPs": [ + "xx.xxx.xx.xxx" + ], + "vpnType": "None" + }, + "sku": { + "name": "Premium", + "capacity": 1 + } + } + } + } +} \ No newline at end of file diff --git a/arm-apimanagement/2016-10-10/examples/ApiManagementServiceUploadProxyCertificate.json b/arm-apimanagement/2016-10-10/examples/ApiManagementServiceUploadProxyCertificate.json new file mode 100644 index 000000000000..8103ff471d09 --- /dev/null +++ b/arm-apimanagement/2016-10-10/examples/ApiManagementServiceUploadProxyCertificate.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2016-10-10", + "subscriptionId": "subid", + "parameters": { + "type" : "Proxy", + "certificate" : "MIIZ7wI************************************************************", + "certificate_password": "******" + } + }, + "responses": { + "200": { + "body": { + "expiry": "2018-03-17T21:55:07+00:00", + "thumbprint": "DE57B************************", + "subject": "CN=*.contoso.com" + } + } + } +} \ No newline at end of file diff --git a/arm-apimanagement/2016-10-10/swagger/apimanagement.json b/arm-apimanagement/2016-10-10/swagger/apimanagement.json new file mode 100644 index 000000000000..dcefb01e65f6 --- /dev/null +++ b/arm-apimanagement/2016-10-10/swagger/apimanagement.json @@ -0,0 +1,292 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing operations on entities like API, Product, and Subscription associated with your Azure API Management deployment.", + "version": "2016-10-10" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policySnippets": { + "get": { + "tags": [ + "PolicySnippets" + ], + "operationId": "PolicySnippets_ListByService", + "description": "Lists all policy snippets.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "name": "scope", + "in": "query", + "required": false, + "type": "string", + "description": "Policy scope.", + "enum": [ + "Tenant", + "Product", + "Api", + "Operation", + "All" + ], + "x-ms-enum": { + "name": "PolicyScopeContract", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Returns an array of Policy Contracts.", + "schema": { + "$ref": "#/definitions/PolicySnippetsCollection" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/regions": { + "get": { + "tags": [ + "Regions" + ], + "operationId": "Regions_ListByService", + "description": "Lists all azure regions in which the service exists.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists of Regions in which the service is deployed.", + "schema": { + "$ref": "#/definitions/RegionListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + } + }, + "definitions": { + "ErrorFieldContract": { + "properties": { + "code": { + "type": "string", + "description": "Property level error code." + }, + "message": { + "type": "string", + "description": "Human-readable representation of property-level error." + }, + "target": { + "type": "string", + "description": "Property name." + } + }, + "description": "Error Field contract." + }, + "ErrorBodyContract": { + "properties": { + "code": { + "type": "string", + "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response." + }, + "message": { + "type": "string", + "description": "Human-readable representation of the error." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/ErrorFieldContract" + }, + "description": "The list of invalid fields send in request, in case of validation error." + } + }, + "description": "Error Body contract." + }, + "PolicySnippetsCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PolicySnippetContract" + }, + "description": "Policy snippet value." + } + }, + "description": "The response of the list policy snippets operation." + }, + "PolicySnippetContract": { + "properties": { + "name": { + "type": "string", + "description": "Snippet name.", + "readOnly": true + }, + "content": { + "type": "string", + "description": "Snippet content.", + "readOnly": true + }, + "toolTip": { + "type": "string", + "description": "Snippet toolTip.", + "readOnly": true + }, + "scope": { + "type": "string", + "description": "Snippet scope.", + "enum": [ + "Tenant", + "Product", + "Api", + "Operation", + "All" + ], + "readOnly": true, + "x-ms-enum": { + "name": "PolicyScopeContract", + "modelAsString": false + } + } + }, + "description": "Policy snippet." + }, + "RegionContract": { + "properties": { + "name": { + "type": "string", + "description": "Region name." + }, + "isMasterRegion": { + "type": "boolean", + "description": "whether Region is the master region." + } + }, + "required": [ + "name", + "isMasterRegion" + ], + "description": "Region profile." + }, + "RegionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RegionContract" + }, + "description": "Lists of Regions." + } + }, + "description": "Lists Regions operation response details." + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Version of the API to be used with the client request." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "ServiceNameParameter": { + "name": "serviceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the API Management service.", + "minLength": 1, + "maxLength": 50, + "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$", + "x-ms-parameter-location": "method" + }, + "SkipQueryParameter": { + "name": "$skip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of records to skip.", + "minimum": 0, + "x-ms-parameter-location": "method" + }, + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "TopQueryParameter": { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of records to return.", + "minimum": 1, + "x-ms-parameter-location": "method" + } + } +} \ No newline at end of file diff --git a/arm-apimanagement/2016-10-10/swagger/apimapis.json b/arm-apimanagement/2016-10-10/swagger/apimapis.json new file mode 100644 index 000000000000..cbcd3b366309 --- /dev/null +++ b/arm-apimanagement/2016-10-10/swagger/apimapis.json @@ -0,0 +1,1126 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing operations on API entity and their Operations associated with your Azure API Management deployment.", + "version": "2016-10-10" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis": { + "get": { + "tags": [ + "Apis" + ], + "operationId": "Apis_ListByService", + "description": "Lists all APIs of the API Management service instance.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/dn781423.aspx" + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| description | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| serviceUrl | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| path | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Paged Result reponse of Apis.", + "schema": { + "$ref": "#/definitions/ApiCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/ApiContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}": { + "get": { + "tags": [ + "Apis" + ], + "operationId": "Apis_Get", + "description": "Gets the details of the API specified by its identifier.", + "produces": [ + "application/json", + "application/vnd.sun.wadl+xml", + "application/vnd.swagger.doc+json", + "application/wsdl+xml" + ], + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified API entity.", + "schema": { + "$ref": "#/definitions/ApiContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "put": { + "tags": [ + "Apis" + ], + "operationId": "Apis_CreateOrUpdate", + "description": "Creates new or updates existing specified API of the API Management service instance.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ApiIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ApiContract" + }, + "description": "Create or update parameters." + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "ETag of the Api Entity. For Create Api Etag should not be specified. For Update Etag should match the existing Entity or it can be * for unconditional update." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "API was successfully created." + }, + "204":{ + "description": "API was successfully updated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "patch": { + "tags": [ + "Apis" + ], + "operationId": "Apis_Update", + "description": "Updates the specified API of the API Management service instance.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ApiIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ApiUpdateContract" + }, + "description": "API Update Contract parameters." + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "description": "ETag of the API entity. ETag should match the current entity state in the header response of the GET request or it should be * for unconditional update.", + "type": "string" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "The API was successfully updated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "delete": { + "tags": [ + "Apis" + ], + "operationId": "Apis_Delete", + "description": "Deletes the specified API of the API Management service instance.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ApiIdParameter" + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "description": "ETag of the API Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.", + "type": "string" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "The API was successfully deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_ListByApis", + "description": "Lists a collection of the operations for the specified API.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ApiIdParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n| name | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| method | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| description | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| urlTemplate | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "A collection of operation summary entities at the API level.", + "schema": { + "$ref": "#/definitions/OperationCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/OperationContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "ApiOperations_Get", + "description": "Gets the details of the API Operation specified by its identifier.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ApiIdParameter" + }, + { + "$ref": "#/parameters/OperationIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified Operation entity.", + "schema": { + "$ref": "#/definitions/OperationContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "put": { + "tags": [ + "Operations" + ], + "operationId": "ApiOperations_CreateOrUpdate", + "description": "Creates a new API operation or updates an existing one.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ApiIdParameter" + }, + { + "$ref": "#/parameters/OperationIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/OperationContract" + }, + "description": "Create parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Operation was successfully created." + }, + "204":{ + "description": "Operation was successfully updated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "patch": { + "tags": [ + "Operations" + ], + "operationId": "ApiOperations_Update", + "description": "Updates the details of the operation specified by its identifier.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ApiIdParameter" + }, + { + "$ref": "#/parameters/OperationIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/OperationUpdateContract" + }, + "description": "API Operation Update parameters." + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "description": "ETag of the API Operation Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.", + "type": "string" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "The operation was successfully updated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "delete": { + "tags": [ + "Operations" + ], + "operationId": "ApiOperations_Delete", + "description": "Deletes the specified operation.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ApiIdParameter" + }, + { + "$ref": "#/parameters/OperationIdParameter" + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "description": "ETag of the API Operation Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.", + "type": "string" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "The operation was successfully deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/products": { + "get": { + "tags": [ + "ApiProducts" + ], + "operationId": "Products_ListByApis", + "description": "Lists all API associated products.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ApiIdParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Supported operators | Supported functions |\n|-------|------------------------|---------------------------------------------|\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation returns a collection of products which have the Api entity.", + "schema": { + "$ref": "./apimproducts.json#/definitions/ProductCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "./apimproducts.json#/definitions/ProductContract" + } + } + }, + "x-ms-paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}?export=true": { + "get": { + "tags": [ + "Apis" + ], + "operationId": "ApiExport_Get", + "description": "Gets the details of the API specified by its identifier.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response contains a stream with a full set of API metadata and includes API entity with an embedded array of operation entities.", + "schema": { + "$ref": "#/definitions/ApiExportResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + } + } + }, + "definitions": { + "ApiCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApiContract" + }, + "description": "Page values." + }, + "count": { + "type": "integer", + "format": "int64", + "description": "Total record count number across all pages." + }, + "nextLink": { + "type": "string", + "description": "Next page link if any." + } + }, + "description": "Paged Api list representation." + }, + "ApiContract": { + "properties": { + "id": { + "type": "string", + "description": "API identifier path: /apis/{apiId}", + "readOnly": true + }, + "name": { + "type": "string", + "description": "API name.", + "minLength": 1, + "maxLength": 300 + }, + "serviceUrl": { + "type": "string", + "description": "Absolute URL of the backend service implementing this API.", + "minLength": 1, + "maxLength": 2000 + }, + "path": { + "type": "string", + "description": "Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API.", + "minLength": 0, + "maxLength": 400 + }, + "protocols": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Http", + "Https" + ], + "x-ms-enum": { + "name": "ApiProtocolContract", + "modelAsString": false + } + }, + "description": "Describes on which protocols the operations in this API can be invoked." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ApiEntityBaseContract" + } + ], + "required": [ + "name", + "serviceUrl", + "path", + "protocols" + ], + "description": "API details." + }, + "ApiEntityBaseContract": { + "properties": { + "description": { + "type": "string", + "description": "Description of the API. May include HTML formatting tags." + }, + "authenticationSettings": { + "$ref": "#/definitions/AuthenticationSettingsContract", + "description": "Collection of authentication settings included into this API." + }, + "subscriptionKeyParameterNames": { + "$ref": "#/definitions/SubscriptionKeyParameterNamesContract", + "description": "Protocols over which API is made available." + }, + "type": { + "type": "string", + "description": "Type of API.", + "enum": [ + "Http", + "Soap" + ], + "x-ms-enum": { + "name": "ApiTypeContract", + "modelAsString": false + } + } + }, + "description": "API base contract details." + }, + "ApiExportResult": { + "properties": { + "content": { + "type": "string", + "format": "byte", + "description": "Response content bytes." + }, + "statusCode": { + "type": "string", + "enum": [ + "Continue", + "OK", + "Created", + "Accepted", + "NotFound", + "Conflict" + ], + "x-ms-enum": { + "name": "HttpStatusCode", + "modelAsString": false + } + }, + "requestId": { + "type": "string" + } + }, + "description": "The response model for the export API output operation." + }, + "ApiUpdateContract": { + "properties": { + "id": { + "type": "string", + "description": "API identifier path: /apis/{apiId}", + "readOnly": true + }, + "name": { + "type": "string", + "description": "API name.", + "minLength": 1, + "maxLength": 300 + }, + "serviceUrl": { + "type": "string", + "description": "Absolute URL of the backend service implementing this API.", + "minLength": 1, + "maxLength": 2000 + }, + "path": { + "type": "string", + "description": "Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API.", + "minLength": 0, + "maxLength": 400 + }, + "protocols": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Http", + "Https" + ], + "x-ms-enum": { + "name": "ApiProtocolContract", + "modelAsString": false + } + }, + "description": "Describes on which protocols the operations in this API can be invoked." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ApiEntityBaseContract" + } + ], + "description": "API Update Contract details." + }, + "AuthenticationSettingsContract": { + "properties": { + "oAuth2": { + "$ref": "#/definitions/OAuth2AuthenticationSettingsContract" + } + }, + "description": "API Authentication Settings." + }, + "OAuth2AuthenticationSettingsContract": { + "properties": { + "authorizationServerId": { + "type": "string", + "description": "OAuth authorization server identifier." + }, + "scope": { + "type": "string", + "description": "operations scope." + } + }, + "description": "API OAuth2 Authentication settings details." + }, + "OperationCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/OperationContract" + }, + "description": "Page values." + }, + "count": { + "type": "integer", + "format": "int64", + "description": "Total record count number across all pages." + }, + "nextLink": { + "type": "string", + "description": "Next page link if any." + } + }, + "description": "Paged Operation list representation." + }, + "OperationContract": { + "properties": { + "id": { + "type": "string", + "description": "Uniquely identifies the operation within the current API Management service instance. The value is a valid relative URL in the format of /apis/{aid}/operations/{id} where {aid} is an API identifier and {id} is an operation identifier.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Operation Name.", + "minLength": 1, + "maxLength": 300 + }, + "method": { + "type": "string", + "description": "A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them.", + "externalDocs": { + "description": "As defined by RFC.", + "url": "http://www.rfc-editor.org/rfc/rfc7230.txt" + } + }, + "urlTemplate": { + "type": "string", + "description": "Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date}", + "minLength": 1, + "maxLength": 1000 + } + }, + "allOf": [ + { + "$ref": "#/definitions/OperationEntityBaseContract" + } + ], + "required": [ + "name", + "method", + "urlTemplate" + ], + "description": "Api Operation details." + }, + "OperationEntityBaseContract": { + "properties": { + "templateParameters": { + "type": "array", + "items": { + "$ref": "#/definitions/ParameterContract" + }, + "description": "Collection of URL template parameters." + }, + "description": { + "type": "string", + "description": "Description of the operation. May include HTML formatting tags.", + "maxLength": 1000 + }, + "request": { + "$ref": "#/definitions/RequestContract", + "description": "An entity containing request details." + }, + "responses": { + "type": "array", + "items": { + "$ref": "#/definitions/ResultContract" + }, + "description": "Array of Operation responses." + } + }, + "description": "Api Operation Entity Base Contract details." + }, + "OperationUpdateContract": { + "properties": { + "id": { + "type": "string", + "description": "Uniquely identifies the operation within the current API Management service instance. The value is a valid relative URL in the format of /apis/{aid}/operations/{id} where {aid} is an API identifier and {id} is an operation identifier.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Operation Name.", + "minLength": 1, + "maxLength": 300 + }, + "method": { + "type": "string", + "description": "A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them.", + "externalDocs": { + "description": "As defined by RFC.", + "url": "http://www.rfc-editor.org/rfc/rfc7230.txt" + } + }, + "urlTemplate": { + "type": "string", + "description": "Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date}", + "minLength": 1, + "maxLength": 1000 + } + }, + "allOf": [ + { + "$ref": "#/definitions/OperationEntityBaseContract" + } + ], + "description": "Api Operation Update Contract details." + }, + "ParameterContract": { + "properties": { + "name": { + "type": "string", + "description": "Parameter name." + }, + "description": { + "type": "string", + "description": "Parameter description." + }, + "type": { + "type": "string", + "description": "Parameter type." + }, + "defaultValue": { + "type": "string", + "description": "Default parameter value." + }, + "required": { + "type": "boolean", + "description": "whether parameter is required or not." + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Parameter values." + } + }, + "required": [ + "name", + "type" + ], + "description": "Operation parameters details." + }, + "RepresentationContract": { + "properties": { + "contentType": { + "type": "string", + "description": "Specifies a registered or custom content type for this representation, e.g. application/xml." + }, + "sample": { + "type": "string", + "description": "An example of the representation." + } + }, + "required": [ + "contentType" + ], + "description": "Operation request/response representation details." + }, + "RequestContract": { + "properties": { + "description": { + "type": "string", + "description": "Operation request description." + }, + "queryParameters": { + "type": "array", + "items": { + "$ref": "#/definitions/ParameterContract" + }, + "description": "Collection of operation request query parameters." + }, + "headers": { + "type": "array", + "items": { + "$ref": "#/definitions/ParameterContract" + }, + "description": "Collection of operation request headers." + }, + "representations": { + "type": "array", + "items": { + "$ref": "#/definitions/RepresentationContract" + }, + "description": "Collection of operation request representations." + } + }, + "description": "Operation request details." + }, + "ResultContract": { + "properties": { + "statusCode": { + "type": "integer", + "format": "int32", + "description": "Operation response HTTP status code.", + "minimum": 100, + "maximum": 599 + }, + "description": { + "type": "string", + "description": "Operation response description." + }, + "representations": { + "type": "array", + "items": { + "$ref": "#/definitions/RepresentationContract" + }, + "description": "Collection of operation response representations." + } + }, + "required": [ + "statusCode" + ], + "description": "Operation response details." + }, + "SubscriptionKeyParameterNamesContract": { + "properties": { + "header": { + "type": "string", + "description": "Subscription key header name." + }, + "query": { + "type": "string", + "description": "Subscription key query string parameter name." + } + }, + "description": "Subscription key parameter names details.", + "example": { + "subscriptionKeyParameterNames": { + "query": "customQueryParameterName", + "header": "customHeaderParameterName" + } + } + } + }, + "parameters": { + "ApiIdParameter": { + "name": "apiId", + "in": "path", + "required": true, + "type": "string", + "description": "API identifier. Must be unique in the current API Management service instance.", + "minLength": 1, + "maxLength": 256, + "pattern": "^[^*#&+:<>?]+$", + "x-ms-parameter-location": "method" + }, + "OperationIdParameter": { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "Operation identifier within an API. Must be unique in the current API Management service instance.", + "minLength": 1, + "maxLength": 256, + "pattern": "^[^*#&+:<>?]+$", + "x-ms-parameter-location": "method" + } + } +} \ No newline at end of file diff --git a/arm-apimanagement/2016-10-10/swagger/apimauthorizationservers.json b/arm-apimanagement/2016-10-10/swagger/apimauthorizationservers.json new file mode 100644 index 000000000000..925e09943a9d --- /dev/null +++ b/arm-apimanagement/2016-10-10/swagger/apimauthorizationservers.json @@ -0,0 +1,625 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for managing OAuth2 servers configuration in your Azure API Management deployment.", + "version": "2016-10-10" + }, + "externalDocs": { + "description": "How to authorize developer accounts using OAuth 2.0 in Azure API Management.", + "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-oauth2" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers": { + "get": { + "tags": [ + "AuthorizationServers" + ], + "operationId": "AuthorizationServers_ListByService", + "description": "Lists a collection of authorization servers defined within a service instance.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/dn879064.aspx" + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Supported operators | Supported functions |\n|-------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "A Collection of the Authorization Server entities for the specified API Management service instance.", + "schema": { + "$ref": "#/definitions/AuthorizationServerCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/OAuth2AuthorizationServerContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers/{authsid}": { + "get": { + "tags": [ + "AuthorizationServers" + ], + "operationId": "AuthorizationServers_Get", + "description": "Gets the details of the authorization server specified by its identifier.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AuthenticationServerIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Gets the details of the specified authorization server.", + "schema": { + "$ref": "#/definitions/OAuth2AuthorizationServerContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "put": { + "tags": [ + "AuthorizationServers" + ], + "operationId": "AuthorizationServers_CreateOrUpdate", + "description": "Creates new authorization server or updates an existing authorization server.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AuthenticationServerIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/OAuth2AuthorizationServerContract" + }, + "description": "Create or update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Authorization server was successfully registered." + }, + "204": { + "description": "Authorization server is already registered." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "patch": { + "tags": [ + "AuthorizationServers" + ], + "operationId": "AuthorizationServers_Update", + "description": "Updates the details of the authorization server specified by its identifier.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AuthenticationServerIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/OAuth2AuthorizationServerUpdateContract" + }, + "description": "OAuth2 Server settings Update parameters." + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "description": "The entity state (Etag) version of the authorization server to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.", + "type": "string" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "The authorization server settings were successfully updated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "delete": { + "tags": [ + "AuthorizationServers" + ], + "operationId": "AuthorizationServers_Delete", + "description": "Deletes specific authorization server instance.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AuthenticationServerIdParameter" + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "description": "The entity state (Etag) version of the authentication server to delete. A value of \"*\" can be used for If-Match to unconditionally apply the operation.", + "type": "string" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "The authorization server settings were successfully deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + } + } + }, + "definitions": { + "AuthorizationServerCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/OAuth2AuthorizationServerContract" + }, + "description": "Page values." + }, + "count": { + "type": "integer", + "format": "int64", + "description": "Total record count number across all pages." + }, + "nextLink": { + "type": "string", + "description": "Next page link if any." + } + }, + "description": "Paged OAuth2 Authorization Servers list representation." + }, + "OAuth2AuthorizationServerContract": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Uniquely identifies the authorization server within the current API Management service instance. The value is a valid relative URL in the format of /authorizationServers/{authsid} where {authsid} is an authorization server identifier." + }, + "name": { + "type": "string", + "description": "User-friendly authorization server name.", + "minLength": 1, + "maxLength": 50 + }, + "description": { + "type": "string", + "description": "Description of the authorization server. Can contain HTML formatting tags." + }, + "clientRegistrationEndpoint": { + "type": "string", + "description": "Optional reference to a page where client or app registration for this authorization server is performed. Contains absolute URL to entity being referenced." + }, + "authorizationEndpoint": { + "type": "string", + "description": "OAuth authorization endpoint. See http://tools.ietf.org/html/rfc6749#section-3.2." + }, + "authorizationMethods": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "HEAD", + "OPTIONS", + "TRACE", + "GET", + "POST", + "PUT", + "PATCH", + "DELETE" + ], + "x-ms-enum": { + "name": "MethodContract", + "modelAsString": false + } + }, + "description": "HTTP verbs supported by the authorization endpoint. GET must be always present. POST is optional." + }, + "clientAuthenticationMethod": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Basic", + "Body" + ], + "x-ms-enum": { + "name": "ClientAuthenticationMethodContract", + "modelAsString": false + } + }, + "description": "Method of authentication supported by the token endpoint of this authorization server. Possible values are Basic and/or Body. When Body is specified, client credentials and other parameters are passed within the request body in the application/x-www-form-urlencoded format." + }, + "tokenBodyParameters": { + "type": "array", + "items": { + "$ref": "#/definitions/TokenBodyParameterContract" + }, + "description": "Additional parameters required by the token endpoint of this authorization server represented as an array of JSON objects with name and value string properties, i.e. {\"name\" : \"name value\", \"value\": \"a value\"}." + }, + "tokenEndpoint": { + "type": "string", + "description": "OAuth token endpoint. Contains absolute URI to entity being referenced.", + "externalDocs": { + "url": "http://tools.ietf.org/html/rfc6749#section-3.1" + } + }, + "supportState": { + "type": "boolean", + "description": "If true, authorization server will include state parameter from the authorization request to its response. Client may use state parameter to raise protocol security.", + "externalDocs": { + "url": "http://tools.ietf.org/html/rfc6749#section-3.1" + } + }, + "defaultScope": { + "type": "string", + "description": "Access token scope that is going to be requested by default. Can be overridden at the API level. Should be provided in the form of a string containing space-delimited values.", + "externalDocs": { + "url": "http://tools.ietf.org/html/rfc6749#section-3.3" + } + }, + "grantTypes": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "authorizationCode", + "implicit", + "resourceOwnerPassword", + "clientCredentials" + ], + "x-ms-enum": { + "name": "GrantTypesContract", + "modelAsString": false + } + }, + "description": "Form of an authorization grant, which the client uses to request the access token.", + "externalDocs": { + "url": "http://tools.ietf.org/html/rfc6749#section-4" + } + }, + "bearerTokenSendingMethods": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "authorizationHeader", + "query" + ], + "x-ms-enum": { + "name": "BearerTokenSendingMethodsContract", + "modelAsString": false + } + }, + "description": "Specifies the mechanism by which access token is passed to the API. ", + "externalDocs": { + "url": "http://tools.ietf.org/html/rfc6749#section-4" + } + }, + "clientId": { + "type": "string", + "description": "Client or app id registered with this authorization server." + }, + "clientSecret": { + "type": "string", + "description": "Client or app secret registered with this authorization server." + }, + "resourceOwnerUsername": { + "type": "string", + "description": "Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner username." + }, + "resourceOwnerPassword": { + "type": "string", + "description": "Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner password." + } + }, + "required": [ + "name", + "clientRegistrationEndpoint", + "authorizationEndpoint", + "clientId", + "grantTypes" + ], + "description": "External OAuth authorization server settings." + }, + "OAuth2AuthorizationServerUpdateContract": { + "properties": { + "name": { + "type": "string", + "description": "User-friendly authorization server name.", + "minLength": 1, + "maxLength": 50 + }, + "description": { + "type": "string", + "description": "Description of the authorization server. Can contain HTML formatting tags." + }, + "clientRegistrationEndpoint": { + "type": "string", + "description": "Optional reference to a page where client or app registration for this authorization server is performed. Contains absolute URL to entity being referenced." + }, + "authorizationEndpoint": { + "type": "string", + "description": "OAuth authorization endpoint. See http://tools.ietf.org/html/rfc6749#section-3.2." + }, + "authorizationMethods": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "HEAD", + "OPTIONS", + "TRACE", + "GET", + "POST", + "PUT", + "PATCH", + "DELETE" + ], + "x-ms-enum": { + "name": "MethodContract", + "modelAsString": false + } + }, + "description": "HTTP verbs supported by the authorization endpoint. GET must be always present. POST is optional." + }, + "clientAuthenticationMethod": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Basic", + "Body" + ], + "x-ms-enum": { + "name": "ClientAuthenticationMethodContract", + "modelAsString": false + } + }, + "description": "Method of authentication supported by the token endpoint of this authorization server. Possible values are Basic and/or Body. When Body is specified, client credentials and other parameters are passed within the request body in the application/x-www-form-urlencoded format." + }, + "tokenBodyParameters": { + "type": "array", + "items": { + "$ref": "#/definitions/TokenBodyParameterContract" + }, + "description": "Additional parameters required by the token endpoint of this authorization server represented as an array of JSON objects with name and value string properties, i.e. {\"name\" : \"name value\", \"value\": \"a value\"}." + }, + "tokenEndpoint": { + "type": "string", + "description": "OAuth token endpoint. Contains absolute URI to entity being referenced.", + "externalDocs": { + "url": "http://tools.ietf.org/html/rfc6749#section-3.1" + } + }, + "supportState": { + "type": "boolean", + "description": "If true, authorization server will include state parameter from the authorization request to its response. Client may use state parameter to raise protocol security.", + "externalDocs": { + "url": "http://tools.ietf.org/html/rfc6749#section-3.1" + } + }, + "defaultScope": { + "type": "string", + "description": "Access token scope that is going to be requested by default. Can be overridden at the API level. Should be provided in the form of a string containing space-delimited values.", + "externalDocs": { + "url": "http://tools.ietf.org/html/rfc6749#section-3.3" + } + }, + "grantTypes": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "authorizationCode", + "implicit", + "resourceOwnerPassword", + "clientCredentials" + ], + "x-ms-enum": { + "name": "GrantTypesContract", + "modelAsString": false + } + }, + "description": "Form of an authorization grant, which the client uses to request the access token.", + "externalDocs": { + "url": "http://tools.ietf.org/html/rfc6749#section-4" + } + }, + "bearerTokenSendingMethods": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "authorizationHeader", + "query" + ], + "x-ms-enum": { + "name": "BearerTokenSendingMethodsContract", + "modelAsString": false + } + }, + "description": "Specifies the mechanism by which access token is passed to the API. ", + "externalDocs": { + "url": "http://tools.ietf.org/html/rfc6749#section-4" + } + }, + "clientId": { + "type": "string", + "description": "Client or app id registered with this authorization server." + }, + "clientSecret": { + "type": "string", + "description": "Client or app secret registered with this authorization server." + }, + "resourceOwnerUsername": { + "type": "string", + "description": "Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner username." + }, + "resourceOwnerPassword": { + "type": "string", + "description": "Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner password." + } + }, + "description": "External OAuth authorization server Update settings contract." + }, + "TokenBodyParameterContract": { + "properties": { + "name": { + "type": "string", + "description": "body parameter name." + }, + "value": { + "type": "string", + "description": "body parameter value." + } + }, + "required": [ + "name", + "value" + ], + "description": "OAuth acquire token request body parameter (www-url-form-encoded)." + } + }, + "parameters": { + "AuthenticationServerIdParameter": { + "name": "authsid", + "in": "path", + "required": true, + "type": "string", + "description": "Identifier of the authorization server.", + "maxLength": 256, + "pattern": "^[^*#&+:<>?]+$", + "x-ms-parameter-location": "method" + } + } +} \ No newline at end of file diff --git a/arm-apimanagement/2016-10-10/swagger/apimbackends.json b/arm-apimanagement/2016-10-10/swagger/apimbackends.json new file mode 100644 index 000000000000..cb724543244f --- /dev/null +++ b/arm-apimanagement/2016-10-10/swagger/apimbackends.json @@ -0,0 +1,536 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing operations on Backend entity in Azure API Management deployment. The Backend entity in API Management represents a backend service that is configured to skip certification chain validation when using a self-signed certificate to test mutual certificate authentication.", + "version": "2016-10-10" + }, + "externalDocs": { + "description": "How to secure an API configured in API Management", + "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-mutual-certificates" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends": { + "get": { + "tags": [ + "Backends" + ], + "operationId": "Backends_ListByService", + "description": "Lists a collection of backends in the specified service instance.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/dn935030.aspx" + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Supported operators | Supported functions |\n|-------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| host | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of Backend entities.", + "schema": { + "$ref": "#/definitions/BackendCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/BackendResponse" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendid}": { + "get": { + "tags": [ + "Backends" + ], + "operationId": "Backends_Get", + "description": "Gets the details of the backend specified by its identifier.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/BackendIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified Backend entity.", + "schema": { + "$ref": "#/definitions/BackendResponse" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "put": { + "tags": [ + "Backends" + ], + "operationId": "Backends_CreateOrUpdate", + "description": "Creates or Updates a backend.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/BackendIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BackendContract" + }, + "description": "Create parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Backend was successfully created." + }, + "204": { + "description": "The existing backend was successfully updated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "patch": { + "tags": [ + "Backends" + ], + "operationId": "Backends_Update", + "description": "Updates an existing backend.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/BackendIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BackendUpdateParameters" + }, + "description": "Update parameters." + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "description": "The entity state (Etag) version of the backend to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.", + "type": "string" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "The existing backend was successfully updated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "delete": { + "tags": [ + "Backends" + ], + "operationId": "Backends_Delete", + "description": "Deletes the specified backend.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/BackendIdParameter" + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "description": "The entity state (Etag) version of the backend to delete. A value of \"*\" can be used for If-Match to unconditionally apply the operation.", + "type": "string" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "The backend was successfully deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + } + } + }, + "definitions": { + "BackendAuthorizationHeaderCredentials": { + "properties": { + "scheme": { + "type": "string", + "description": "Authentication Scheme name.", + "minLength": 1, + "maxLength": 100 + }, + "parameter": { + "type": "string", + "description": "Authentication Parameter value.", + "minLength": 1, + "maxLength": 300 + } + }, + "required": [ + "scheme", + "parameter" + ], + "description": "Authorization header information." + }, + "BackendBaseParameters": { + "properties": { + "title": { + "type": "string", + "description": "Backend Title.", + "minLength": 1, + "maxLength": 300 + }, + "description": { + "type": "string", + "description": "Backend Description.", + "minLength": 1, + "maxLength": 2000 + }, + "resourceId": { + "type": "string", + "description": "Management Uri of the Resource in External System. This url can be the Arm Resource Id of Logic Apps, Function Apps or Api Apps.", + "minLength": 1, + "maxLength": 2000 + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/BackendProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/BackendCredentialsContract" + }, + { + "$ref": "#/definitions/BackendProxyContract" + } + ], + "description": "Backend entity base Parameter set." + }, + "BackendCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BackendResponse" + }, + "description": "Backend values." + }, + "count": { + "type": "integer", + "format": "int64", + "description": "Total record count number across all pages." + }, + "nextLink": { + "type": "string", + "description": "Next page link if any." + } + }, + "description": "Paged Backend list representation." + }, + "BackendContract": { + "properties": { + "id": { + "type": "string", + "description": "Uniquely identifies the backend within the current API Management service instance. The value is a valid relative URL in the format of /backends/{backendId} where {backendId} is a backend identifier.", + "readOnly": true + }, + "url": { + "type": "string", + "description": "Runtime Url of the Backend.", + "minLength": 1, + "maxLength": 2000 + }, + "protocol": { + "type": "string", + "enum": [ + "http", + "soap" + ], + "x-ms-enum": { + "name": "BackendProtocol", + "modelAsString": true + }, + "description": "Backend communication protocol." + } + }, + "allOf": [ + { + "$ref": "#/definitions/BackendBaseParameters" + } + ], + "required": [ + "url", + "protocol" + ], + "description": "Parameters supplied to the Create Backend operation." + }, + "BackendCredentialsContract": { + "properties": { + "certificate": { + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 32, + "description": "List of Client Certificate Thumbprint." + }, + "query": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "Query Parameter description." + }, + "header": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "Header Parameter description." + } + }, + "allOf": [ + { + "$ref": "#/definitions/BackendAuthorizationHeaderCredentials" + } + ], + "description": "Details of the Credentials used to connect to Backend." + }, + "BackendProperties": { + "properties": { + "skipCertificateChainValidation": { + "type": "boolean", + "description": "Flag indicating whether SSL certificate chain validation should be skipped when using self-signed certificates for this backend host.", + "default": false + }, + "skipCertificateNameValidation": { + "type": "boolean", + "description": "Flag indicating whether SSL certificate name validation should be skipped when using self-signed certificates for this backend host.", + "default": false + } + }, + "description": "Properties specific to a Backend." + }, + "BackendProxyContract": { + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/system.net.webproxy(v=vs.110).aspx", + "description": "Backend entity uses these details to connect to a WebProxy." + }, + "properties": { + "url": { + "type": "string", + "description": "WebProxy Server AbsoluteUri property which includes the entire URI stored in the Uri instance, including all fragments and query strings.", + "minLength": 1, + "maxLength": 2000 + }, + "username": { + "type": "string", + "description": "Username to connect to the WebProxy server" + }, + "password": { + "type": "string", + "description": "Password to connect to the WebProxy Server" + } + }, + "required": [ + "url" + ], + "description": "Details of the Backend WebProxy Server to use in the Request to Backend." + }, + "BackendResponse": { + "properties": { + "id": { + "type": "string", + "description": "Uniquely identifies the backend within the current API Management service instance. The value is a valid relative URL in the format of /backends/{backendId} where {backendId} is a backend identifier.", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/BackendContract" + } + ], + "description": "The Backend entity in API Management represents a backend service that is configured to skip certification chain validation when using a self-signed certificate to test mutual certificate authentication." + }, + "BackendUpdateParameters": { + "properties": { + "url": { + "type": "string", + "description": "Runtime Url of the Backend.", + "minLength": 1, + "maxLength": 2000 + }, + "protocol": { + "type": "string", + "enum": [ + "http", + "soap" + ], + "x-ms-enum": { + "name": "BackendProtocol", + "modelAsString": true + }, + "description": "Backend communication protocol." + } + }, + "allOf": [ + { + "$ref": "#/definitions/BackendBaseParameters" + } + ], + "description": "Parameters supplied to the Update Backend operation." + } + }, + "parameters": { + "BackendIdParameter": { + "name": "backendid", + "in": "path", + "required": true, + "type": "string", + "description": "User identifier. Must be unique in the current API Management service instance.", + "minLength": 1, + "maxLength": 255, + "pattern": "^[^*#&+:<>?]+$", + "x-ms-parameter-location": "method" + } + } +} \ No newline at end of file diff --git a/arm-apimanagement/2016-10-10/swagger/apimcertificates.json b/arm-apimanagement/2016-10-10/swagger/apimcertificates.json new file mode 100644 index 000000000000..9af13bbaa08a --- /dev/null +++ b/arm-apimanagement/2016-10-10/swagger/apimcertificates.json @@ -0,0 +1,326 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing operations on Certificate entity in your Azure API Management deployment.", + "version": "2016-10-10" + }, + "externalDocs": { + "description": "Certificates can be used to setup mutual authentication with your Backend in API Management.", + "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-mutual-certificates" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/certificates": { + "get": { + "tags": [ + "Certificates" + ], + "operationId": "Certificates_ListByService", + "description": "Lists a collection of all certificates in the specified service instance.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/dn783483.aspx" + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Supported operators | Supported functions |\n|----------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| subject | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| thumbprint | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| expirationDate | ge, le, eq, ne, gt, lt | N/A |" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Returns a collection of Certificate entity.", + "schema": { + "$ref": "#/definitions/CertificateCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/CertificateContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/certificates/{certificateId}": { + "get": { + "tags": [ + "Certificates" + ], + "operationId": "Certificates_Get", + "description": "Gets the details of the certificate specified by its identifier.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/CertificateIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified Certificate entity.", + "schema": { + "$ref": "#/definitions/CertificateContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "put": { + "tags": [ + "Certificates" + ], + "operationId": "Certificates_CreateOrUpdate", + "description": "Creates or updates the certificate being used for authentication with the backend.", + "externalDocs": { + "description": "How to secure back-end services using client certificate authentication in Azure API Management", + "url": "https://azure.microsoft.com/en-us/documentation/articles/api-management-howto-mutual-certificates/" + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/CertificateIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CertificateCreateOrUpdateParameters" + }, + "description": "Create parameters." + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "description": "The entity state (Etag) version of the certificate to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation..", + "type": "string" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "The new certificate was successfully added." + }, + "204":{ + "description": "The certificate details were successfully updated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "delete": { + "tags": [ + "Certificates" + ], + "operationId": "Certificates_Delete", + "description": "Deletes specific certificate.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/CertificateIdParameter" + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "description": "The entity state (Etag) version of the certificate to delete. A value of \"*\" can be used for If-Match to unconditionally apply the operation.", + "type": "string" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "The certificate was successfully deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + } + } + }, + "definitions": { + "CertificateCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/CertificateContract" + }, + "description": "Page values." + }, + "count": { + "type": "integer", + "format": "int64", + "description": "Total record count number across all pages." + }, + "nextLink": { + "type": "string", + "description": "Next page link if any." + } + }, + "description": "Paged Certificates list representation." + }, + "CertificateContract": { + "properties": { + "id": { + "type": "string", + "description": "Certificate identifier path: /certificates/{certificateId}", + "readOnly": true + }, + "subject": { + "type": "string", + "description": "Subject attribute of the certificate." + }, + "thumbprint": { + "type": "string", + "description": "Thumbprint of the certificate." + }, + "expirationDate": { + "type": "string", + "format": "date-time", + "description": "Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n" + } + }, + "required": [ + "subject", + "thumbprint", + "expirationDate" + ], + "description": "Certificate details." + }, + "CertificateCreateOrUpdateParameters": { + "properties": { + "data": { + "type": "string", + "description": "Base 64 encoded certificate using the application/x-pkcs12 representation." + }, + "password": { + "type": "string", + "description": "Password for the Certificate" + } + }, + "required": [ + "data", + "password" + ], + "description": "Parameters supplied to the CreateOrUpdate certificate operation." + } + }, + "parameters": { + "CertificateIdParameter": { + "name": "certificateId", + "in": "path", + "required": true, + "type": "string", + "description": "Identifier of the certificate entity. Must be unique in the current API Management service instance.", + "minLength": 1, + "maxLength": 256, + "pattern": "^[^*#&+:<>?]+$", + "x-ms-parameter-location": "method" + } + } +} \ No newline at end of file diff --git a/arm-apimanagement/2016-10-10/swagger/apimdeployment.json b/arm-apimanagement/2016-10-10/swagger/apimdeployment.json new file mode 100644 index 000000000000..fb752fb38f4f --- /dev/null +++ b/arm-apimanagement/2016-10-10/swagger/apimdeployment.json @@ -0,0 +1,1339 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs to manage Azure API Management deployment.", + "version": "2016-10-10" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.ApiManagement/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available REST API operations of the Microsoft.ApiManagement provider.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of operations.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/managedeployments": { + "post": { + "tags": [ + "ApiManagementService" + ], + "operationId": "ApiManagementServices_ManageDeployments", + "description": "Manages deployments of an API Management service. This operation can be used to do the following: Change SKU, Change SKU Units, Change Service Tier (Developer/Standard/Premium) and Manage VPN Configuration. This is a long running operation and can take several minutes to complete.", + "x-ms-examples": { + "ApiManagementServiceManageDeployment": { "$ref": "../examples/ApiManagementServiceManageDeployment.json" } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ApiManagementServiceManageDeploymentsParameters" + }, + "description": "Parameters supplied to the ManageDeployments operation." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully applied the new deployment Configuration on the API Management service.", + "schema": { + "$ref": "#/definitions/ApiManagementServiceResource" + } + }, + "202": { + "description": "Accepted. The location header contains the URL where the status of the long running operation can be checked.The response also includes the unmodified ApiManagementServiceResource.", + "schema": { + "$ref": "#/definitions/ApiManagementServiceResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/restore": { + "post": { + "tags": [ + "ApiManagementService" + ], + "operationId": "ApiManagementServices_Restore", + "description": "Restores a backup of an API Management service created using the ApiManagementServices_Backup operation on the current service. This is a long running operation and could take several minutes to complete.", + "x-ms-examples": { + "ApiManagementRestoreService": { "$ref": "../examples/ApiManagementRestoreService.json" } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ApiManagementServiceBackupRestoreParameters" + }, + "description": "Parameters supplied to the Restore API Management service from backup operation." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully restored the backup onto the API Management service.", + "schema": { + "$ref": "#/definitions/ApiManagementServiceResource" + } + }, + "202": { + "description": "Accepted: Location header contains the URL where the status of the long running operation can be checked." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backup": { + "post": { + "tags": [ + "ApiManagementService" + ], + "operationId": "ApiManagementServices_Backup", + "description": "Creates a backup of the API Management service to the given Azure Storage Account. This is long running operation and could take several minutes to complete.", + "x-ms-examples": { + "ApiManagementCreateBackup": { "$ref": "../examples/ApiManagementCreateBackup.json" } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ApiManagementServiceBackupRestoreParameters" + }, + "description": "Parameters supplied to the ApiManagementServices_Backup operation." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully backed up the API Management service to the storage account.", + "schema": { + "$ref": "#/definitions/ApiManagementServiceResource" + } + }, + "202": { + "description": "Accepted: Location header contains the URL where the status of the long running operation can be checked." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}": { + "put": { + "tags": [ + "ApiManagementService" + ], + "operationId": "ApiManagementServices_CreateOrUpdate", + "description": "Creates or updates an API Management service. This is long running operation and could take several minutes to complete.", + "x-ms-examples": { + "ApiManagementCreateService": { "$ref": "../examples/ApiManagementCreateService.json" } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ApiManagementServiceResource" + }, + "description": "Parameters supplied to the CreateOrUpdate API Management service operation." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The service was successfully set up.", + "schema": { + "$ref": "#/definitions/ApiManagementServiceResource" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ApiManagementServiceResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "ApiManagementService" + ], + "operationId": "ApiManagementServices_Update", + "description": "Updates an existing API Management service.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ApiManagementServiceUpdateParameters" + }, + "description": "Parameters supplied to the CreateOrUpdate API Management service operation." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the current API Management service.", + "schema": { + "$ref": "#/definitions/ApiManagementServiceResource" + } + }, + "202": { + "description": "Accepted: Location header contains the URL where the status of the long running operation can be checked." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "ApiManagementService" + ], + "operationId": "ApiManagementServices_Get", + "description": "Gets an API Management service resource description.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully got the API Management Service Resource.", + "schema": { + "$ref": "#/definitions/ApiManagementServiceResource" + } + }, + "404": { + "description": "ApiManagement Service not found.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "ApiManagementService" + ], + "operationId": "ApiManagementServices_Delete", + "description": "Deletes an existing API Management service.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Service was successfully deleted." + }, + "204": { + "description": "Service is already deleted." + }, + "404": { + "description": "ApiManagement Service not found.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/": { + "get": { + "tags": [ + "ApiManagementService" + ], + "operationId": "ApiManagementServices_ListByResourceGroup", + "description": "List all API Management services within a resource group.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The API Management service list.", + "schema": { + "$ref": "#/definitions/ApiManagementServiceListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/service/": { + "get": { + "tags": [ + "ApiManagementService" + ], + "operationId": "ApiManagementServices_List", + "description": "Lists all API Management services within an Azure subscription.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The API Management service list.", + "schema": { + "$ref": "#/definitions/ApiManagementServiceListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/getssotoken": { + "post": { + "tags": [ + "ApiManagementService" + ], + "operationId": "ApiManagementServices_GetSsoToken", + "description": "Gets the Single-Sign-On token for the API Management Service which is valid for 5 Minutes.", + "x-ms-examples": { + "ApiManagementServiceGetSsoToken": { "$ref": "../examples/ApiManagementServiceGetSsoToken.json" } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK if successful with the SSO Redirect URI.", + "schema": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApiManagementServiceGetSsoTokenResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/checkNameAvailability": { + "post": { + "tags": [ + "ApiManagementService" + ], + "operationId": "ApiManagementServices_CheckNameAvailability", + "description": "Checks availability and correctness of a name for an API Management service.", + "x-ms-examples": { + "ApiManagementServiceCheckNameAvailability": { "$ref": "../examples/ApiManagementServiceCheckNameAvailability.json" } + }, + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ApiManagementServiceCheckNameAvailabilityParameters" + }, + "description": "Parameters supplied to the CheckNameAvailability operation." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The result of check name availability.", + "schema": { + "$ref": "#/definitions/ApiManagementServiceNameAvailabilityResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/uploadcertificate": { + "post": { + "tags": [ + "ApiManagementService" + ], + "operationId": "ApiManagementServices_UploadCertificate", + "description": "Upload Custom Domain SSL certificate for an API Management service.", + "x-ms-examples": { + "ApiManagementServiceUploadProxyCertificate": { "$ref": "../examples/ApiManagementServiceUploadProxyCertificate.json" } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ApiManagementServiceUploadCertificateParameters" + }, + "description": "Parameters supplied to the Upload SSL certificate for an API Management service operation." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully uploaded certificate to the API Management Service.", + "schema": { + "$ref": "#/definitions/CertificateInformation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/updatehostname": { + "post": { + "tags": [ + "ApiManagementService" + ], + "operationId": "ApiManagementServices_UpdateHostname", + "description": "Creates, updates, or deletes the custom hostnames for an API Management service. The custom hostname can be applied to the Proxy and Portal endpoint. This is a long running operation and could take several minutes to complete.", + "x-ms-examples": { + "ApiManagementServiceUpdateHostName": { "$ref": "../examples/ApiManagementServiceUpdateHostName.json" } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ApiManagementServiceUpdateHostnameParameters" + }, + "description": "Parameters supplied to the UpdateHostname operation." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Service was successfully updated with desired hostnames.", + "schema": { + "$ref": "#/definitions/ApiManagementServiceResource" + } + }, + "202": { + "description": "Accepted. The location header contains the URL where the status of the long running operation can be checked. The response also includes the unmodified ApiManagementServiceResource.", + "schema": { + "$ref": "#/definitions/ApiManagementServiceResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/applynetworkconfigurationupdates": { + "post": { + "tags": [ + "ApiManagementService" + ], + "operationId": "ApiManagementServices_ApplyNetworkConfigurationUpdates", + "description": "Updates the Microsoft.ApiManagement resource running in the Virtual network to pick the updated network settings.", + "x-ms-examples": { + "ApiManagementApplyNetworkConfigurationUpdates": { "$ref": "../examples/ApiManagementApplyNetworkConfigurationUpdates.json" } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Service was successfully updated with new virtual network configurations.", + "schema": { + "$ref": "#/definitions/ApiManagementServiceResource" + } + }, + "202": { + "description": "Accepted: Location header contains the URL where the status of the long running operation can be checked." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + } + }, + "definitions": { + "CertificateInformation": { + "properties": { + "expiry": { + "type": "string", + "format": "date-time", + "description": "Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard." + }, + "thumbprint": { + "type": "string", + "description": "Thumbprint of the certificate." + }, + "subject": { + "type": "string", + "description": "Subject of the certificate." + } + }, + "required": [ + "expiry", + "thumbprint", + "subject" + ], + "description": "SSL certificate information." + }, + "HostnameConfiguration": { + "properties": { + "type": { + "type": "string", + "description": "Hostname type.", + "enum": [ + "Proxy", + "Portal", + "Management", + "Scm" + ], + "x-ms-enum": { + "name": "HostnameType", + "modelAsString": false + } + }, + "hostname": { + "type": "string", + "description": "Hostname." + }, + "certificate": { + "$ref": "#/definitions/CertificateInformation", + "description": "Certificate information." + } + }, + "required": [ + "type", + "hostname", + "certificate" + ], + "description": "Custom hostname configuration." + }, + "VirtualNetworkConfiguration": { + "properties": { + "vnetid": { + "readOnly": true, + "type": "string", + "description": "The virtual network ID. This is typically a GUID. Expect a null GUID by default." + }, + "subnetname": { + "readOnly": true, + "type": "string", + "description": "The name of the subnet." + }, + "subnetResourceId": { + "type": "string", + "pattern": "^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.(ClassicNetwork|Network)/virtualNetworks/[^/]*/subnets/[^/]*$", + "description": "The full resource ID of a subnet in a virtual network to deploy the API Management service in." + }, + "location": { + "type": "string", + "description": "The location of the virtual network." + } + }, + "description": "Configuration of a virtual network to which API Management service is deployed." + }, + "AdditionalRegion": { + "properties": { + "location": { + "type": "string", + "description": "The location name of the additional region among Azure Data center regions." + }, + "skuType": { + "type": "string", + "description": "The SKU type in the location.", + "enum": [ + "Developer", + "Standard", + "Premium" + ], + "x-ms-enum": { + "name": "SkuType", + "modelAsString": false + } + }, + "skuUnitCount": { + "type": "integer", + "format": "int32", + "description": "The SKU Unit count at the location. The maximum SKU Unit count depends on the SkuType. Maximum allowed for Developer SKU is 1, for Standard SKU is 4, and for Premium SKU is 10, at a location.", + "default": 1, + "maximum": 10 + }, + "staticIPs": { + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "description": "Static IP addresses of the location's virtual machines." + }, + "vpnconfiguration": { + "$ref": "#/definitions/VirtualNetworkConfiguration", + "description": "Virtual network configuration for the location." + } + }, + "required": [ + "location", + "skuType" + ], + "description": "Description of an additional API Management resource location." + }, + "ApiManagementServiceManageDeploymentsParameters": { + "properties": { + "location": { + "type": "string", + "description": "Location of the API Management service Azure data center." + }, + "skuType": { + "type": "string", + "description": "SKU type of the API Management service.", + "enum": [ + "Developer", + "Standard", + "Premium" + ], + "x-ms-enum": { + "name": "SkuType", + "modelAsString": false + } + }, + "skuUnitCount": { + "type": "integer", + "format": "int32", + "description": "SKU Unit count of the API Management service. Default value is 1.", + "default": 1 + }, + "additionalLocations": { + "type": "array", + "items": { + "$ref": "#/definitions/AdditionalRegion" + }, + "description": "Additional data center locations for the API Management service." + }, + "vpnConfiguration": { + "$ref": "#/definitions/VirtualNetworkConfiguration", + "description": "Virtual network configuration." + }, + "vpnType": { + "type": "string", + "description": "The type of VPN in which API Managemet service needs to be configured in. None (Default Value) means the API Management service is not part of any Virtual Network, External means the API Management deployment is set up inside a Virtual Network having an Internet Facing Endpoint, and Internal means that the API Management service deployment is set up inside a Virtual Network having an Intranet Facing Endpoint only. When vpnConfiguration is specified, vpnType must be specified.", + "default": "None", + "enum": [ + "None", + "External", + "Internal" + ], + "x-ms-enum": { + "name": "VirtualNetworkType", + "modelAsString": false + } + } + }, + "required": [ + "location", + "skuType" + ], + "description": "Parameters supplied to the ManageDeployments operation." + }, + "ApiManagementServiceBackupRestoreParameters": { + "properties": { + "storageAccount": { + "type": "string", + "description": "Azure Cloud Storage account (used to place/retrieve the backup) name." + }, + "accessKey": { + "type": "string", + "description": "Azure Cloud Storage account (used to place/retrieve the backup) access key." + }, + "containerName": { + "type": "string", + "description": "Azure Cloud Storage blob container name used to place/retrieve the backup." + }, + "backupName": { + "type": "string", + "description": "The name of the backup file to create." + } + }, + "required": [ + "storageAccount", + "accessKey", + "containerName", + "backupName" + ], + "description": "Parameters supplied to the Backup/Restore of an API Management service operation." + }, + "ApiManagementServiceProperties": { + "properties": { + "publisherEmail": { + "type": "string", + "description": "Publisher email.", + "maxLength": 100 + }, + "publisherName": { + "type": "string", + "description": "Publisher name." + }, + "provisioningState": { + "type": "string", + "description": "The current provisioning state of the API Management service which can be one of the following: Created/Activating/Succeeded/Updating/Failed/Stopped/Terminating/TerminationFailed/Deleted.", + "readOnly": true + }, + "targetProvisioningState": { + "type": "string", + "description": "The provisioning state of the API Management service, which is targeted by the long running operation started on the service.", + "readOnly": true + }, + "createdAtUtc": { + "type": "string", + "format": "date-time", + "description": "Creation UTC date of the API Management service.The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.", + "readOnly": true + }, + "runtimeUrl": { + "type": "string", + "description": "Proxy endpoint URL of the API Management service.", + "readOnly": true + }, + "portalUrl": { + "type": "string", + "description": "Publisher portal endpoint Url of the API Management service.", + "readOnly": true + }, + "managementApiUrl": { + "type": "string", + "description": "Management API endpoint URL of the API Management service.", + "readOnly": true + }, + "scmUrl": { + "type": "string", + "description": "SCM endpoint URL of the API Management service.", + "readOnly": true + }, + "addresserEmail": { + "type": "string", + "description": "Addresser email." + }, + "hostnameConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/HostnameConfiguration" + }, + "description": "Custom hostname configuration of the API Management service." + }, + "staticIPs": { + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "description": "Static IP addresses of the API Management service virtual machines. Available only for Standard and Premium SKU." + }, + "vpnconfiguration": { + "$ref": "#/definitions/VirtualNetworkConfiguration", + "description": "Virtual network configuration of the API Management service." + }, + "additionalLocations": { + "type": "array", + "items": { + "$ref": "#/definitions/AdditionalRegion" + }, + "description": "Additional datacenter locations of the API Management service." + }, + "customProperties": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Custom properties of the API Management service, like disabling TLS 1.0." + }, + "vpnType": { + "type": "string", + "description": "The type of VPN in which API Managemet service needs to be configured in. None (Default Value) means the API Management service is not part of any Virtual Network, External means the API Management deployment is set up inside a Virtual Network having an Internet Facing Endpoint, and Internal means that API Management deployment is setup inside a Virtual Network having an Intranet Facing Endpoint only.", + "default": "None", + "enum": [ + "None", + "External", + "Internal" + ], + "x-ms-enum": { + "name": "VirtualNetworkType", + "modelAsString": false + } + } + }, + "required": [ + "publisherEmail", + "publisherName" + ], + "description": "Properties of an API Management service resource description." + }, + "ApiManagementServiceSkuProperties": { + "properties": { + "name": { + "type": "string", + "description": "Name of the Sku.", + "externalDocs": { + "url": "https://azure.microsoft.com/en-us/pricing/details/api-management/" + }, + "enum": [ + "Developer", + "Standard", + "Premium" + ], + "x-ms-enum": { + "name": "SkuType", + "modelAsString": false + } + }, + "capacity": { + "type": "integer", + "format": "int32", + "description": "Capacity of the SKU (number of deployed units of the SKU). The default value is 1.", + "default": 1 + } + }, + "required": [ + "name" + ], + "description": "API Management service resource SKU properties." + }, + "ApiManagementServiceResource":{ + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApiManagementServiceProperties", + "description": "Properties of the API Management service." + }, + "sku": { + "$ref": "#/definitions/ApiManagementServiceSkuProperties", + "description": "SKU properties of the API Management service." + }, + "etag": { + "type": "string", + "description": "ETag of the resource.", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "required": [ + "sku", + "properties" + ], + "description": "A single API Management service resource in List or Get response." + }, + "Resource": { + "description": "The Resource definition.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource ID." + }, + "name": { + "type": "string", + "description": "Resource name.", + "x-ms-mutability":[ + "read", + "create" + ] + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type for API Management resource is set to Microsoft.ApiManagement." + }, + "location": { + "type": "string", + "description": "Resource location.", + "x-ms-mutability":[ + "read", + "create" + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "required": [ + "location" + ], + "x-ms-azure-resource": true + }, + "ApiManagementServiceUpdateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApiManagementServiceProperties", + "description": "Properties of the API Management service." + }, + "sku": { + "$ref": "#/definitions/ApiManagementServiceSkuProperties", + "description": "SKU properties of the API Management service." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "description": "Parameters supplied to the Update API Management service operation." + }, + "ApiManagementServiceListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApiManagementServiceResource" + }, + "description": "Result of the List API Management services operation." + }, + "nextLink": { + "type": "string", + "description": "Link to the next set of results. Not empty if Value contains incomplete list of API Management services." + } + }, + "required": [ + "value" + ], + "description": "The response of the List API Management services operation." + }, + "ApiManagementServiceGetSsoTokenResult": { + "properties": { + "redirect_uri": { + "type": "string", + "description": "Redirect URL containing the SSO token." + } + }, + "description": "The response of the GetSsoToken operation." + }, + "ApiManagementServiceCheckNameAvailabilityParameters": { + "properties": { + "name": { + "type": "string", + "description": "The name to check for availability." + } + }, + "required": [ + "name" + ], + "description": "Parameters supplied to the CheckNameAvailability operation." + }, + "ApiManagementServiceNameAvailabilityResult": { + "properties": { + "nameAvailable": { + "type": "boolean", + "description": "True if the name is available and can be used to create a new API Management service; otherwise false." + }, + "message": { + "type": "string", + "description": "If reason == invalid, provide the user with the reason why the given name is invalid, and provide the resource naming requirements so that the user can select a valid name. If reason == AlreadyExists, explain that is already in use, and direct them to select a different name." + }, + "reason": { + "type": "string", + "description": "Invalid indicates the name provided does not match the resource provider’s naming requirements (incorrect length, unsupported characters, etc.) AlreadyExists indicates that the name is already in use and is therefore unavailable.", + "enum": [ + "Valid", + "Invalid", + "AlreadyExists" + ], + "x-ms-enum": { + "name": "NameAvailabilityReason", + "modelAsString": false + } + } + }, + "required": [ + "nameAvailable" + ], + "description": "Response of the CheckNameAvailability operation." + }, + "ApiManagementServiceUploadCertificateParameters": { + "properties": { + "type": { + "type": "string", + "description": "Hostname type.", + "enum": [ + "Proxy", + "Portal", + "Management", + "Scm" + ], + "x-ms-enum": { + "name": "HostnameType", + "modelAsString": false + } + }, + "certificate": { + "type": "string", + "description": "Base64 Encoded certificate." + }, + "certificate_password": { + "type": "string", + "description": "Certificate password." + } + }, + "required": [ + "type", + "certificate", + "certificate_password" + ], + "description": "Parameters supplied to the Upload SSL certificate for an API Management service operation." + }, + "ApiManagementServiceUpdateHostnameParameters": { + "properties": { + "update": { + "type": "array", + "items": { + "$ref": "#/definitions/HostnameConfiguration" + }, + "description": "Hostnames to create or update." + }, + "delete": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Proxy", + "Portal", + "Management", + "Scm" + ], + "x-ms-enum": { + "name": "HostnameType", + "modelAsString": false + } + }, + "description": "Hostnames types to delete." + } + }, + "description": "Parameters supplied to the UpdateHostname operation." + }, + "ErrorResponse": { + "properties": { + "code": { + "description": "Error code.", + "type": "string" + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string" + } + }, + "description": "Error Response." + }, + "Operation": { + "description": "REST API operation", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "The object that describes the operation.", + "properties": { + "provider": { + "description": "Friendly name of the resource provider", + "type": "string" + }, + "operation": { + "description": "Operation type: read, write, delete, listKeys/action, etc.", + "type": "string" + }, + "resource": { + "description": "Resource type on which the operation is performed.", + "type": "string" + }, + "description": { + "description": "Friendly name of the operation", + "type": "string" + } + } + } + } + }, + "OperationListResult": { + "description": "Result of the request to list REST API operations. It contains a list of operations and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of operations supported by the resource provider." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Version of the API to be used with the client request." + }, + "ServiceNameParameter": { + "name": "serviceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the API Management service.", + "minLength": 1, + "maxLength": 50, + "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$", + "x-ms-parameter-location": "method" + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + } + } +} \ No newline at end of file diff --git a/arm-apimanagement/2016-10-10/swagger/apimgroups.json b/arm-apimanagement/2016-10-10/swagger/apimgroups.json new file mode 100644 index 000000000000..0c6c7fe11b41 --- /dev/null +++ b/arm-apimanagement/2016-10-10/swagger/apimgroups.json @@ -0,0 +1,591 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing operations on Group entity in your Azure API Management deployment. Groups are used to manage the visibility of products to developers. Each API Management service instance comes with the following immutable system groups whose membership is automatically managed by API Management. - **Administrators** - Azure subscription administrators are members of this group. - **Developers** - Authenticated developer portal users fall into this group. - **Guests** - Unauthenticated developer portal users are placed into this group. In addition to these system groups, administrators can create custom groups or [leverage external groups in associated Azure Active Directory tenants](https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-aad#how-to-add-an-external-azure-active-directory-group). Custom and external groups can be used alongside system groups in giving developers visibility and access to API products. For example, you could create one custom group for developers affiliated with a specific partner organization and allow them access to the APIs from a product containing relevant APIs only. A user can be a member of more than one group.", + "version": "2016-10-10" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups": { + "get": { + "tags": [ + "Groups" + ], + "operationId": "Groups_ListByService", + "description": "Lists a collection of groups defined within a service instance.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/dn776329.aspx" + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| description | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| type | eq, ne | N/A |" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of Group entities.", + "schema": { + "$ref": "#/definitions/GroupCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/GroupContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}": { + "get": { + "tags": [ + "Groups" + ], + "operationId": "Groups_Get", + "description": "Gets the details of the group specified by its identifier.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified Group entity.", + "schema": { + "$ref": "#/definitions/GroupContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "put": { + "tags": [ + "Groups" + ], + "operationId": "Groups_CreateOrUpdate", + "description": "Creates or Updates a group.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GroupCreateParameters" + }, + "description": "Create parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Group was created succesfully." + }, + "204": { + "description": "Group already exists." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "patch": { + "tags": [ + "Groups" + ], + "operationId": "Groups_Update", + "description": "Updates the details of the group specified by its identifier.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GroupUpdateParameters" + }, + "description": "Update parameters." + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "description": "ETag of the Group Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.", + "type": "string" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "The group details were successfully updated." + }, + "405": { + "description": "The specified group cannot be updated because it is a built-in group.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "delete": { + "tags": [ + "Groups" + ], + "operationId": "Groups_Delete", + "description": "Deletes specific group of the API Management service instance.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "description": "ETag of the Group Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.", + "type": "string" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "The group was successfully deleted." + }, + "405": { + "description": "The specified group cannot be updated because it is a built-in group.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users": { + "get": { + "tags": [ + "GroupUsers" + ], + "operationId": "Users_ListByGroups", + "description": "Lists a collection of the members of the group, specified by its identifier.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Supported operators | Supported functions |\n|------------------|------------------------|-----------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| firstName | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| lastName | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| email | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| state | eq | N/A |\n| registrationDate | ge, le, eq, ne, gt, lt | N/A |\n| note | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of user entities associated with the group.", + "schema": { + "$ref": "./apimusers.json#/definitions/UserCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "./apimusers.json#/definitions/UserContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users/{uid}": { + "put": { + "tags": [ + "GroupUsers" + ], + "operationId": "GroupUsers_Create", + "description": "Adds a user to the specified group.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "./apimusers.json#/parameters/UserIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "The user was successfully added to the group." + }, + "204": { + "description": "The specified user is already a member of the specified group." + }, + "405": { + "description": "Attempt was made to add a user to a built-in group. Built-in group membership is managed by the system.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "delete": { + "tags": [ + "GroupUsers" + ], + "operationId": "GroupUsers_Delete", + "description": "Remove existing user from existing group.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "./apimusers.json#/parameters/UserIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "The user was successfully removed from the group." + }, + "405": { + "description": "Attempt was made to delete a user from a built-in group. Built-in group membership is managed by the API Management service.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + } + } + }, + "definitions": { + "GroupCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/GroupContract" + }, + "description": "Page values." + }, + "count": { + "type": "integer", + "format": "int64", + "description": "Total record count number across all pages." + }, + "nextLink": { + "type": "string", + "description": "Next page link if any." + } + }, + "description": "Paged Group list representation." + }, + "GroupContract": { + "properties": { + "id": { + "type": "string", + "description": "Uniquely identifies the group within the current API Management service instance. The value is a valid relative URL in the format of /groups/{groupid} where {groupid} is a group identifier.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Group name.", + "maxLength": 300, + "minLength": 1 + }, + "description": { + "type": "string", + "description": "Group description. Can contain HTML formatting tags.", + "maxLength": 1000 + }, + "builtIn": { + "readOnly": true, + "type": "boolean", + "description": "true if the group is one of the three system groups (Administrators, Developers, or Guests); otherwise false." + }, + "type": { + "type": "string", + "description": "Group type.", + "readOnly": true, + "enum": [ + "Custom", + "System", + "External" + ], + "x-ms-enum": { + "name": "GroupTypeContract", + "modelAsString": false + } + }, + "externalId": { + "type": "string", + "description": "For external groups, this property contains the id of the group from the external identity provider, e.g. Azure Active Directory; otherwise the value is null.", + "readOnly": true + } + }, + "required": [ + "name" + ], + "description": "Developer group." + }, + "GroupCreateParameters": { + "properties": { + "name": { + "type": "string", + "description": "Group name.", + "maxLength": 300, + "minLength": 1 + }, + "description": { + "type": "string", + "description": "Group description." + }, + "type": { + "type": "string", + "description": "Group type.", + "enum": [ + "Custom", + "System", + "External" + ], + "x-ms-enum": { + "name": "GroupTypeContract", + "modelAsString": false + } + }, + "externalId": { + "type": "string", + "description": "Identifier for an external group." + } + }, + "required": [ + "name" + ], + "description": "Parameters supplied to the Create Group operation." + }, + "GroupUpdateParameters": { + "properties": { + "name": { + "type": "string", + "description": "Group name.", + "maxLength": 300, + "minLength": 1 + }, + "description": { + "type": "string", + "description": "Group description." + }, + "type": { + "type": "string", + "description": "Group type.", + "enum": [ + "Custom", + "System", + "External" + ], + "x-ms-enum": { + "name": "GroupTypeContract", + "modelAsString": false + } + }, + "externalId": { + "type": "string", + "description": "Identifier for an external group." + } + }, + "description": "Parameters supplied to the Update Group operation." + } + }, + "parameters": { + "GroupIdParameter": { + "name": "groupId", + "in": "path", + "required": true, + "type": "string", + "description": "Group identifier. Must be unique in the current API Management service instance.", + "minLength": 1, + "maxLength": 256, + "pattern": "^[^*#&+:<>?]+$", + "x-ms-parameter-location": "method" + } + } +} \ No newline at end of file diff --git a/arm-apimanagement/2016-10-10/swagger/apimidentityprovider.json b/arm-apimanagement/2016-10-10/swagger/apimidentityprovider.json new file mode 100644 index 000000000000..f57fa0307049 --- /dev/null +++ b/arm-apimanagement/2016-10-10/swagger/apimidentityprovider.json @@ -0,0 +1,366 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing operations on Identity Provider entity associated with your Azure API Management deployment. Setting up an external Identity Provider for authentication can help you manage the developer portal logins using the OAuth2 flow.", + "version": "2016-10-10" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/identityProviders": { + "get": { + "tags": [ + "IdentityProvider" + ], + "operationId": "IdentityProviders_ListByService", + "description": "Lists a collection of Identity Provider configured in the specified service instance.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of Identity Providers.", + "schema": { + "$ref": "#/definitions/IdentityProviderList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/identityProviders/{identityProviderName}": { + "get": { + "tags": [ + "IdentityProvider" + ], + "operationId": "IdentityProviders_Get", + "description": "Gets the configuration details of the identity Provider configured in specified service instance.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/IdentityProviderNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified IdentityProvider entity configuration details.", + "schema": { + "$ref": "#/definitions/IdentityProviderContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "put": { + "tags": [ + "IdentityProvider" + ], + "operationId": "IdentityProviders_CreateOrUpdate", + "description": "Creates or Updates the IdentityProvider configuration.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/IdentityProviderNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/IdentityProviderContract" + }, + "description": "Create parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "IdentityProvider configuration were successfully created." + }, + "204": { + "description": "The existing Identity Provider was successfully updated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "patch": { + "tags": [ + "IdentityProviders" + ], + "operationId": "IdentityProviders_Update", + "description": "Updates an existing IdentityProvider configuration.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/IdentityProviderNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/IdentityProviderUpdateParameters" + }, + "description": "Update parameters." + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "description": "The entity state (Etag) version of the identity provider configuration to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.", + "type": "string" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "The existing identity provider configuration was successfully updated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "delete": { + "tags": [ + "IdentityProvider" + ], + "operationId": "IdentityProviders_Delete", + "description": "Deletes the specified identity provider configuration.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/IdentityProviderNameParameter" + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "description": "The entity state (Etag) version of the backend to delete. A value of \"*\" can be used for If-Match to unconditionally apply the operation.", + "type": "string" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "The identity provider configuration was successfully deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + } + } + }, + "definitions": { + "IdentityProviderContract": { + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-aad#how-to-authorize-developer-accounts-using-azure-active-directory" + }, + "properties": { + "clientId": { + "type": "string", + "description": "Client Id of the Application in the external Identity Provider. It is App ID for Facebook login, Client ID for Google login, App ID for Microsoft.", + "minLength": 1 + }, + "clientSecret": { + "type": "string", + "description": "Client secret of the Application in external Identity Provider, used to authenticate login request. For example, it is App Secret for Facebook login, API Key for Google login, Public Key for Microsoft.", + "minLength": 1 + }, + "type": { + "type": "string", + "enum": [ + "facebook", + "google", + "microsoft", + "twitter", + "aad", + "aadB2C" + ], + "x-ms-enum": { + "name": "IdentityProviderNameType", + "modelAsString": true + }, + "description": "Identity Provider Type identifier." + }, + "allowedTenants": { + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 32, + "description": "List of Allowed Tenants when configuring Azure Active Directory login." + } + }, + "required": [ + "clientId", + "clientSecret" + ], + "description": "The external Identity Providers like Facebook, Google, Microsoft, Twitter or Azure Active Directory which can be used to enable access to the API Management service developer portal for all users." + }, + "IdentityProviderList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/IdentityProviderContract" + }, + "description": "Identity Provider configuration values." + } + }, + "description": "List of all the Identity Providers configured on the service instance." + }, + "IdentityProviderUpdateParameters": { + "properties": { + "clientId": { + "type": "string", + "description": "Client Id of the Application in the external Identity Provider. It is App ID for Facebook login, Client ID for Google login, App ID for Microsoft.", + "minLength": 1 + }, + "clientSecret": { + "type": "string", + "description": "Client secret of the Application in external Identity Provider, used to authenticate login request. For example, it is App Secret for Facebook login, API Key for Google login, Public Key for Microsoft.", + "minLength": 1 + }, + "allowedTenants": { + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 32, + "description": "List of Allowed Tenants when configuring Azure Active Directory login." + } + }, + "description": "Parameters supplied to the Update Identity Provider operation." + } + }, + "parameters": { + "IdentityProviderNameParameter": { + "name": "identityProviderName", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "facebook", + "google", + "microsoft", + "twitter", + "aad", + "aadB2C" + ], + "x-ms-enum": { + "name": "IdentityProviderNameType", + "modelAsString": true + }, + "description": "Identity Provider Type identifier.", + "x-ms-parameter-location": "method" + } + } +} \ No newline at end of file diff --git a/arm-apimanagement/2016-10-10/swagger/apimloggers.json b/arm-apimanagement/2016-10-10/swagger/apimloggers.json new file mode 100644 index 000000000000..68e6aea566e8 --- /dev/null +++ b/arm-apimanagement/2016-10-10/swagger/apimloggers.json @@ -0,0 +1,435 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing operations on logger entity Azure API Management deployment.The Logger entity in API Management represents an event sink that you can use to log API Management events. Currently the Logger entity supports logging API Management events to Azure EventHub.", + "version": "2016-10-10" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/loggers": { + "get": { + "tags": [ + "Loggers" + ], + "operationId": "Loggers_ListByService", + "description": "Lists a collection of loggers in the specified service instance.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt592020.aspx" + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Supported operators | Supported functions |\n|-------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| type | eq | |" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of Logger entities.", + "schema": { + "$ref": "#/definitions/LoggerCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/LoggerResponse" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/loggers/{loggerid}": { + "get": { + "tags": [ + "Loggers" + ], + "operationId": "Loggers_Get", + "description": "Gets the details of the logger specified by its identifier.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/LoggerIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified Logger entity.", + "schema": { + "$ref": "#/definitions/LoggerResponse" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "put": { + "tags": [ + "Loggers" + ], + "operationId": "Loggers_CreateOrUpdate", + "description": "Creates or Updates a logger.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/LoggerIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LoggerCreateParameters" + }, + "description": "Create parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Logger was successfully created." + }, + "204": { + "description": "The existing logger was successfully updated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "patch": { + "tags": [ + "Loggers" + ], + "operationId": "Loggers_Update", + "description": "Updates an existing logger.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/LoggerIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LoggerUpdateParameters" + }, + "description": "Update parameters." + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "description": "The entity state (Etag) version of the logger to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.", + "type": "string" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "The existing logger was successfully updated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "delete": { + "tags": [ + "Loggers" + ], + "operationId": "Loggers_Delete", + "description": "Deletes the specified logger.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/LoggerIdParameter" + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "description": "The entity state (Etag) version of the logger to delete. A value of \"*\" can be used for If-Match to unconditionally apply the operation.", + "type": "string" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "The logger was successfully deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + } + } + }, + "definitions": { + "LoggerCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/LoggerResponse" + }, + "description": "Logger values." + }, + "count": { + "type": "integer", + "format": "int64", + "description": "Total record count number across all pages." + }, + "nextLink": { + "type": "string", + "description": "Next page link if any." + } + }, + "description": "Paged Logger list representation." + }, + "LoggerCreateParameters": { + "properties": { + "type": { + "type": "string", + "description": "Logger type.", + "enum": [ + "AzureEventHub" + ], + "x-ms-enum": { + "name": "LoggerTypeContract", + "modelAsString": false + } + }, + "description": { + "type": "string", + "description": "Logger description." + }, + "credentials": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The name and SendRule connection string of the event hub.", + "example": { + "name": "Event hub name. This is optional.", + "connectionString": "Endpoint=endpoint and key from Azure classic portal. This property in credentials is must." + } + }, + "isBuffered": { + "type": "boolean", + "description": "Whether records are buffered in the logger before publishing. Default is assumed to be true." + } + }, + "required": [ + "type", + "credentials" + ], + "description": "Parameters supplied to the Create Logger operation." + }, + "LoggerResponse": { + "properties": { + "id": { + "type": "string", + "description": "Uniquely identifies the logger within the current API Management service instance. The value is a valid relative URL in the format of /loggers/{loggerId} where {loggerId} is a logger identifier.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "Logger type.", + "enum": [ + "AzureEventHub" + ], + "x-ms-enum": { + "name": "LoggerTypeContract", + "modelAsString": false + } + }, + "description": { + "type": "string", + "description": "Logger description.", + "maxLength": 256 + }, + "credentials": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The name and SendRule connection string of the event hub.", + "example": { + "name": "apim", + "connectionString": "Endpoint=sb://contoso-ns.servicebus.windows.net/;SharedAccessKeyName=Sender;SharedAccessKey=..." + } + }, + "isBuffered": { + "type": "boolean", + "description": "Whether records are buffered in the logger before publishing. Default is assumed to be true.", + "default": true + } + }, + "required": [ + "type", + "credentials" + ], + "description": "The Logger entity in API Management represents an event sink that you can use to log API Management events. Currently the Logger entity supports logging API Management events to Azure Event Hubs." + }, + "LoggerUpdateParameters": { + "properties": { + "type": { + "type": "string", + "description": "Logger type.", + "enum": [ + "AzureEventHub" + ], + "x-ms-enum": { + "name": "LoggerTypeContract", + "modelAsString": false + } + }, + "description": { + "type": "string", + "description": "Logger description." + }, + "credentials": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Logger credentials." + }, + "isBuffered": { + "type": "boolean", + "description": "whether records are buffered in the logger before publishing. Default is assumed to be true." + } + }, + "required": [ + "type" + ], + "description": "Parameters supplied to the Update Logger operation." + } + }, + "parameters": { + "LoggerIdParameter": { + "name": "loggerid", + "in": "path", + "required": true, + "type": "string", + "maxLength": 256, + "pattern": "^[^*#&+:<>?]+$", + "description": "Logger identifier.", + "x-ms-parameter-location": "method" + } + } +} \ No newline at end of file diff --git a/arm-apimanagement/2016-10-10/swagger/apimnetworkstatus.json b/arm-apimanagement/2016-10-10/swagger/apimnetworkstatus.json new file mode 100644 index 000000000000..7d26588973e8 --- /dev/null +++ b/arm-apimanagement/2016-10-10/swagger/apimnetworkstatus.json @@ -0,0 +1,148 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for getting the network connectivity status of your Azure API Management deployment. When the API Management service is deployed inside a Virtual Network, it needs to have access to other Azure resources it depends on. This also gives details about the DNS Servers visible to Azure API Management deployment.", + "version": "2016-10-10" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/networkstatus": { + "get": { + "tags": [ + "NetworkStatus" + ], + "operationId": "NetworkStatus_GetByService", + "description": "Gets the Connectivity Status to the external resources on which the Api Management service depends from inside the Cloud Service. This also returns the DNS Servers as visible to the CloudService.", + "x-ms-examples": { + "ApiManagementServiceGetNetworkStatus": { "$ref": "../examples/ApiManagementServiceGetNetworkStatus.json" } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Gets the Network status details.", + "schema": { + "$ref": "#/definitions/NetworkStatusContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + } + } + }, + "definitions": { + "ConnectivityStatusContract": { + "properties": { + "name": { + "type": "string", + "description": "The hostname of the resource which the service depends on. This can be the database, storage or any other azure resource on which the service depends upon.", + "minLength": 1 + }, + "status": { + "type": "string", + "enum": [ + "initializing", + "success", + "failure" + ], + "x-ms-enum": { + "name": "ConnectivityStatusType", + "modelAsString": true + }, + "description": "Resource Connectivity Status Type identifier." + }, + "error": { + "type": "string", + "description": "Error details of the connectivity to the resource." + }, + "lastUpdated": { + "type": "string", + "format": "date-time", + "description": "The date when the resource connectivity status was last updated. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n" + }, + "lastStatusChange": { + "type": "string", + "format": "date-time", + "description": "The date when the resource connectivity status last Changed from success to failure or vice-versa. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n" + } + }, + "required": [ + "name", + "status", + "lastUpdated", + "lastStatusChange" + ], + "description": "Details about connectivity to a resource." + }, + "NetworkStatusContract": { + "properties": { + "dnsServers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Gets the list of DNS servers IPV4 addresses." + }, + "connectivityStatus": { + "type": "array", + "items": { + "$ref": "#/definitions/ConnectivityStatusContract" + }, + "description": "Gets the list of Connectivity Status to the Resources." + } + }, + "required": [ + "dnsServers", + "connectivityStatus" + ], + "description": "Network Status details." + } + }, + "parameters": { + } +} \ No newline at end of file diff --git a/arm-apimanagement/2016-10-10/swagger/apimopenidconnectproviders.json b/arm-apimanagement/2016-10-10/swagger/apimopenidconnectproviders.json new file mode 100644 index 000000000000..3f7a31859583 --- /dev/null +++ b/arm-apimanagement/2016-10-10/swagger/apimopenidconnectproviders.json @@ -0,0 +1,409 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing operations on OpenId Connect Provider entity associated with your Azure API Management deployment. API Management allows you to access APIs secured with token from [OpenID Connect Provider ](http://openid.net/connect/) to be accessed from the Developer Console.", + "version": "2016-10-10" + }, + "externalDocs": { + "description": "How to authorize developer accounts using OAuth 2.0 in Azure API Management.", + "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-oauth2" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/openidConnectProviders": { + "get": { + "tags": [ + "OpenIdConnectProviders" + ], + "operationId": "OpenIdConnectProviders_ListByService", + "description": "Lists all OpenID Connect Providers.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Supported operators | Supported functions |\n|-------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists of all the OpenId Connect Providers.", + "schema": { + "$ref": "#/definitions/OpenIdConnectProviderCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/OpenidConnectProviderContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/openidConnectProviders/{opid}": { + "get": { + "tags": [ + "OpenIdConnectProviders" + ], + "operationId": "OpenIdConnectProviders_Get", + "description": "Gets specific OpenID Connect Provider.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/OpenIdConnectIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified OpenId Connect Provider entity.", + "schema": { + "$ref": "#/definitions/OpenidConnectProviderContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "put": { + "tags": [ + "OpenIdConnectProviders" + ], + "operationId": "OpenIdConnectProviders_CreateOrUpdate", + "description": "Creates or updates the OpenID Connect Provider.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/OpenIdConnectIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/OpenidConnectProviderCreateContract" + }, + "description": "Create parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "OpenIdConnect Provider was successfully created." + }, + "204": { + "description": "OpenIdConnect Provider was successfully updated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "patch": { + "tags": [ + "OpenIdConnectProviders" + ], + "operationId": "OpenIdConnectProviders_Update", + "description": "Updates the specific OpenID Connect Provider.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/OpenIdConnectIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/OpenidConnectProviderUpdateContract" + }, + "description": "Update parameters." + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "description": "The entity state (Etag) version of the OpenID Connect Provider to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.", + "type": "string" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "OpenId Connect Provider was successfully updated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "delete": { + "tags": [ + "OpenIdConnectProviders" + ], + "operationId": "OpenIdConnectProviders_Delete", + "description": "Deletes specific OpenID Connect Provider of the API Management service instance.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/OpenIdConnectIdParameter" + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "description": "The entity state (Etag) version of the OpenID Connect Provider to delete. A value of \"*\" can be used for If-Match to unconditionally apply the operation.", + "type": "string" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "OpenId Connect Provider was successfully deleted." + }, + "405": { + "description": "The specified OpenIdConnect Provider cannot be deleted because it is in use in a policy. You must remove all references to this property before it can be deleted.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + } + } + }, + "definitions": { + "OpenIdConnectProviderCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/OpenidConnectProviderContract" + }, + "description": "Page values." + }, + "count": { + "type": "integer", + "format": "int64", + "description": "Total record count number across all pages." + }, + "nextLink": { + "type": "string", + "description": "Next page link if any." + } + }, + "description": "Paged OpenIdProviders list representation." + }, + "OpenidConnectProviderContract": { + "properties": { + "id": { + "type": "string", + "description": "OpenID Connect Provider identifier." + }, + "name": { + "type": "string", + "description": "User-friendly OpenID Connect Provider name.", + "maxLength": 50 + }, + "description": { + "type": "string", + "description": "User-friendly description of OpenID Connect Provider." + }, + "metadataEndpoint": { + "type": "string", + "description": "Metadata endpoint URI." + }, + "clientId": { + "type": "string", + "description": "Client ID of developer console which is the client application." + }, + "clientSecret": { + "type": "string", + "description": "Client Secret of developer console which is the client application." + } + }, + "required": [ + "name", + "metadataEndpoint", + "clientId" + ], + "description": "OpenID Connect Providers Contract." + }, + "OpenidConnectProviderCreateContract": { + "properties": { + "name": { + "type": "string", + "description": "User-friendly OpenID Connect Provider name.", + "maxLength": 50 + }, + "description": { + "type": "string", + "description": "User-friendly description of OpenID Connect Provider." + }, + "metadataEndpoint": { + "type": "string", + "description": "Metadata endpoint URI." + }, + "clientId": { + "type": "string", + "description": "Client ID of developer console which is the client application." + }, + "clientSecret": { + "type": "string", + "description": "Client Secret of developer console which is the client application." + } + }, + "required": [ + "name", + "metadataEndpoint", + "clientId" + ], + "description": "Parameters supplied to the Create OpenID Connect Provider operation." + }, + "OpenidConnectProviderUpdateContract": { + "properties": { + "name": { + "type": "string", + "description": "User-friendly OpenID Connect Provider name.", + "maxLength": 50 + }, + "description": { + "type": "string", + "description": "User-friendly description of OpenID Connect Provider." + }, + "metadataEndpoint": { + "type": "string", + "description": "Metadata endpoint URI." + }, + "clientId": { + "type": "string", + "description": "Client ID of developer console which is the client application." + }, + "clientSecret": { + "type": "string", + "description": "Client Secret of developer console which is the client application." + } + }, + "description": "Parameters supplied to the Update OpenID Connect Provider operation." + } + }, + "parameters": { + "OpenIdConnectIdParameter": { + "name": "opid", + "in": "path", + "required": true, + "type": "string", + "description": "Identifier of the OpenID Connect Provider.", + "maxLength": 256, + "pattern": "^[^*#&+:<>?]+$", + "x-ms-parameter-location": "method" + } + } +} \ No newline at end of file diff --git a/arm-apimanagement/2016-10-10/swagger/apimproducts.json b/arm-apimanagement/2016-10-10/swagger/apimproducts.json new file mode 100644 index 000000000000..ccb2d2d72583 --- /dev/null +++ b/arm-apimanagement/2016-10-10/swagger/apimproducts.json @@ -0,0 +1,772 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing operations on Product entity associated with your Azure API Management deployment. The Product entity represents a product in API Management. Products include one or more APIs and their associated terms of use. Once a product is published, developers can subscribe to the product and begin to use the product’s APIs.", + "version": "2016-10-10" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products": { + "get": { + "tags": [ + "Products" + ], + "operationId": "Products_ListByService", + "description": "Lists a collection of products in the specified service instance.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/dn776336.aspx" + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| description | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| terms | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| state | eq | |" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "name": "expandGroups", + "in": "query", + "required": false, + "type": "boolean", + "description": "When set to true, the response contains an array of groups that have visibility to the product. The default is false." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "A Collection of the Product entities for the specified API Management service instance.", + "schema": { + "$ref": "#/definitions/ProductCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/ProductContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}": { + "get": { + "tags": [ + "Products" + ], + "operationId": "Products_Get", + "description": "Gets the details of the product specified by its identifier.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ProductIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified Product entity.", + "schema": { + "$ref": "#/definitions/ProductContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "put": { + "tags": [ + "Products" + ], + "operationId": "Products_CreateOrUpdate", + "description": "Creates or Updates a product.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ProductIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ProductContract" + }, + "description": "Create or update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Product was successfully created." + }, + "204": { + "description": "Product was successfully updated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "patch": { + "tags": [ + "Products" + ], + "operationId": "Products_Update", + "description": "Update product.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ProductIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ProductUpdateParameters" + }, + "description": "Update parameters." + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "description": "ETag of the Product Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.", + "type": "string" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "No Content in case of Update Successfull." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "delete": { + "tags": [ + "Products" + ], + "operationId": "Products_Delete", + "description": "Delete product.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ProductIdParameter" + }, + { + "name": "deleteSubscriptions", + "in": "query", + "required": false, + "type": "boolean", + "description": "Delete existing subscriptions to the product or not." + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "description": "ETag of the Product Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.", + "type": "string" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "The product was successfully deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis": { + "get": { + "tags": [ + "ProductApis" + ], + "operationId": "Apis_ListByProducts", + "description": "Lists a collection of the APIs associated with a product.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ProductIdParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| description | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| serviceUrl | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| path | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains a collection of Api entities in the product.", + "schema": { + "$ref": "./apimapis.json#/definitions/ApiCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "./apimapis.json#/definitions/ApiContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis/{apiId}": { + "put": { + "tags": [ + "ProductApis" + ], + "operationId": "ProductApis_Create", + "description": "Adds an API to the specified product.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ProductIdParameter" + }, + { + "$ref": "./apimapis.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "The API was successfully added to the product." + }, + "204": { + "description": "The specified API is already added to the product." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "delete": { + "tags": [ + "ProductApis" + ], + "operationId": "ProductApis_Delete", + "description": "Deletes the specified API from the specified product.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ProductIdParameter" + }, + { + "$ref": "./apimapis.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "The API was successfully removed from the product." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/groups": { + "get": { + "tags": [ + "ProductGroups" + ], + "operationId": "Groups_ListByProducts", + "description": "Lists the collection of developer groups associated with the specified product.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ProductIdParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| description | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| type | eq, ne | N/A |" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of Group entities.", + "schema": { + "$ref": "./apimgroups.json#/definitions/GroupCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "./apimgroups.json#/definitions/GroupContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/groups/{groupId}": { + "put": { + "tags": [ + "ProductGroups" + ], + "operationId": "ProductGroups_Create", + "description": "Adds the association between the specified developer group with the specified product.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ProductIdParameter" + }, + { + "$ref": "./apimgroups.json#/parameters/GroupIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "The group was successfully associated with the product.." + }, + "204": { + "description": "The specified group is already associated with the product." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "delete": { + "tags": [ + "ProductGroups" + ], + "operationId": "ProductGroups_Delete", + "description": "Deletes the association between the specified group and product.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ProductIdParameter" + }, + { + "$ref": "./apimgroups.json#/parameters/GroupIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "The group was successfully disassociated with the product." + }, + "400": { + "description": "Request validation failed.This is typically caused by an invalid product or group id.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/subscriptions": { + "get": { + "tags": [ + "ProductSubscriptions" + ], + "operationId": "Subscriptions_ListByProducts", + "description": "Lists the collection of subscriptions to the specified product.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ProductIdParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Supported operators | Supported functions |\n|--------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| stateComment | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| userId | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| productId | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| state | eq | |" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of subscription entities.", + "schema": { + "$ref": "./apimsubscriptions.json#/definitions/SubscriptionCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "./apimsubscriptions.json#/definitions/SubscriptionContract" + } + } + }, + "definitions": { + "ProductCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductContract" + }, + "description": "Page values." + }, + "count": { + "type": "integer", + "format": "int64", + "description": "Total record count number across all pages." + }, + "nextLink": { + "type": "string", + "description": "Next page link if any." + } + }, + "description": "Paged Products list representation." + }, + "ProductContract": { + "properties": { + "id": { + "type": "string", + "description": "Uniquely identifies the product within the current API Management service instance. The value is a valid relative URL in the format of /products/{productId} where {productId} is a product identifier.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Product name.", + "minLength": 1, + "maxLength": 300 + }, + "description": { + "type": "string", + "description": "Product description. May include HTML formatting tags.", + "minLength": 1, + "maxLength": 1000 + }, + "terms": { + "type": "string", + "description": "Product terms of use. Developers trying to subscribe to the product will be presented and required to accept these terms before they can complete the subscription process." + }, + "subscriptionRequired": { + "type": "boolean", + "description": "Whether a product subscription is required for accessing APIs included in this product. If true, the product is referred to as \"protected\" and a valid subscription key is required for a request to an API included in the product to succeed. If false, the product is referred to as \"open\" and requests to an API included in the product can be made without a subscription key. If property is omitted when creating a new product it's value is assumed to be true.", + "default": true + }, + "approvalRequired": { + "type": "boolean", + "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false." + }, + "subscriptionsLimit": { + "type": "integer", + "format": "int32", + "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false." + }, + "state": { + "type": "string", + "description": "whether product is published or not. Published products are discoverable by users of developer portal. Non published products are visible only to administrators. Default state of Product is NotPublished.", + "enum": [ + "NotPublished", + "Published" + ], + "default": "NotPublished", + "x-ms-enum": { + "name": "ProductStateContract", + "modelAsString": false + } + } + }, + "required": [ + "name" + ], + "description": "Product profile." + }, + "ProductUpdateParameters": { + "properties": { + "name": { + "type": "string", + "description": "Product name.", + "maxLength": 300, + "minLength": 1 + }, + "description": { + "type": "string", + "description": "Product description.", + "maxLength": 500, + "minLength": 1 + }, + "terms": { + "type": "string", + "description": "Product terms and conditions. Developer will have to accept these terms before he's allowed to call product API." + }, + "subscriptionRequired": { + "type": "boolean", + "description": "whether a product subscription is required for accessing APIs included in this product. If true, the product is referred to as \"protected\" and a valid subscription key is required for a request to an API included in the product to succeed. If false, the product is referred to as \"open\" and requests to an API included in the product can be made without a subscription key. If property is omitted when creating a new product it's value is assumed to be true." + }, + "approvalRequired": { + "type": "boolean", + "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false." + }, + "subscriptionsLimit": { + "type": "integer", + "format": "int32", + "description": "whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false." + }, + "state": { + "type": "string", + "description": "whether product is published or not. Published products are discoverable by users of developer portal. Non published products are visible only to administrators.", + "enum": [ + "NotPublished", + "Published" + ], + "x-ms-enum": { + "name": "ProductStateContract", + "modelAsString": false + } + } + }, + "description": "Parameters supplied to the CreateOrUpdate Product operation." + } + }, + "parameters": { + "ProductIdParameter": { + "name": "productId", + "in": "path", + "required": true, + "type": "string", + "description": "Product identifier. Must be unique in the current API Management service instance.", + "minLength": 1, + "maxLength": 256, + "pattern": "^[^*#&+:<>?]+$", + "x-ms-parameter-location": "method" + } + } +} \ No newline at end of file diff --git a/arm-apimanagement/2016-10-10/swagger/apimproperties.json b/arm-apimanagement/2016-10-10/swagger/apimproperties.json new file mode 100644 index 000000000000..1a2af137d417 --- /dev/null +++ b/arm-apimanagement/2016-10-10/swagger/apimproperties.json @@ -0,0 +1,419 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing operations on Property entity associated with your Azure API Management deployment. API Management policies are a powerful capability of the system that allow the publisher to change the behavior of the API through configuration. Policies are a collection of statements that are executed sequentially on the request or response of an API. Policy statements can be constructed using literal text values, policy expressions, and properties. Each API Management service instance has a properties collection of key/value pairs that are global to the service instance. These properties can be used to manage constant string values across all API configuration and policies.", + "version": "2016-10-10" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/properties": { + "get": { + "tags": [ + "Property" + ], + "operationId": "Properties_ListByService", + "description": "Lists a collection of properties defined within a service instance.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt651775.aspx" + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Supported operators | Supported functions |\n|-------|------------------------|-------------------------------------------------------|\n| tags | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith, any, all |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "A Collection of the Property entities for the specified API Management service instance.", + "schema": { + "$ref": "#/definitions/PropertyCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/PropertyContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/properties/{propId}": { + "get": { + "tags": [ + "Property" + ], + "operationId": "Property_Get", + "description": "Gets the details of the property specified by its identifier.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/PropertyIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified Property entity.", + "schema": { + "$ref": "#/definitions/PropertyContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "put": { + "tags": [ + "Property" + ], + "operationId": "Property_CreateOrUpdate", + "description": "Creates or updates a property.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/PropertyIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PropertyCreateParameters" + }, + "description": "Create parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Property was successfully created." + }, + "204": { + "description": "Property was successfully updated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "patch": { + "tags": [ + "Property" + ], + "operationId": "Property_Update", + "description": "Updates the specific property.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/PropertyIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PropertyUpdateParameters" + }, + "description": "Update parameters." + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "description": "The entity state (Etag) version of the property to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.", + "type": "string" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Property was successfully updated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "delete": { + "tags": [ + "Property" + ], + "operationId": "Property_Delete", + "description": "Deletes specific property from the the API Management service instance.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/PropertyIdParameter" + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "description": "The entity state (Etag) version of the property to delete. A value of \"*\" can be used for If-Match to unconditionally apply the operation.", + "type": "string" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Property was successfully deleted." + }, + "405": { + "description": "The specified property cannot be deleted because it is in use in a policy. You must remove all references to this property before it can be deleted.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + } + } + }, + "definitions": { + "PropertyCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PropertyContract" + }, + "description": "Page values." + }, + "count": { + "type": "integer", + "format": "int64", + "description": "Total record count number across all pages." + }, + "nextLink": { + "type": "string", + "description": "Next page link if any." + } + }, + "description": "Paged Property list representation." + }, + "PropertyContract": { + "properties": { + "id": { + "type": "string", + "description": "Uniquely identifies the property within the current API Management service instance. The value is a valid relative URL in the format of /properties/{propId} where {propId} is a property identifier.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Unique name of Property. It may contain only letters, digits, period, dash, and underscore characters.", + "minLength": 1, + "maxLength": 256, + "pattern": "^[A-Z0-9-._]+$" + }, + "value": { + "type": "string", + "description": "Value of the property. Can contain policy expressions. It may not be empty or consist only of whitespace.", + "minLength": 1, + "maxLength": 4096 + }, + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 32, + "description": "Optional tags that when provided can be used to filter the property list." + }, + "secret": { + "type": "boolean", + "description": "Determines whether the value is a secret and should be encrypted or not. Default value is false." + } + }, + "required": [ + "name", + "value" + ], + "description": "Property details." + }, + "PropertyCreateParameters": { + "properties": { + "name": { + "type": "string", + "description": "Unique name of Property. It may contain only letters, digits, period, dash, and underscore characters.", + "minLength": 1, + "maxLength": 256, + "pattern": "^[A-Z0-9-._]+$" + }, + "value": { + "type": "string", + "description": "Value of the property. Can contain policy expressions. It may not be empty or consist only of whitespace.", + "minLength": 1, + "maxLength": 4096 + }, + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 32, + "description": "Optional tags that when provided can be used to filter the property list." + }, + "secret": { + "type": "boolean", + "description": "Determines whether the value is a secret and should be encrypted or not. Default value is false." + } + }, + "required": [ + "name", + "value" + ], + "description": "Parameters supplied to the Create Property operation." + }, + "PropertyUpdateParameters": { + "properties": { + "name": { + "type": "string", + "description": "Unique name of Property. It may contain only letters, digits, period, dash, and underscore characters.", + "minLength": 1, + "maxLength": 256, + "pattern": "^[A-Z0-9-._]+$" + }, + "value": { + "type": "string", + "description": "Value of the property. Can contain policy expressions. It may not be empty or consist only of whitespace.", + "minLength": 1, + "maxLength": 4096 + }, + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 32, + "description": "Optional tags that when provided can be used to filter the property list." + }, + "secret": { + "type": "boolean", + "description": "Determines whether the value is a secret and should be encrypted or not. Default value is false." + } + }, + "description": "Parameters supplied to the Update Property operation." + } + }, + "parameters": { + "PropertyIdParameter": { + "name": "propId", + "in": "path", + "required": true, + "type": "string", + "description": "Identifier of the property.", + "maxLength": 256, + "pattern": "^[^*#&+:<>?]+$", + "x-ms-parameter-location": "method" + } + } +} \ No newline at end of file diff --git a/arm-apimanagement/2016-10-10/swagger/apimquotas.json b/arm-apimanagement/2016-10-10/swagger/apimquotas.json new file mode 100644 index 000000000000..fd863c564cf5 --- /dev/null +++ b/arm-apimanagement/2016-10-10/swagger/apimquotas.json @@ -0,0 +1,316 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing operations on Quota entity associated with your Azure API Management deployment.", + "version": "2016-10-10" + }, + "externalDocs": { + "description": "To configure call rate limit and quota policies.", + "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-product-with-rules#a-namepolicies-ato-configure-call-rate-limit-and-quota-policies" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/quotas/{quotaCounterKey}": { + "get": { + "tags": [ + "QuotaByCounterKeys" + ], + "operationId": "QuotaByCounterKeys_ListByService", + "description": "Lists a collection of current quota counter periods associated with the counter-key configured in the policy on the specified service instance. The api does not support paging yet.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-product-with-rules#a-namepolicies-ato-configure-call-rate-limit-and-quota-policies", + "description": "Document describing how to configure the quota policies." + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/QuotaCounterKeyParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of the quota counter values.", + "schema": { + "$ref": "#/definitions/QuotaCounterCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "patch": { + "tags": [ + "QuotaByCounterKeys" + ], + "operationId": "QuotaByCounterKeys_Update", + "description": "Updates all the quota counter values specified with the existing quota counter key to a value in the specified service instance. This should be used for reset of the quota counter values.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/QuotaCounterKeyParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/QuotaCounterValueContract" + }, + "description": "The value of the quota counter to be applied to all quota counter periods." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "All the quota counter periods were successfully updated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/quotas/{quotaCounterKey}/{quotaPeriodKey}": { + "get": { + "tags": [ + "QuotaByPeriodKeys" + ], + "operationId": "QuotaByPeriodKeys_Get", + "description": "Gets the value of the quota counter associated with the counter-key in the policy for the specific period in service instance.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-product-with-rules#a-namepolicies-ato-configure-call-rate-limit-and-quota-policies", + "description": "Document describing how to configure the quota policies." + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/QuotaCounterKeyParameter" + }, + { + "$ref": "#/parameters/QuotaPeriodKeyParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the Quota counter details for the specified period.", + "schema": { + "$ref": "#/definitions/QuotaCounterContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "patch": { + "tags": [ + "QuotaByPeriodKeys" + ], + "operationId": "QuotaByPeriodKeys_Update", + "description": "Updates an existing quota counter value in the specified service instance.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/QuotaCounterKeyParameter" + }, + { + "$ref": "#/parameters/QuotaPeriodKeyParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/QuotaCounterValueContract" + }, + "description": "The value of the Quota counter to be applied on the specified period." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "The quota counter value was successfully updated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + } + } + }, + "definitions": { + "QuotaCounterCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/QuotaCounterContract" + }, + "description": "Quota counter values." + }, + "count": { + "type": "integer", + "format": "int64", + "description": "Total record count number across all pages." + }, + "nextLink": { + "type": "string", + "description": "Next page link if any." + } + }, + "description": "Paged Quota Counter list representation." + }, + "QuotaCounterContract": { + "properties": { + "counterKey": { + "type": "string", + "description": "The Key value of the Counter. Must not be empty.", + "minLength": 1 + }, + "periodKey": { + "type": "string", + "description": "Identifier of the Period for which the counter was collected. Must not be empty.", + "minLength": 1 + }, + "periodStartTime": { + "type": "string", + "format": "date-time", + "description": "The date of the start of Counter Period. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n" + }, + "periodEndTime": { + "type": "string", + "format": "date-time", + "description": "The date of the end of Counter Period. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n" + } + }, + "allOf": [ + { + "$ref": "#/definitions/QuotaCounterValueContract" + } + ], + "required": [ + "counterKey", + "periodKey", + "periodStartTime", + "periodEndTime" + ], + "description": "Quota counter details." + }, + "QuotaCounterValueContract": { + "properties": { + "callsCount": { + "type": "integer", + "format": "int32", + "description": "Number of times Counter was called." + }, + "kbTransferred": { + "type": "number", + "format": "double", + "description": "Data Transferred in KiloBytes." + } + }, + "description": "Quota counter value details." + } + }, + "parameters": { + "QuotaCounterKeyParameter": { + "name": "quotaCounterKey", + "in": "path", + "required": true, + "type": "string", + "description": "Quota counter key identifier.", + "x-ms-parameter-location": "method" + }, + "QuotaPeriodKeyParameter": { + "name": "quotaPeriodKey", + "in": "path", + "required": true, + "type": "string", + "description": "Quota period key identifier.", + "x-ms-parameter-location": "method" + } + } +} \ No newline at end of file diff --git a/arm-apimanagement/2016-10-10/swagger/apimreports.json b/arm-apimanagement/2016-10-10/swagger/apimreports.json new file mode 100644 index 000000000000..ed549ddd53d0 --- /dev/null +++ b/arm-apimanagement/2016-10-10/swagger/apimreports.json @@ -0,0 +1,266 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs to get the analytics reports associated with your Azure API Management deployment.", + "version": "2016-10-10" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/{aggregation}": { + "get": { + "tags": [ + "Reports" + ], + "operationId": "Reports_ListByService", + "description": "Lists report records.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "aggregation", + "in": "path", + "required": true, + "type": "string", + "description": "Report aggregation.", + "enum": [ + "byApi", + "byGeo", + "byOperation", + "byProduct", + "bySubscription", + "byTime", + "byUser" + ], + "x-ms-enum": { + "name": "ReportsAggregation", + "modelAsString": false + } + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation." + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "name": "interval", + "in": "query", + "required": false, + "type": "string", + "format": "duration", + "description": "By time interval. This value is only applicable to ByTime aggregation. Interval must be multiple of 15 minutes and may not be zero. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, secconds))" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of Report record.", + "schema": { + "$ref": "#/definitions/ReportCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/ReportRecordContract" + } + } + }, + "definitions": { + "ReportCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ReportRecordContract" + }, + "description": "Page values." + }, + "count": { + "type": "integer", + "format": "int64", + "description": "Total record count number across all pages." + }, + "nextLink": { + "type": "string", + "description": "Next page link if any." + } + }, + "description": "Paged Report records list representation." + }, + "ReportRecordContract": { + "properties": { + "name": { + "type": "string", + "description": "Name depending on report endpoint specifies product, API, operation or developer name." + }, + "timestamp": { + "type": "string", + "format": "date-time", + "description": "Start of aggregation period. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n" + }, + "interval": { + "type": "integer", + "format": "int64", + "description": "Length of agregation period." + }, + "country": { + "type": "string", + "description": "Country to which this record data is related." + }, + "region": { + "type": "string", + "description": "Country region to which this record data is related." + }, + "zip": { + "type": "string", + "description": "Zip code to which this record data is related." + }, + "userId": { + "readOnly": true, + "type": "string", + "description": "User identifier path. /users/{userId}" + }, + "productId": { + "readOnly": true, + "type": "string", + "description": "Product identifier path. /products/{productId}" + }, + "apiId": { + "type": "string", + "description": "API identifier path. /apis/{apiId}" + }, + "operationId": { + "type": "string", + "description": "Operation identifier path. /apis/{apiId}/operations/{operationId}" + }, + "apiRegion": { + "type": "string", + "description": "API region identifier." + }, + "subscriptionId": { + "type": "string", + "description": "Subscription identifier path. /subscriptions/{subscriptionId}" + }, + "callCountSuccess": { + "type": "integer", + "format": "int32", + "description": "Number of succesful calls. This includes calls returning HttpStatusCode <= 301 and HttpStatusCode.NotModified and HttpStatusCode.TemporaryRedirect" + }, + "callCountBlocked": { + "type": "integer", + "format": "int32", + "description": "Number of calls blocked due to invalid credentials. This includes calls returning HttpStatusCode.Unauthorize and HttpStatusCode.Forbidden and HttpStatusCode.TooManyRequests" + }, + "callCountFailed": { + "type": "integer", + "format": "int32", + "description": "Number of calls failed due to proxy or backend errors. This includes calls returning HttpStatusCode.BadRequest(400) and any Code between HttpStatusCode.InternalServerError (500) and 600" + }, + "callCountOther": { + "type": "integer", + "format": "int32", + "description": "Number of other calls." + }, + "callCountTotal": { + "type": "integer", + "format": "int32", + "description": "Total number of calls." + }, + "bandwidth": { + "type": "integer", + "format": "int64", + "description": "Bandwidth consumed." + }, + "cacheHitCount": { + "type": "integer", + "format": "int32", + "description": "Number of times when content was served from cache policy." + }, + "cacheMissCount": { + "type": "integer", + "format": "int32", + "description": "Number of times content was fetched from backend." + }, + "apiTimeAvg": { + "type": "number", + "format": "double", + "description": "Average time it took to process request." + }, + "apiTimeMin": { + "type": "number", + "format": "double", + "description": "Minimum time it took to process request." + }, + "apiTimeMax": { + "type": "number", + "format": "double", + "description": "Maximum time it took to process request." + }, + "serviceTimeAvg": { + "type": "number", + "format": "double", + "description": "Average time it took to process request on backend." + }, + "serviceTimeMin": { + "type": "number", + "format": "double", + "description": "Minimum time it took to process request on backend." + }, + "serviceTimeMax": { + "type": "number", + "format": "double", + "description": "Maximum time it took to process request on backend." + } + }, + "description": "Report data." + } + }, + "parameters": { + } +} \ No newline at end of file diff --git a/arm-apimanagement/2016-10-10/swagger/apimsubscriptions.json b/arm-apimanagement/2016-10-10/swagger/apimsubscriptions.json new file mode 100644 index 000000000000..1753adca409b --- /dev/null +++ b/arm-apimanagement/2016-10-10/swagger/apimsubscriptions.json @@ -0,0 +1,578 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing operations on Subscription entity associated with your Azure API Management deployment. The Subscription entity represents the association between a user and a product in API Management. Products contain one or more APIs, and once a product is published, developers can subscribe to the product and begin to use the product’s APIs.", + "version": "2016-10-10" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions": { + "get": { + "tags": [ + "Subscriptions" + ], + "operationId": "Subscriptions_List", + "description": "Lists all subscriptions of the API Management service instance.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/dn776325.aspx" + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Supported operators | Supported functions |\n|--------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| stateComment | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| userId | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| productId | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| state | eq | |" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "A collection of the Subscription entities for the specified API Management service instance.", + "schema": { + "$ref": "#/definitions/SubscriptionCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/SubscriptionContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}": { + "get": { + "tags": [ + "Subscriptions" + ], + "operationId": "Subscriptions_Get", + "description": "Gets the specified Subscription entity.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionEntityIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified Subscription entity.", + "schema": { + "$ref": "#/definitions/SubscriptionContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "put": { + "tags": [ + "Subscriptions" + ], + "operationId": "Subscriptions_CreateOrUpdate", + "description": "Creates or updates the subscription of specified user to the specified product.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionEntityIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SubscriptionCreateParameters" + }, + "description": "Create parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "The user was successfully subscribed to the product." + }, + "204": { + "description": "The user already subscribed to the product." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "patch": { + "tags": [ + "Subscriptions" + ], + "operationId": "Subscriptions_Update", + "description": "Updates the details of a subscription specificied by its identifier.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionEntityIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SubscriptionUpdateParameters" + }, + "description": "Update parameters." + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "description": "ETag of the Subscription Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.", + "type": "string" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "The subscription details were successfully updated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "delete": { + "tags": [ + "Subscriptions" + ], + "operationId": "Subscriptions_Delete", + "description": "Deletes the specified subscription.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionEntityIdParameter" + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "description": "ETag of the Subscription Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.", + "type": "string" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "The subscription details were successfully deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}/regeneratePrimaryKey": { + "post": { + "tags": [ + "Subscriptions" + ], + "operationId": "Subscriptions_RegeneratePrimaryKey", + "description": "Regenerates primary key of existing subscription of the API Management service instance.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionEntityIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "The primary key was successfully regenerated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}/regenerateSecondaryKey": { + "post": { + "tags": [ + "Subscriptions" + ], + "operationId": "Subscriptions_RegenerateSecondaryKey", + "description": "Regenerates secondary key of existing subscription of the API Management service instance.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionEntityIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "The secondary key was successfully regenerated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + } + } + }, + "definitions": { + "SubscriptionCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SubscriptionContract" + }, + "description": "Page values." + }, + "count": { + "type": "integer", + "format": "int64", + "description": "Total record count number across all pages." + }, + "nextLink": { + "type": "string", + "description": "Next page link if any." + } + }, + "description": "Paged Subscriptions list representation." + }, + "SubscriptionContract": { + "properties": { + "id": { + "type": "string", + "description": "Uniquely identifies the subscription within the current API Management service instance. The value is a valid relative URL in the format of /subscriptions/{sid} where {sid} is a subscription identifier.", + "readOnly": true + }, + "userId": { + "type": "string", + "description": "The user resource identifier of the subscription owner. The value is a valid relative URL in the format of /users/{uid} where {uid} is a user identifier." + }, + "productId": { + "type": "string", + "description": "The product resource identifier of the subscribed product. The value is a valid relative URL in the format of /products/{productId} where {productId} is a product identifier." + }, + "name": { + "type": "string", + "description": "The name of the subscription, or null if the subscription has no name.", + "minLength": 0, + "maxLength": 100 + }, + "state": { + "type": "string", + "description": "Subscription state. Possible states are * active – the subscription is active, * suspended – the subscription is blocked, and the subscriber cannot call any APIs of the product, * submitted – the subscription request has been made by the developer, but has not yet been approved or rejected, * rejected – the subscription request has been denied by an administrator, * cancelled – the subscription has been cancelled by the developer or administrator, * expired – the subscription reached its expiration date and was deactivated.", + "enum": [ + "Suspended", + "Active", + "Expired", + "Submitted", + "Rejected", + "Cancelled" + ], + "x-ms-enum": { + "name": "SubscriptionStateContract", + "modelAsString": false + } + }, + "createdDate": { + "type": "string", + "format": "date-time", + "description": "Subscription creation date. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n", + "readOnly": true + }, + "startDate": { + "type": "string", + "format": "date-time", + "description": "Subscription activation date. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n" + }, + "expirationDate": { + "type": "string", + "format": "date-time", + "description": "Subscription expiration date. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n" + }, + "endDate": { + "type": "string", + "format": "date-time", + "description": "Date when subscription was cancelled or expired. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n" + }, + "notificationDate": { + "type": "string", + "format": "date-time", + "description": "Upcoming subscription expiration notification date. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n" + }, + "primaryKey": { + "type": "string", + "description": "Subscription primary key.", + "minLength": 1, + "maxLength": 256 + }, + "secondaryKey": { + "type": "string", + "description": "Subscription secondary key.", + "minLength": 1, + "maxLength": 256 + }, + "stateComment": { + "type": "string", + "description": "Optional subscription comment added by an administrator." + } + }, + "description": "Subscription details." + }, + "SubscriptionCreateParameters": { + "properties": { + "userId": { + "type": "string", + "description": "User (user id path) for whom subscription is being created in form /users/{uid}" + }, + "productId": { + "type": "string", + "description": "Product (product id path) for which subscription is being created in form /products/{productid}" + }, + "name": { + "type": "string", + "description": "Subscription name.", + "minLength": 1, + "maxLength": 100 + }, + "primaryKey": { + "type": "string", + "description": "Primary subscription key. If not specified during request key will be generated automatically.", + "minLength": 1, + "maxLength": 256 + }, + "secondaryKey": { + "type": "string", + "description": "Secondary subscription key. If not specified during request key will be generated automatically.", + "minLength": 1, + "maxLength": 256 + }, + "state": { + "type": "string", + "description": "Initial subscription state. If no value is specified, subscription is created with Submitted state. Possible states are * active – the subscription is active, * suspended – the subscription is blocked, and the subscriber cannot call any APIs of the product, * submitted – the subscription request has been made by the developer, but has not yet been approved or rejected, * rejected – the subscription request has been denied by an administrator, * cancelled – the subscription has been cancelled by the developer or administrator, * expired – the subscription reached its expiration date and was deactivated.", + "enum": [ + "Suspended", + "Active", + "Expired", + "Submitted", + "Rejected", + "Cancelled" + ], + "x-ms-enum": { + "name": "SubscriptionStateContract", + "modelAsString": false + } + } + }, + "required": [ + "userId", + "productId", + "name" + ], + "description": "Parameters supplied to the Create subscription operation." + }, + "SubscriptionUpdateParameters": { + "properties": { + "userId": { + "type": "string", + "description": "User identifier path: /users/{uid}" + }, + "productId": { + "type": "string", + "description": "Product identifier path: /products/{productId}" + }, + "expirationDate": { + "type": "string", + "format": "date-time", + "description": "New subscription expiration date." + }, + "name": { + "type": "string", + "description": "Subscription name." + }, + "primaryKey": { + "type": "string", + "description": "Primary subscription key.", + "minLength": 1, + "maxLength": 256 + }, + "secondaryKey": { + "type": "string", + "description": "Secondary subscription key.", + "minLength": 1, + "maxLength": 256 + }, + "state": { + "type": "string", + "description": "Subscription state. Possible states are * active – the subscription is active, * suspended – the subscription is blocked, and the subscriber cannot call any APIs of the product, * submitted – the subscription request has been made by the developer, but has not yet been approved or rejected, * rejected – the subscription request has been denied by an administrator, * cancelled – the subscription has been cancelled by the developer or administrator, * expired – the subscription reached its expiration date and was deactivated.", + "enum": [ + "Suspended", + "Active", + "Expired", + "Submitted", + "Rejected", + "Cancelled" + ], + "x-ms-enum": { + "name": "SubscriptionStateContract", + "modelAsString": false + } + }, + "stateComment": { + "type": "string", + "description": "Comments describing subscription state change by the administrator." + } + }, + "description": "Parameters supplied to the Update subscription operation." + } + }, + "parameters": { + "SubscriptionEntityIdParameter": { + "name": "sid", + "in": "path", + "required": true, + "type": "string", + "description": "Subscription entity Identifier. The entity represents the association between a user and a product in API Management.", + "maxLength": 256, + "pattern": "^[^*#&+:<>?]+$", + "x-ms-parameter-location": "method" + } + } +} \ No newline at end of file diff --git a/arm-apimanagement/2016-10-10/swagger/apimtenant.json b/arm-apimanagement/2016-10-10/swagger/apimtenant.json new file mode 100644 index 000000000000..48ea0a5ba2b3 --- /dev/null +++ b/arm-apimanagement/2016-10-10/swagger/apimtenant.json @@ -0,0 +1,626 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing operations on tenant entity associated with your Azure API Management deployment. Using this entity you can manage properties and configuration that apply to the entire API Management service instance.", + "version": "2016-10-10" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access": { + "get": { + "tags": [ + "TenantAccess" + ], + "operationId": "TenantAccess_Get", + "description": "Get tenant access information details.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Tenant Access information.", + "schema": { + "$ref": "#/definitions/AccessInformationContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + } + } + }, + "patch": { + "tags": [ + "TenantAccess" + ], + "operationId": "TenantAccess_Update", + "description": "Update tenant access information details.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AccessInformationUpdateParameters" + }, + "description": "Parameters." + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "description": "The entity state (Etag) version of the tenant access settings to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.", + "type": "string" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Tenant's access information updated successfully." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/regeneratePrimaryKey": { + "post": { + "tags": [ + "TenantAccess" + ], + "operationId": "TenantAccess_RegeneratePrimaryKey", + "description": "Regenerate primary access key.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "The primary key was successfully regenerated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/regenerateSecondaryKey": { + "post": { + "tags": [ + "TenantAccess" + ], + "operationId": "TenantAccess_RegenerateSecondaryKey", + "description": "Regenerate secondary access key.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "The secondary key was successfully regenerated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/git": { + "get": { + "tags": [ + "TenantAccessGit" + ], + "operationId": "TenantAccessGit_Get", + "description": "Gets the Git access configuration for the tenant.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Git Access Information for the Service.", + "schema": { + "$ref": "#/definitions/AccessInformationContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/git/regeneratePrimaryKey": { + "post": { + "tags": [ + "TenantAccessGit" + ], + "operationId": "TenantAccessGit_RegeneratePrimaryKey", + "description": "Regenerate primary access key for GIT.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "The primary key was successfully regenerated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/access/git/regenerateSecondaryKey": { + "post": { + "tags": [ + "TenantAccessGit" + ], + "operationId": "TenantAccessGit_RegenerateSecondaryKey", + "description": "Regenerate secondary access key for GIT.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "The secondary key was successfully regenerated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/configuration/deploy": { + "post": { + "tags": [ + "TenantConfiguration" + ], + "operationId": "TenantConfiguration_Deploy", + "description": "This operation applies changes from the specified Git branch to the configuration database. This is a long running operation and could take several minutes to complete.", + "externalDocs": { + "description": "To deploy any service configuration changes to the API Management service instance", + "url": "https://azure.microsoft.com/en-us/documentation/articles/api-management-configuration-repository-git/#to-deploy-any-service-configuration-changes-to-the-api-management-service-instance" + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DeployConfigurationParameters" + }, + "description": "Deploy Configuration parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Result of appplying changes from Git branch to database.", + "schema": { + "$ref": "#/definitions/OperationResultContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/configuration/save": { + "post": { + "tags": [ + "TenantConfiguration" + ], + "operationId": "TenantConfiguration_Save", + "description": "This operation creates a commit with the current configuration snapshot to the specified branch in the repository. This is a long running operation and could take several minutes to complete.", + "externalDocs": { + "description": "To save the service configuration to the Git repository", + "url": "https://azure.microsoft.com/en-us/documentation/articles/api-management-configuration-repository-git/#to-save-the-service-configuration-to-the-git-repository" + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SaveConfigurationParameter" + }, + "description": "Save Configuration parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Result of creating a commit in the repository.", + "schema": { + "$ref": "#/definitions/OperationResultContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/configuration/validate": { + "post": { + "tags": [ + "TenantConfiguration" + ], + "operationId": "TenantConfiguration_Validate", + "description": "This operation validates the changes in the specified Git branch. This is a long running operation and could take several minutes to complete.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DeployConfigurationParameters" + }, + "description": "Validate Configuration parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Result of validating the changes in the specified Git branch.", + "schema": { + "$ref": "#/definitions/OperationResultContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/configuration/syncState": { + "get": { + "tags": [ + "TenantConfigurationSyncState" + ], + "operationId": "TenantConfigurationSyncState_Get", + "description": "Gets the status of the most recent synchronization between the configuration database and the Git repository.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Sync state result.", + "schema": { + "$ref": "#/definitions/TenantConfigurationSyncStateContract" + } + } + } + } + } + }, + "definitions": { + "AccessInformationContract": { + "properties": { + "id": { + "type": "string", + "description": "Identifier." + }, + "primaryKey": { + "type": "string", + "description": "Primary access key." + }, + "secondaryKey": { + "type": "string", + "description": "Secondary access key." + }, + "enabled": { + "type": "boolean", + "description": "Tenant access information of the API Management service." + } + }, + "description": "Tenant access information contract of the API Management service." + }, + "AccessInformationUpdateParameters": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Tenant access information of the API Management service." + } + }, + "required": [ + "enabled" + ], + "description": "Tenant access information update parameters of the API Management service." + }, + "DeployConfigurationParameters": { + "properties": { + "branch": { + "type": "string", + "description": "The name of the Git branch from which the configuration is to be deployed to the configuration database." + }, + "force": { + "type": "boolean", + "description": "The value enforcing deleting subscriptions to products that are deleted in this update." + } + }, + "required": [ + "branch" + ], + "description": "Parameters supplied to the Deploy Configuration operation." + }, + "OperationResultContract": { + "properties": { + "id": { + "type": "string", + "description": "Operation result identifier." + }, + "status": { + "type": "string", + "description": "Status of an async operation.", + "enum": [ + "Started", + "InProgress", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "AsyncOperationState", + "modelAsString": false + } + }, + "started": { + "type": "string", + "format": "date-time", + "description": "Start time of an async operation. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n" + }, + "updated": { + "type": "string", + "format": "date-time", + "description": "Last update time of an async operation. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n" + }, + "resultInfo": { + "type": "string", + "description": "Optional result info." + }, + "error": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + }, + "description": "Operation Result." + }, + "SaveConfigurationParameter": { + "properties": { + "branch": { + "type": "string", + "description": "The name of the Git branch in which to commit the current configuration snapshot." + }, + "force": { + "type": "boolean", + "description": "The value if true, the current configuration database is committed to the Git repository, even if the Git repository has newer changes that would be overwritten." + } + }, + "required": [ + "branch" + ], + "description": "Parameters supplied to the Save Tenant Configuration operation." + }, + "TenantConfigurationSyncStateContract": { + "properties": { + "branch": { + "type": "string", + "description": "The name of Git branch." + }, + "commitId": { + "type": "string", + "description": "The latest commit Id." + }, + "isExport": { + "type": "boolean", + "description": "value indicating if last sync was save (true) or deploy (false) operation." + }, + "isSynced": { + "type": "boolean", + "description": "value indicating if last synchronization was later than the configuration change." + }, + "isGitEnabled": { + "type": "boolean", + "description": "value indicating whether Git configuration access is enabled." + }, + "syncDate": { + "type": "string", + "format": "date-time", + "description": "The date of the latest synchronization. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n" + }, + "configurationChangeDate": { + "type": "string", + "format": "date-time", + "description": "The date of the latest configuration change. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n" + } + }, + "description": "Tenant Configuration Synchronization State." + } + }, + "parameters": { + } +} \ No newline at end of file diff --git a/arm-apimanagement/2016-10-10/swagger/apimusers.json b/arm-apimanagement/2016-10-10/swagger/apimusers.json new file mode 100644 index 000000000000..26bb6027be66 --- /dev/null +++ b/arm-apimanagement/2016-10-10/swagger/apimusers.json @@ -0,0 +1,706 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing operations on User entity in Azure API Management deployment. The User entity in API Management represents the developers that call the APIs of the products to which they are subscribed.", + "version": "2016-10-10" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users": { + "get": { + "tags": [ + "Users" + ], + "operationId": "Users_ListByService", + "description": "Lists a collection of registered users in the specified service instance.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/dn776330.aspx" + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Supported operators | Supported functions |\n|------------------|------------------------|-----------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| firstName | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| lastName | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| email | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| state | eq | N/A |\n| registrationDate | ge, le, eq, ne, gt, lt | N/A |\n| note | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of User entities.", + "schema": { + "$ref": "#/definitions/UserCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/UserContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}": { + "get": { + "tags": [ + "Users" + ], + "operationId": "Users_Get", + "description": "Gets the details of the user specified by its identifier.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/UserIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Gets the specified user entity.", + "schema": { + "$ref": "#/definitions/UserContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "put": { + "tags": [ + "Users" + ], + "operationId": "Users_CreateOrUpdate", + "description": "Creates or Updates a user.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/UserIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UserCreateParameters" + }, + "description": "Create or update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "User was successfully created." + }, + "204":{ + "description": "User was successfully updated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "patch": { + "tags": [ + "Users" + ], + "operationId": "Users_Update", + "description": "Updates the details of the user specified by its identifier.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/UserIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UserUpdateParameters" + }, + "description": "Update parameters." + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "description": "The entity state (Etag) version of the user to update. A value of \"*\" can be used for If-Match to unconditionally apply the operation.", + "type": "string" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "The user details were successfully updated." + }, + "405": { + "description": "Administrator user cannot be modified.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + }, + "delete": { + "tags": [ + "Users" + ], + "operationId": "Users_Delete", + "description": "Deletes specific user.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/UserIdParameter" + }, + { + "name": "deleteSubscriptions", + "in": "query", + "required": false, + "type": "boolean", + "description": "Whether to delete user's subscription or not." + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "description": "The entity state (Etag) version of the user to delete. A value of \"*\" can be used for If-Match to unconditionally apply the operation.", + "type": "string" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "The user details were successfully deleted." + }, + "405": { + "description": "Administrator user cannot be modified.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/generateSsoUrl": { + "post": { + "tags": [ + "Users" + ], + "operationId": "Users_GenerateSsoUrl", + "description": "Retrieves a redirection URL containing an authentication token for signing a given user into the developer portal.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/UserIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the single sign-on URL.", + "schema": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GenerateSsoUrlResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/groups": { + "get": { + "tags": [ + "UserGroups" + ], + "operationId": "Groups_ListByUsers", + "description": "Lists all user groups.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/UserIdParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| description | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of Group entities.", + "schema": { + "$ref": "./apimgroups.json#/definitions/GroupCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "./apimgroups.json#/definitions/GroupContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/subscriptions": { + "get": { + "tags": [ + "UserSubscriptions" + ], + "operationId": "Subscriptions_ListByUsers", + "description": "Lists the collection of subscriptions of the specified user.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/UserIdParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Supported operators | Supported functions |\n|--------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| stateComment | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| userId | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| productId | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| state | eq | |" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of Subscription entities.", + "schema": { + "$ref": "./apimsubscriptions.json#/definitions/SubscriptionCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "./apimsubscriptions.json#/definitions/SubscriptionContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/identities": { + "get": { + "tags": [ + "UserIdentities" + ], + "operationId": "Identities_ListByUsers", + "description": "Lists all user identities.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/UserIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists of User Identities.", + "schema": { + "$ref": "#/definitions/UserIdentityCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorBodyContract" + } + } + } + } + } + }, + "definitions": { + "GenerateSsoUrlResult": { + "properties": { + "value": { + "type": "string", + "description": "Redirect Url containing the SSO URL value." + } + }, + "description": "Generate SSO Url operations response details." + }, + "UserCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/UserContract" + }, + "description": "Page values." + }, + "count": { + "type": "integer", + "format": "int64", + "description": "Total record count number across all pages." + }, + "nextLink": { + "type": "string", + "description": "Next page link if any." + } + }, + "description": "Paged Users list representation." + }, + "UserContract": { + "properties": { + "id": { + "type": "string", + "description": "User identifier path." + }, + "firstName": { + "type": "string", + "description": "First name." + }, + "lastName": { + "type": "string", + "description": "Last name." + }, + "email": { + "type": "string", + "description": "Email address." + }, + "state": { + "type": "string", + "description": "User state.", + "enum": [ + "Active", + "Blocked" + ], + "x-ms-enum": { + "name": "UserStateContract", + "modelAsString": false + } + }, + "registrationDate": { + "type": "string", + "format": "date-time", + "description": "Date of user registration. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n" + }, + "note": { + "type": "string", + "description": "Administrator's note about given user." + }, + "identities": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/UserIdentityContract" + }, + "description": "Collection of user identities." + } + }, + "description": "User profile." + }, + "UserCreateParameters": { + "properties": { + "email": { + "type": "string", + "description": "Email address. Must not be empty and must be unique within the service instance.", + "minLength": 1, + "maxLength": 254 + }, + "password": { + "type": "string", + "description": "User Password." + }, + "firstName": { + "type": "string", + "description": "First name.", + "minLength": 1, + "maxLength": 100 + }, + "lastName": { + "type": "string", + "description": "Last name.", + "minLength": 1, + "maxLength": 100 + }, + "state": { + "type": "string", + "description": "Account state. Specifies whether the user is active or not. Blocked users are unable to sign into the developer portal or call any APIs of subscribed products. Default state is Active.", + "enum": [ + "Active", + "Blocked" + ], + "default": "Active", + "x-ms-enum": { + "name": "UserStateContract", + "modelAsString": false + } + }, + "note": { + "type": "string", + "description": "Optional note about a user set by the administrator." + } + }, + "required": [ + "email", + "password", + "firstName", + "lastName" + ], + "description": "Parameters supplied to the Create User operation." + }, + "UserIdentityCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/UserIdentityContract" + }, + "description": "User Identity values." + } + }, + "description": "List of Users Identity list representation." + }, + "UserIdentityContract": { + "properties": { + "provider": { + "type": "string", + "description": "Identity provider name." + }, + "id": { + "type": "string", + "description": "Identifier value within provider." + } + }, + "description": "User identity details." + }, + "UserUpdateParameters": { + "properties": { + "email": { + "type": "string", + "description": "Email address." + }, + "password": { + "type": "string", + "description": "Password." + }, + "firstName": { + "type": "string", + "description": "First name.", + "minLength": 1, + "maxLength": 100 + }, + "lastName": { + "type": "string", + "description": "Last name.", + "minLength": 1, + "maxLength": 100 + }, + "state": { + "type": "string", + "description": "Account state.", + "enum": [ + "Active", + "Blocked" + ], + "x-ms-enum": { + "name": "UserStateContract", + "modelAsString": false + } + }, + "note": { + "type": "string", + "description": "Note about user." + } + }, + "description": "Parameters supplied to the Update User operation." + } + }, + "parameters": { + "UserIdParameter": { + "name": "uid", + "in": "path", + "required": true, + "type": "string", + "description": "User identifier. Must be unique in the current API Management service instance.", + "minLength": 1, + "maxLength": 256, + "pattern": "^[^*#&+:<>?]+$", + "x-ms-parameter-location": "method" + } + } +} \ No newline at end of file diff --git a/arm-apimanagement/compositeApiManagementClient.json b/arm-apimanagement/compositeApiManagementClient.json new file mode 100644 index 000000000000..6071097f802b --- /dev/null +++ b/arm-apimanagement/compositeApiManagementClient.json @@ -0,0 +1,26 @@ +{ + "info": { + "title": "ApiManagementClient", + "description": "Composite Swagger for ApiManagement Client" + }, + "documents": [ + "./2016-10-10/swagger/apimanagement.json", + "./2016-10-10/swagger/apimapis.json", + "./2016-10-10/swagger/apimauthorizationservers.json", + "./2016-10-10/swagger/apimbackends.json", + "./2016-10-10/swagger/apimcertificates.json", + "./2016-10-10/swagger/apimdeployment.json", + "./2016-10-10/swagger/apimgroups.json", + "./2016-10-10/swagger/apimidentityprovider.json", + "./2016-10-10/swagger/apimloggers.json", + "./2016-10-10/swagger/apimnetworkstatus.json", + "./2016-10-10/swagger/apimopenidconnectproviders.json", + "./2016-10-10/swagger/apimproducts.json", + "./2016-10-10/swagger/apimproperties.json", + "./2016-10-10/swagger/apimquotas.json", + "./2016-10-10/swagger/apimreports.json", + "./2016-10-10/swagger/apimsubscriptions.json", + "./2016-10-10/swagger/apimtenant.json", + "./2016-10-10/swagger/apimusers.json" + ] +} \ No newline at end of file