Microsoft.ApiManagement service 2016-07-07
- Latest
- 2024-06-01-preview
- 2024-05-01
- 2023-09-01-preview
- 2023-05-01-preview
- 2023-03-01-preview
- 2022-09-01-preview
- 2022-08-01
- 2022-04-01-preview
- 2021-12-01-preview
- 2021-08-01
- 2021-04-01-preview
- 2021-01-01-preview
- 2020-12-01
- 2020-06-01-preview
- 2019-12-01
- 2019-12-01-preview
- 2019-01-01
- 2018-06-01-preview
- 2018-01-01
- 2017-03-01
- 2016-10-10
- 2016-07-07
Bicep resource definition
The service resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.ApiManagement/service resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.ApiManagement/service@2016-07-07' = {
etag: 'string'
location: 'string'
name: 'string'
properties: {
additionalLocations: [
{
location: 'string'
skuType: 'string'
skuUnitCount: int
vpnconfiguration: {
location: 'string'
subnetResourceId: 'string'
}
}
]
addresserEmail: 'string'
customProperties: {
{customized property}: 'string'
}
hostnameConfigurations: [
{
certificate: {
expiry: 'string'
subject: 'string'
thumbprint: 'string'
}
hostname: 'string'
type: 'string'
}
]
publisherEmail: 'string'
publisherName: 'string'
vpnconfiguration: {
location: 'string'
subnetResourceId: 'string'
}
vpnType: 'string'
}
sku: {
capacity: int
name: 'string'
}
tags: {
{customized property}: 'string'
}
}
Property values
AdditionalRegion
Name | Description | Value |
---|---|---|
location | The location name of the additional region among Azure Data center regions. | string (required) |
skuType | The SKU type in the location. | 'Developer' 'Premium' 'Standard' (required) |
skuUnitCount | 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. | int Constraints: Max value = 10 |
vpnconfiguration | Virtual network configuration for the location. | VirtualNetworkConfiguration |
ApiManagementServiceBaseParametersTags
Name | Description | Value |
---|
ApiManagementServiceProperties
Name | Description | Value |
---|---|---|
additionalLocations | Additional datacenter locations of the API Management service. | AdditionalRegion[] |
addresserEmail | Addresser email. | string |
customProperties | Custom properties of the API Management service, like disabling TLS 1.0. | ApiManagementServicePropertiesCustomProperties |
hostnameConfigurations | Custom hostname configuration of the API Management service. | HostnameConfiguration[] |
publisherEmail | Publisher email. | string Constraints: Max length = (required) |
publisherName | Publisher name. | string (required) |
vpnconfiguration | Virtual network configuration of the API Management service. | VirtualNetworkConfiguration |
vpnType | The type of VPN in which API Management 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. | 'External' 'Internal' 'None' |
ApiManagementServicePropertiesCustomProperties
Name | Description | Value |
---|
ApiManagementServiceSkuProperties
Name | Description | Value |
---|---|---|
capacity | Capacity of the SKU (number of deployed units of the SKU). The default value is 1. | int |
name | Name of the Sku. | 'Developer' 'Premium' 'Standard' (required) |
CertificateInformation
Name | Description | Value |
---|---|---|
expiry | Expiration date of the certificate. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard. |
string (required) |
subject | Subject of the certificate. | string (required) |
thumbprint | Thumbprint of the certificate. | string (required) |
HostnameConfiguration
Name | Description | Value |
---|---|---|
certificate | Certificate information. | CertificateInformation (required) |
hostname | Hostname. | string (required) |
type | Hostname type. | 'Management' 'Portal' 'Proxy' 'Scm' (required) |
Microsoft.ApiManagement/service
Name | Description | Value |
---|---|---|
etag | ETag of the resource. | string |
location | Datacenter location of the API Management service. | string (required) |
name | The resource name | string Constraints: Min length = 1 Max length = 1 Pattern = ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$ (required) |
properties | Properties of the API Management service. | ApiManagementServiceProperties |
sku | SKU properties of the API Management service. | ApiManagementServiceSkuProperties |
tags | Resource tags | Dictionary of tag names and values. See Tags in templates |
VirtualNetworkConfiguration
Name | Description | Value | |
---|---|---|---|
location | The location of the virtual network. | string | |
subnetResourceId | The name of the subnet Resource ID. This has format /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network | ClassicNetwork}/VirtualNetworks/{virtual network name}/subnets/{subnet name}. | string |
Quickstart samples
The following quickstart samples deploy this resource type.
Bicep File | Description |
---|---|
Application Gateway with internal API Management and Web App | Application Gateway routing Internet traffic to a virtual network (internal mode) API Management instance which services a web API hosted in an Azure Web App. |
Create a multiregion Premium tier API Management instance | This template demonstrates how to create an API Management instance with additional locations. The primary location is the same as location of the resource group. For additional locations, the template shows NorthCentralUs and East US2. The primary location should be different from additional locations. |
Create an API Management instance having MSI Identity | This template creates a developer instance of Azure API Management having an MSI Identity |
Create an API Management instance using a template | This template creates a developer instance of Azure API Management |
Create an API Management service with a private endpoint | This template will create an API Management service, a virtual network and a private endpoint exposing the API Management service to the virtual network. |
Create an API Management service with SSL from KeyVault | This template deploys an API Management service configured with User Assigned Identity. It uses this identity to fetch SSL certificate from KeyVault and keeps it updated by checking every 4 hours. |
Create API Management in Internal VNet with App Gateway | This template demonstrates how to Create a instance of Azure API Management on a private network protected by Azure Application Gateway. |
Deploy API Management in external VNet with public IP | This template demonstrates how to create an instance of Azure API Management in the Premium tier within your virtual network's subnet in external mode and configure recommended NSG rules on the subnet. The instance is deployed to two availability zones. The template also configures a public IP address from your subscription. |
Deploy API Management in internal VNet with public IP | This template demonstrates how to create an instance of Azure API Management in the Premium tier within your virtual network's subnet in internal mode and configure recommended NSG rules on the subnet. The instance is deployed to two availability zones. The template also configures a public IP address from your subscription. |
Deploy API Management into Availability Zones | This template creates a premium instance of Azure API Management and deploys into an Availability Zone |
Deploy API Management with an external Azure Cache for Redis | This template demonstrates how to create an instance of Azure API Management in the Consumption tier with an external Azure Cache for Redis instance as the API Management external cache. |
Front Door Standard/Premium with API Management origin | This template creates a Front Door Premium and an API Management instance, and uses an NSG and global API Management policy to validate that traffic has come through the Front Door origin. |
ARM template resource definition
The service resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.ApiManagement/service resource, add the following JSON to your template.
{
"type": "Microsoft.ApiManagement/service",
"apiVersion": "2016-07-07",
"name": "string",
"etag": "string",
"location": "string",
"properties": {
"additionalLocations": [
{
"location": "string",
"skuType": "string",
"skuUnitCount": "int",
"vpnconfiguration": {
"location": "string",
"subnetResourceId": "string"
}
}
],
"addresserEmail": "string",
"customProperties": {
"{customized property}": "string"
},
"hostnameConfigurations": [
{
"certificate": {
"expiry": "string",
"subject": "string",
"thumbprint": "string"
},
"hostname": "string",
"type": "string"
}
],
"publisherEmail": "string",
"publisherName": "string",
"vpnconfiguration": {
"location": "string",
"subnetResourceId": "string"
},
"vpnType": "string"
},
"sku": {
"capacity": "int",
"name": "string"
},
"tags": {
"{customized property}": "string"
}
}
Property values
AdditionalRegion
Name | Description | Value |
---|---|---|
location | The location name of the additional region among Azure Data center regions. | string (required) |
skuType | The SKU type in the location. | 'Developer' 'Premium' 'Standard' (required) |
skuUnitCount | 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. | int Constraints: Max value = 10 |
vpnconfiguration | Virtual network configuration for the location. | VirtualNetworkConfiguration |
ApiManagementServiceBaseParametersTags
Name | Description | Value |
---|
ApiManagementServiceProperties
Name | Description | Value |
---|---|---|
additionalLocations | Additional datacenter locations of the API Management service. | AdditionalRegion[] |
addresserEmail | Addresser email. | string |
customProperties | Custom properties of the API Management service, like disabling TLS 1.0. | ApiManagementServicePropertiesCustomProperties |
hostnameConfigurations | Custom hostname configuration of the API Management service. | HostnameConfiguration[] |
publisherEmail | Publisher email. | string Constraints: Max length = (required) |
publisherName | Publisher name. | string (required) |
vpnconfiguration | Virtual network configuration of the API Management service. | VirtualNetworkConfiguration |
vpnType | The type of VPN in which API Management 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. | 'External' 'Internal' 'None' |
ApiManagementServicePropertiesCustomProperties
Name | Description | Value |
---|
ApiManagementServiceSkuProperties
Name | Description | Value |
---|---|---|
capacity | Capacity of the SKU (number of deployed units of the SKU). The default value is 1. | int |
name | Name of the Sku. | 'Developer' 'Premium' 'Standard' (required) |
CertificateInformation
Name | Description | Value |
---|---|---|
expiry | Expiration date of the certificate. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard. |
string (required) |
subject | Subject of the certificate. | string (required) |
thumbprint | Thumbprint of the certificate. | string (required) |
HostnameConfiguration
Name | Description | Value |
---|---|---|
certificate | Certificate information. | CertificateInformation (required) |
hostname | Hostname. | string (required) |
type | Hostname type. | 'Management' 'Portal' 'Proxy' 'Scm' (required) |
Microsoft.ApiManagement/service
Name | Description | Value |
---|---|---|
apiVersion | The api version | '2016-07-07' |
etag | ETag of the resource. | string |
location | Datacenter location of the API Management service. | string (required) |
name | The resource name | string Constraints: Min length = 1 Max length = 1 Pattern = ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$ (required) |
properties | Properties of the API Management service. | ApiManagementServiceProperties |
sku | SKU properties of the API Management service. | ApiManagementServiceSkuProperties |
tags | Resource tags | Dictionary of tag names and values. See Tags in templates |
type | The resource type | 'Microsoft.ApiManagement/service' |
VirtualNetworkConfiguration
Name | Description | Value | |
---|---|---|---|
location | The location of the virtual network. | string | |
subnetResourceId | The name of the subnet Resource ID. This has format /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network | ClassicNetwork}/VirtualNetworks/{virtual network name}/subnets/{subnet name}. | string |
Quickstart templates
The following quickstart templates deploy this resource type.
Template | Description |
---|---|
Application Gateway with internal API Management and Web App |
Application Gateway routing Internet traffic to a virtual network (internal mode) API Management instance which services a web API hosted in an Azure Web App. |
Create a multiregion Premium tier API Management instance |
This template demonstrates how to create an API Management instance with additional locations. The primary location is the same as location of the resource group. For additional locations, the template shows NorthCentralUs and East US2. The primary location should be different from additional locations. |
Create an API Management instance and all sub resources using template |
This template demonstrates how to create a API Management service and configure sub-entities |
Create an API Management instance having MSI Identity |
This template creates a developer instance of Azure API Management having an MSI Identity |
Create an API Management instance using a template |
This template creates a developer instance of Azure API Management |
Create an API Management instance with custom hostnames |
This template demonstrates how to create a instance of Azure API Management with custom hostname for portal and multiple custom hostnames for proxy |
Create an API Management service with a private endpoint |
This template will create an API Management service, a virtual network and a private endpoint exposing the API Management service to the virtual network. |
Create an API Management service with SSL from KeyVault |
This template deploys an API Management service configured with User Assigned Identity. It uses this identity to fetch SSL certificate from KeyVault and keeps it updated by checking every 4 hours. |
Create and monitor API Management instance |
This template creates an instance of Azure API Management service and Log Analytics workspace and sets up monitoring for your API Management service with Log Analytics |
Create API Management in Internal VNet with App Gateway |
This template demonstrates how to Create a instance of Azure API Management on a private network protected by Azure Application Gateway. |
Create API Management with custom proxy ssl using KeyVault |
This template demonstrates how to Create a instance of Azure API Management and configure custom hostname for proxy with ssl certificate from keyvault. |
Create Azure Front Door in front of Azure API Management |
This sample demonstrates how to use Azure Front Door as a global load balancer in front of Azure API Management. |
Deploy API Management in external VNet with public IP |
This template demonstrates how to create an instance of Azure API Management in the Premium tier within your virtual network's subnet in external mode and configure recommended NSG rules on the subnet. The instance is deployed to two availability zones. The template also configures a public IP address from your subscription. |
Deploy API Management in internal VNet with public IP |
This template demonstrates how to create an instance of Azure API Management in the Premium tier within your virtual network's subnet in internal mode and configure recommended NSG rules on the subnet. The instance is deployed to two availability zones. The template also configures a public IP address from your subscription. |
Deploy API Management into Availability Zones |
This template creates a premium instance of Azure API Management and deploys into an Availability Zone |
Deploy API Management with an external Azure Cache for Redis |
This template demonstrates how to create an instance of Azure API Management in the Consumption tier with an external Azure Cache for Redis instance as the API Management external cache. |
Front Door Standard/Premium with API Management origin |
This template creates a Front Door Premium and an API Management instance, and uses an NSG and global API Management policy to validate that traffic has come through the Front Door origin. |
Terraform (AzAPI provider) resource definition
The service resource type can be deployed with operations that target:
- Resource groups
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.ApiManagement/service resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.ApiManagement/service@2016-07-07"
name = "string"
etag = "string"
location = "string"
sku = {
capacity = int
name = "string"
}
tags = {
{customized property} = "string"
}
body = jsonencode({
properties = {
additionalLocations = [
{
location = "string"
skuType = "string"
skuUnitCount = int
vpnconfiguration = {
location = "string"
subnetResourceId = "string"
}
}
]
addresserEmail = "string"
customProperties = {
{customized property} = "string"
}
hostnameConfigurations = [
{
certificate = {
expiry = "string"
subject = "string"
thumbprint = "string"
}
hostname = "string"
type = "string"
}
]
publisherEmail = "string"
publisherName = "string"
vpnconfiguration = {
location = "string"
subnetResourceId = "string"
}
vpnType = "string"
}
})
}
Property values
AdditionalRegion
Name | Description | Value |
---|---|---|
location | The location name of the additional region among Azure Data center regions. | string (required) |
skuType | The SKU type in the location. | 'Developer' 'Premium' 'Standard' (required) |
skuUnitCount | 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. | int Constraints: Max value = 10 |
vpnconfiguration | Virtual network configuration for the location. | VirtualNetworkConfiguration |
ApiManagementServiceBaseParametersTags
Name | Description | Value |
---|
ApiManagementServiceProperties
Name | Description | Value |
---|---|---|
additionalLocations | Additional datacenter locations of the API Management service. | AdditionalRegion[] |
addresserEmail | Addresser email. | string |
customProperties | Custom properties of the API Management service, like disabling TLS 1.0. | ApiManagementServicePropertiesCustomProperties |
hostnameConfigurations | Custom hostname configuration of the API Management service. | HostnameConfiguration[] |
publisherEmail | Publisher email. | string Constraints: Max length = (required) |
publisherName | Publisher name. | string (required) |
vpnconfiguration | Virtual network configuration of the API Management service. | VirtualNetworkConfiguration |
vpnType | The type of VPN in which API Management 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. | 'External' 'Internal' 'None' |
ApiManagementServicePropertiesCustomProperties
Name | Description | Value |
---|
ApiManagementServiceSkuProperties
Name | Description | Value |
---|---|---|
capacity | Capacity of the SKU (number of deployed units of the SKU). The default value is 1. | int |
name | Name of the Sku. | 'Developer' 'Premium' 'Standard' (required) |
CertificateInformation
Name | Description | Value |
---|---|---|
expiry | Expiration date of the certificate. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard. |
string (required) |
subject | Subject of the certificate. | string (required) |
thumbprint | Thumbprint of the certificate. | string (required) |
HostnameConfiguration
Name | Description | Value |
---|---|---|
certificate | Certificate information. | CertificateInformation (required) |
hostname | Hostname. | string (required) |
type | Hostname type. | 'Management' 'Portal' 'Proxy' 'Scm' (required) |
Microsoft.ApiManagement/service
Name | Description | Value |
---|---|---|
etag | ETag of the resource. | string |
location | Datacenter location of the API Management service. | string (required) |
name | The resource name | string Constraints: Min length = 1 Max length = 1 Pattern = ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$ (required) |
properties | Properties of the API Management service. | ApiManagementServiceProperties |
sku | SKU properties of the API Management service. | ApiManagementServiceSkuProperties |
tags | Resource tags | Dictionary of tag names and values. |
type | The resource type | "Microsoft.ApiManagement/service@2016-07-07" |
VirtualNetworkConfiguration
Name | Description | Value | |
---|---|---|---|
location | The location of the virtual network. | string | |
subnetResourceId | The name of the subnet Resource ID. This has format /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network | ClassicNetwork}/VirtualNetworks/{virtual network name}/subnets/{subnet name}. | string |