Tworzy lub aktualizuje usługę API Management. Jest to długotrwała operacja i może potrwać kilka minut.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}?api-version=2022-08-01
Parametry identyfikatora URI
Nazwa |
W |
Wymagane |
Typ |
Opis |
resourceGroupName
|
path |
True
|
string
|
Nazwa grupy zasobów. W nazwie jest uwzględniana wielkość liter.
|
serviceName
|
path |
True
|
string
|
Nazwa usługi API Management.
Regex pattern: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$
|
subscriptionId
|
path |
True
|
string
|
Identyfikator subskrypcji docelowej.
|
api-version
|
query |
True
|
string
|
Wersja interfejsu API do użycia dla tej operacji.
|
Treść żądania
Nazwa |
Wymagane |
Typ |
Opis |
location
|
True
|
string
|
Lokalizacja zasobu.
|
properties.publisherEmail
|
True
|
string
|
Adres e-mail wydawcy.
|
properties.publisherName
|
True
|
string
|
Nazwa wydawcy.
|
sku
|
True
|
ApiManagementServiceSkuProperties
|
Właściwości jednostki SKU usługi API Management.
|
identity
|
|
ApiManagementServiceIdentity
|
Tożsamość usługi zarządzanej usługi Api Management.
|
properties.additionalLocations
|
|
AdditionalLocation[]
|
Dodatkowe lokalizacje centrum danych usługi API Management.
|
properties.apiVersionConstraint
|
|
ApiVersionConstraint
|
Ograniczenie wersji interfejsu API płaszczyzny sterowania dla usługi API Management.
|
properties.certificates
|
|
CertificateConfiguration[]
|
Lista certyfikatów, które należy zainstalować w usłudze API Management. Maksymalna obsługiwana liczba certyfikatów, które można zainstalować, wynosi 10.
|
properties.customProperties
|
|
object
|
Właściwości niestandardowe usługi API Management. Ustawienie Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 spowoduje wyłączenie TLS_RSA_WITH_3DES_EDE_CBC_SHA szyfrowania dla wszystkich protokołów TLS(1.0, 1.1 i 1.2). Ustawienie Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 może służyć do wyłączania tylko protokołu TLS 1.1. Ustawienie Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 może służyć do wyłączania protokołu TLS 1.0 w usłudze API Management. Ustawienie Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 może służyć do wyłączania tylko protokołu TLS 1.1 na potrzeby komunikacji z zapleczem. Ustawienie Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 może służyć do wyłączania protokołu TLS 1.0 na potrzeby komunikacji z zapleczami. Ustawienie Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2 może służyć do włączania protokołu HTTP2 w usłudze API Management. Nieokreślenie żadnej z tych właściwości operacji PATCH spowoduje zresetowanie wartości właściwości do ich wartości domyślnych. Dla wszystkich ustawień z wyjątkiem Http2 wartość domyślna to True , jeśli usługa została utworzona w dniu 1 kwietnia 2018 r False . lub wcześniej. Wartość domyślna ustawienia Http2 to False .
Można wyłączyć dowolne z następujących szyfrów przy użyciu ustawień Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name] : TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. Na przykład Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256 :false . Wartość domyślna jest true dla nich. Uwaga: Nie można wyłączyć następujących szyfrów, ponieważ są one wymagane przez składniki platformy wewnętrznej: TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
|
properties.disableGateway
|
|
boolean
|
Właściwość jest prawidłowa tylko dla usługi Api Management wdrożonej w wielu lokalizacjach. Może to służyć do wyłączania bramy w regionie głównym.
|
properties.enableClientCertificate
|
|
boolean
|
Właściwość przeznaczona tylko do użycia w przypadku usługi SKU Zużycie. Wymusza to prezentowanie certyfikatu klienta dla każdego żądania do bramy. Umożliwia to również uwierzytelnianie certyfikatu w zasadach w bramie.
|
properties.hostnameConfigurations
|
|
HostnameConfiguration[]
|
Niestandardowa konfiguracja nazwy hosta usługi API Management.
|
properties.natGatewayState
|
|
NatGatewayState
|
Właściwość może służyć do włączania bramy translatora adresów sieciowych dla tej usługi API Management.
|
properties.notificationSenderEmail
|
|
string
|
Email adres, z którego zostanie wysłane powiadomienie.
|
properties.privateEndpointConnections
|
|
RemotePrivateEndpointConnectionWrapper[]
|
Lista połączeń prywatnego punktu końcowego tej usługi.
|
properties.publicIpAddressId
|
|
string
|
Publiczny adres IP jednostki SKU w wersji 4, który ma być skojarzony z usługą wdrożona Virtual Network w regionie. Obsługiwane tylko w przypadku jednostek SKU developer i Premium wdrażanych w Virtual Network.
|
properties.publicNetworkAccess
|
|
PublicNetworkAccess
|
Określa, czy dostęp do publicznego punktu końcowego jest dozwolony dla tej usługi API Management. Wartość jest opcjonalna, ale jeśli została przekazana, musi mieć wartość "Włączone" lub "Wyłączone". Jeśli wartość jest wyłączona, prywatne punkty końcowe są metodą wyłącznego dostępu. Wartość domyślna to "Włączone"
|
properties.restore
|
|
boolean
|
Cofanie usuwania usługi Api Management, jeśli została wcześniej usunięta nietrwale. Jeśli ta flaga jest określona i ustawiona na True, wszystkie inne właściwości zostaną zignorowane.
|
properties.virtualNetworkConfiguration
|
|
VirtualNetworkConfiguration
|
Konfiguracja sieci wirtualnej usługi API Management.
|
properties.virtualNetworkType
|
|
VirtualNetworkType
|
Typ sieci VPN, w której należy skonfigurować usługę API Management. Brak (wartość domyślna) oznacza, że usługa API Management nie jest częścią żadnego Virtual Network, zewnętrzne oznacza, że wdrożenie API Management jest skonfigurowane wewnątrz Virtual Network mającego punkt końcowy dostępny z Internetu, a wewnętrzny oznacza, że API Management wdrożenie jest konfigurowane wewnątrz Virtual Network tylko z punktem końcowym dostępnym w intranecie.
|
tags
|
|
object
|
Tagi zasobów.
|
zones
|
|
string[]
|
Lista stref dostępności oznaczających miejsce, z którego musi pochodzić zasób.
|
Odpowiedzi
Zabezpieczenia
azure_auth
Przepływ OAuth2 usługi Azure Active Directory.
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
Nazwa |
Opis |
user_impersonation
|
personifikacja konta użytkownika
|
Przykłady
ApiManagementCreateMultiRegionServiceWithCustomHostname
Sample Request
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1?api-version=2022-08-01
{
"properties": {
"hostnameConfigurations": [
{
"type": "Proxy",
"hostName": "gateway1.msitesting.net",
"encodedCertificate": "****** Base 64 Encoded Certificate ************",
"certificatePassword": "Password",
"defaultSslBinding": true
},
{
"type": "Management",
"hostName": "mgmt.msitesting.net",
"encodedCertificate": "****** Base 64 Encoded Certificate ************",
"certificatePassword": "Password"
},
{
"type": "Portal",
"hostName": "portal1.msitesting.net",
"encodedCertificate": "****** Base 64 Encoded Certificate ************",
"certificatePassword": "Password"
}
],
"publisherEmail": "apim@autorestsdk.com",
"publisherName": "autorestsdk",
"additionalLocations": [
{
"location": "East US",
"sku": {
"name": "Premium",
"capacity": 1
},
"disableGateway": true
}
],
"virtualNetworkType": "None",
"apiVersionConstraint": {
"minApiVersion": "2019-01-01"
}
},
"sku": {
"name": "Premium",
"capacity": 1
},
"location": "West US",
"tags": {
"tag1": "value1",
"tag2": "value2",
"tag3": "value3"
}
}
import com.azure.resourcemanager.apimanagement.models.AdditionalLocation;
import com.azure.resourcemanager.apimanagement.models.ApiManagementServiceSkuProperties;
import com.azure.resourcemanager.apimanagement.models.ApiVersionConstraint;
import com.azure.resourcemanager.apimanagement.models.HostnameConfiguration;
import com.azure.resourcemanager.apimanagement.models.HostnameType;
import com.azure.resourcemanager.apimanagement.models.SkuType;
import com.azure.resourcemanager.apimanagement.models.VirtualNetworkType;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
/** Samples for ApiManagementService CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateMultiRegionServiceWithCustomHostname.json
*/
/**
* Sample code: ApiManagementCreateMultiRegionServiceWithCustomHostname.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateMultiRegionServiceWithCustomHostname(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager
.apiManagementServices()
.define("apimService1")
.withRegion("West US")
.withExistingResourceGroup("rg1")
.withSku(new ApiManagementServiceSkuProperties().withName(SkuType.PREMIUM).withCapacity(1))
.withPublisherEmail("apim@autorestsdk.com")
.withPublisherName("autorestsdk")
.withTags(mapOf("tag1", "value1", "tag2", "value2", "tag3", "value3"))
.withHostnameConfigurations(
Arrays
.asList(
new HostnameConfiguration()
.withType(HostnameType.PROXY)
.withHostname("gateway1.msitesting.net")
.withEncodedCertificate("fakeTokenPlaceholder")
.withCertificatePassword("fakeTokenPlaceholder")
.withDefaultSslBinding(true),
new HostnameConfiguration()
.withType(HostnameType.MANAGEMENT)
.withHostname("mgmt.msitesting.net")
.withEncodedCertificate("fakeTokenPlaceholder")
.withCertificatePassword("fakeTokenPlaceholder"),
new HostnameConfiguration()
.withType(HostnameType.PORTAL)
.withHostname("portal1.msitesting.net")
.withEncodedCertificate("fakeTokenPlaceholder")
.withCertificatePassword("fakeTokenPlaceholder")))
.withAdditionalLocations(
Arrays
.asList(
new AdditionalLocation()
.withLocation("East US")
.withSku(new ApiManagementServiceSkuProperties().withName(SkuType.PREMIUM).withCapacity(1))
.withDisableGateway(true)))
.withVirtualNetworkType(VirtualNetworkType.NONE)
.withApiVersionConstraint(new ApiVersionConstraint().withMinApiVersion("2019-01-01"))
.create();
}
// Use "Map.of" if available
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_multi_region_service_with_custom_hostname.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.api_management_service.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
parameters={
"location": "West US",
"properties": {
"additionalLocations": [
{"disableGateway": True, "location": "East US", "sku": {"capacity": 1, "name": "Premium"}}
],
"apiVersionConstraint": {"minApiVersion": "2019-01-01"},
"hostnameConfigurations": [
{
"certificatePassword": "Password",
"defaultSslBinding": True,
"encodedCertificate": "****** Base 64 Encoded Certificate ************",
"hostName": "gateway1.msitesting.net",
"type": "Proxy",
},
{
"certificatePassword": "Password",
"encodedCertificate": "****** Base 64 Encoded Certificate ************",
"hostName": "mgmt.msitesting.net",
"type": "Management",
},
{
"certificatePassword": "Password",
"encodedCertificate": "****** Base 64 Encoded Certificate ************",
"hostName": "portal1.msitesting.net",
"type": "Portal",
},
],
"publisherEmail": "apim@autorestsdk.com",
"publisherName": "autorestsdk",
"virtualNetworkType": "None",
},
"sku": {"capacity": 1, "name": "Premium"},
"tags": {"tag1": "value1", "tag2": "value2", "tag3": "value3"},
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateMultiRegionServiceWithCustomHostname.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4cd95123fb961c68740565a1efcaa5e43bd35802/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateMultiRegionServiceWithCustomHostname.json
func ExampleServiceClient_BeginCreateOrUpdate_apiManagementCreateMultiRegionServiceWithCustomHostname() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armapimanagement.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewServiceClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", armapimanagement.ServiceResource{
Tags: map[string]*string{
"tag1": to.Ptr("value1"),
"tag2": to.Ptr("value2"),
"tag3": to.Ptr("value3"),
},
Location: to.Ptr("West US"),
Properties: &armapimanagement.ServiceProperties{
AdditionalLocations: []*armapimanagement.AdditionalLocation{
{
DisableGateway: to.Ptr(true),
Location: to.Ptr("East US"),
SKU: &armapimanagement.ServiceSKUProperties{
Name: to.Ptr(armapimanagement.SKUTypePremium),
Capacity: to.Ptr[int32](1),
},
}},
APIVersionConstraint: &armapimanagement.APIVersionConstraint{
MinAPIVersion: to.Ptr("2019-01-01"),
},
HostnameConfigurations: []*armapimanagement.HostnameConfiguration{
{
Type: to.Ptr(armapimanagement.HostnameTypeProxy),
CertificatePassword: to.Ptr("Password"),
DefaultSSLBinding: to.Ptr(true),
EncodedCertificate: to.Ptr("****** Base 64 Encoded Certificate ************"),
HostName: to.Ptr("gateway1.msitesting.net"),
},
{
Type: to.Ptr(armapimanagement.HostnameTypeManagement),
CertificatePassword: to.Ptr("Password"),
EncodedCertificate: to.Ptr("****** Base 64 Encoded Certificate ************"),
HostName: to.Ptr("mgmt.msitesting.net"),
},
{
Type: to.Ptr(armapimanagement.HostnameTypePortal),
CertificatePassword: to.Ptr("Password"),
EncodedCertificate: to.Ptr("****** Base 64 Encoded Certificate ************"),
HostName: to.Ptr("portal1.msitesting.net"),
}},
VirtualNetworkType: to.Ptr(armapimanagement.VirtualNetworkTypeNone),
PublisherEmail: to.Ptr("apim@autorestsdk.com"),
PublisherName: to.Ptr("autorestsdk"),
},
SKU: &armapimanagement.ServiceSKUProperties{
Name: to.Ptr(armapimanagement.SKUTypePremium),
Capacity: to.Ptr[int32](1),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ServiceResource = armapimanagement.ServiceResource{
// Name: to.Ptr("apimService1"),
// Type: to.Ptr("Microsoft.ApiManagement/service"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1"),
// Tags: map[string]*string{
// "tag1": to.Ptr("value1"),
// "tag2": to.Ptr("value2"),
// "tag3": to.Ptr("value3"),
// },
// Etag: to.Ptr("AAAAAAACXok="),
// Location: to.Ptr("West US"),
// Properties: &armapimanagement.ServiceProperties{
// AdditionalLocations: []*armapimanagement.AdditionalLocation{
// {
// DisableGateway: to.Ptr(true),
// GatewayRegionalURL: to.Ptr("https://apimService1-eastus-01.regional.azure-api.net"),
// Location: to.Ptr("East US"),
// PublicIPAddresses: []*string{
// to.Ptr("23.101.138.153")},
// SKU: &armapimanagement.ServiceSKUProperties{
// Name: to.Ptr(armapimanagement.SKUTypePremium),
// Capacity: to.Ptr[int32](1),
// },
// }},
// APIVersionConstraint: &armapimanagement.APIVersionConstraint{
// MinAPIVersion: to.Ptr("2019-01-01"),
// },
// CreatedAtUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-12-18T06:26:20.334Z"); return t}()),
// CustomProperties: map[string]*string{
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": to.Ptr("False"),
// },
// DeveloperPortalURL: to.Ptr("https://apimService1.developer.azure-api.net"),
// DisableGateway: to.Ptr(false),
// GatewayRegionalURL: to.Ptr("https://apimService1-westus-01.regional.azure-api.net"),
// GatewayURL: to.Ptr("https://apimService1.azure-api.net"),
// HostnameConfigurations: []*armapimanagement.HostnameConfiguration{
// {
// Type: to.Ptr(armapimanagement.HostnameTypeProxy),
// DefaultSSLBinding: to.Ptr(false),
// HostName: to.Ptr("apimService1.azure-api.net"),
// NegotiateClientCertificate: to.Ptr(false),
// },
// {
// Type: to.Ptr(armapimanagement.HostnameTypeProxy),
// Certificate: &armapimanagement.CertificateInformation{
// Expiry: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2036-01-01T07:00:00.000Z"); return t}()),
// Subject: to.Ptr("CN=*.msitesting.net"),
// Thumbprint: to.Ptr("8E989XXXXXXXXXXXXXXXXF1D174FDB3A2"),
// },
// DefaultSSLBinding: to.Ptr(true),
// HostName: to.Ptr("gateway1.msitesting.net"),
// NegotiateClientCertificate: to.Ptr(false),
// },
// {
// Type: to.Ptr(armapimanagement.HostnameTypeManagement),
// Certificate: &armapimanagement.CertificateInformation{
// Expiry: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2036-01-01T07:00:00.000Z"); return t}()),
// Subject: to.Ptr("CN=*.msitesting.net"),
// Thumbprint: to.Ptr("8E989XXXXXXXXXXXXXXXXF1D174FDB3A2"),
// },
// DefaultSSLBinding: to.Ptr(false),
// HostName: to.Ptr("mgmt.msitesting.net"),
// NegotiateClientCertificate: to.Ptr(false),
// },
// {
// Type: to.Ptr(armapimanagement.HostnameTypePortal),
// Certificate: &armapimanagement.CertificateInformation{
// Expiry: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2036-01-01T07:00:00.000Z"); return t}()),
// Subject: to.Ptr("CN=*.msitesting.net"),
// Thumbprint: to.Ptr("8E989XXXXXXXXXXXXXXXXF1D174FDB3A2"),
// },
// DefaultSSLBinding: to.Ptr(false),
// HostName: to.Ptr("portal1.msitesting.net"),
// NegotiateClientCertificate: to.Ptr(false),
// }},
// ManagementAPIURL: to.Ptr("https://apimService1.management.azure-api.net"),
// NotificationSenderEmail: to.Ptr("apimgmt-noreply@mail.windowsazure.com"),
// PortalURL: to.Ptr("https://apimService1.portal.azure-api.net"),
// ProvisioningState: to.Ptr("Succeeded"),
// PublicIPAddresses: []*string{
// to.Ptr("13.91.32.113")},
// ScmURL: to.Ptr("https://apimService1.scm.azure-api.net"),
// TargetProvisioningState: to.Ptr(""),
// VirtualNetworkType: to.Ptr(armapimanagement.VirtualNetworkTypeNone),
// PublisherEmail: to.Ptr("apim@autorestsdk.com"),
// PublisherName: to.Ptr("autorestsdk"),
// },
// SKU: &armapimanagement.ServiceSKUProperties{
// Name: to.Ptr(armapimanagement.SKUTypePremium),
// Capacity: to.Ptr[int32](1),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { ApiManagementClient } = require("@azure/arm-apimanagement");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates an API Management service. This is long running operation and could take several minutes to complete.
*
* @summary Creates or updates an API Management service. This is long running operation and could take several minutes to complete.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateMultiRegionServiceWithCustomHostname.json
*/
async function apiManagementCreateMultiRegionServiceWithCustomHostname() {
const subscriptionId = process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const parameters = {
additionalLocations: [
{
disableGateway: true,
location: "East US",
sku: { name: "Premium", capacity: 1 },
},
],
apiVersionConstraint: { minApiVersion: "2019-01-01" },
hostnameConfigurations: [
{
type: "Proxy",
certificatePassword: "Password",
defaultSslBinding: true,
encodedCertificate: "****** Base 64 Encoded Certificate ************",
hostName: "gateway1.msitesting.net",
},
{
type: "Management",
certificatePassword: "Password",
encodedCertificate: "****** Base 64 Encoded Certificate ************",
hostName: "mgmt.msitesting.net",
},
{
type: "Portal",
certificatePassword: "Password",
encodedCertificate: "****** Base 64 Encoded Certificate ************",
hostName: "portal1.msitesting.net",
},
],
location: "West US",
publisherEmail: "apim@autorestsdk.com",
publisherName: "autorestsdk",
sku: { name: "Premium", capacity: 1 },
tags: { tag1: "value1", tag2: "value2", tag3: "value3" },
virtualNetworkType: "None",
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.apiManagementService.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
Location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/ZWFzdHVzOmFuZHktdGVzdGluZy0yMDIyLTA0LTAxLXByZXZpZXctNF9BY3RfODQ2ZWE4Ng==?api-version=2022-08-01&asyncResponse
Azure-AsyncOperation: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/ZWFzdHVzOmFuZHktdGVzdGluZy0yMDIyLTA0LTAxLXByZXZpZXctNF9BY3RfODQ2ZWE4Ng==?api-version=2022-08-01&asyncResponse
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
"name": "apimService1",
"type": "Microsoft.ApiManagement/service",
"tags": {
"tag1": "value1",
"tag2": "value2",
"tag3": "value3"
},
"location": "West US",
"etag": "AAAAAAACXoo=",
"properties": {
"publisherEmail": "apim@autorestsdk.com",
"publisherName": "autorestsdk",
"notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
"provisioningState": "Created",
"targetProvisioningState": "Activating",
"createdAtUtc": "2019-12-18T08:04:26.9492661Z",
"hostnameConfigurations": [
{
"type": "Proxy",
"hostName": "apimService1.azure-api.net",
"negotiateClientCertificate": false,
"defaultSslBinding": false
},
{
"type": "Proxy",
"hostName": "gateway1.msitesting.net",
"negotiateClientCertificate": false,
"certificate": {
"expiry": "2036-01-01T07:00:00+00:00",
"thumbprint": "8E989XXXXXXXXXXXXXXXXF1D174FDB3A2",
"subject": "CN=*.msitesting.net"
},
"defaultSslBinding": true
},
{
"type": "Management",
"hostName": "mgmt.msitesting.net",
"negotiateClientCertificate": false,
"certificate": {
"expiry": "2036-01-01T07:00:00+00:00",
"thumbprint": "8E989XXXXXXXXXXXXXXXXF1D174FDB3A2",
"subject": "CN=*.msitesting.net"
},
"defaultSslBinding": false
},
{
"type": "Portal",
"hostName": "portal1.msitesting.net",
"negotiateClientCertificate": false,
"certificate": {
"expiry": "2036-01-01T07:00:00+00:00",
"thumbprint": "8E989XXXXXXXXXXXXXXXXF1D174FDB3A2",
"subject": "CN=*.msitesting.net"
},
"defaultSslBinding": false
}
],
"additionalLocations": [
{
"location": "East US",
"sku": {
"name": "Premium",
"capacity": 1
},
"disableGateway": true
}
],
"virtualNetworkType": "None",
"disableGateway": false,
"apiVersionConstraint": {
"minApiVersion": "2019-01-01"
}
},
"sku": {
"name": "Premium",
"capacity": 1
}
}
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
"name": "apimService1",
"type": "Microsoft.ApiManagement/service",
"tags": {
"tag1": "value1",
"tag2": "value2",
"tag3": "value3"
},
"location": "West US",
"etag": "AAAAAAACXok=",
"properties": {
"publisherEmail": "apim@autorestsdk.com",
"publisherName": "autorestsdk",
"notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
"provisioningState": "Succeeded",
"targetProvisioningState": "",
"createdAtUtc": "2019-12-18T06:26:20.3348609Z",
"gatewayUrl": "https://apimService1.azure-api.net",
"gatewayRegionalUrl": "https://apimService1-westus-01.regional.azure-api.net",
"portalUrl": "https://apimService1.portal.azure-api.net",
"developerPortalUrl": "https://apimService1.developer.azure-api.net",
"managementApiUrl": "https://apimService1.management.azure-api.net",
"scmUrl": "https://apimService1.scm.azure-api.net",
"hostnameConfigurations": [
{
"type": "Proxy",
"hostName": "apimService1.azure-api.net",
"negotiateClientCertificate": false,
"defaultSslBinding": false
},
{
"type": "Proxy",
"hostName": "gateway1.msitesting.net",
"negotiateClientCertificate": false,
"certificate": {
"expiry": "2036-01-01T07:00:00+00:00",
"thumbprint": "8E989XXXXXXXXXXXXXXXXF1D174FDB3A2",
"subject": "CN=*.msitesting.net"
},
"defaultSslBinding": true
},
{
"type": "Management",
"hostName": "mgmt.msitesting.net",
"negotiateClientCertificate": false,
"certificate": {
"expiry": "2036-01-01T07:00:00+00:00",
"thumbprint": "8E989XXXXXXXXXXXXXXXXF1D174FDB3A2",
"subject": "CN=*.msitesting.net"
},
"defaultSslBinding": false
},
{
"type": "Portal",
"hostName": "portal1.msitesting.net",
"negotiateClientCertificate": false,
"certificate": {
"expiry": "2036-01-01T07:00:00+00:00",
"thumbprint": "8E989XXXXXXXXXXXXXXXXF1D174FDB3A2",
"subject": "CN=*.msitesting.net"
},
"defaultSslBinding": false
}
],
"publicIPAddresses": [
"13.91.32.113"
],
"additionalLocations": [
{
"location": "East US",
"sku": {
"name": "Premium",
"capacity": 1
},
"publicIPAddresses": [
"23.101.138.153"
],
"gatewayRegionalUrl": "https://apimService1-eastus-01.regional.azure-api.net",
"disableGateway": true
}
],
"customProperties": {
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
},
"virtualNetworkType": "None",
"disableGateway": false,
"apiVersionConstraint": {
"minApiVersion": "2019-01-01"
}
},
"sku": {
"name": "Premium",
"capacity": 1
}
}
ApiManagementCreateService
Sample Request
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1?api-version=2022-08-01
{
"properties": {
"publisherEmail": "foo@contoso.com",
"publisherName": "foo"
},
"sku": {
"name": "Developer",
"capacity": 1
},
"location": "South Central US",
"tags": {
"Name": "Contoso",
"Test": "User"
}
}
import com.azure.resourcemanager.apimanagement.models.ApiManagementServiceSkuProperties;
import com.azure.resourcemanager.apimanagement.models.SkuType;
import java.util.HashMap;
import java.util.Map;
/** Samples for ApiManagementService CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateService.json
*/
/**
* Sample code: ApiManagementCreateService.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateService(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager
.apiManagementServices()
.define("apimService1")
.withRegion("South Central US")
.withExistingResourceGroup("rg1")
.withSku(new ApiManagementServiceSkuProperties().withName(SkuType.DEVELOPER).withCapacity(1))
.withPublisherEmail("foo@contoso.com")
.withPublisherName("foo")
.withTags(mapOf("Name", "Contoso", "Test", "User"))
.create();
}
// Use "Map.of" if available
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_service.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.api_management_service.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
parameters={
"location": "South Central US",
"properties": {"publisherEmail": "foo@contoso.com", "publisherName": "foo"},
"sku": {"capacity": 1, "name": "Developer"},
"tags": {"Name": "Contoso", "Test": "User"},
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateService.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4cd95123fb961c68740565a1efcaa5e43bd35802/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateService.json
func ExampleServiceClient_BeginCreateOrUpdate_apiManagementCreateService() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armapimanagement.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewServiceClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", armapimanagement.ServiceResource{
Tags: map[string]*string{
"Name": to.Ptr("Contoso"),
"Test": to.Ptr("User"),
},
Location: to.Ptr("South Central US"),
Properties: &armapimanagement.ServiceProperties{
PublisherEmail: to.Ptr("foo@contoso.com"),
PublisherName: to.Ptr("foo"),
},
SKU: &armapimanagement.ServiceSKUProperties{
Name: to.Ptr(armapimanagement.SKUTypeDeveloper),
Capacity: to.Ptr[int32](1),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ServiceResource = armapimanagement.ServiceResource{
// Name: to.Ptr("apimService1"),
// Type: to.Ptr("Microsoft.ApiManagement/service"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1"),
// Tags: map[string]*string{
// "api-version": to.Ptr("2022-08-01"),
// },
// Etag: to.Ptr("AAAAAAAmREI="),
// Location: to.Ptr("East US"),
// Properties: &armapimanagement.ServiceProperties{
// CreatedAtUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-07-11T18:41:01.250Z"); return t}()),
// CustomProperties: map[string]*string{
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": to.Ptr("False"),
// },
// DeveloperPortalURL: to.Ptr("https://apimService1.developer.azure-api.net"),
// DisableGateway: to.Ptr(false),
// GatewayRegionalURL: to.Ptr("https://apimService1-eastus-01.regional.azure-api.net"),
// GatewayURL: to.Ptr("https://apimService1.azure-api.net"),
// HostnameConfigurations: []*armapimanagement.HostnameConfiguration{
// {
// Type: to.Ptr(armapimanagement.HostnameTypeProxy),
// CertificateSource: to.Ptr(armapimanagement.CertificateSourceBuiltIn),
// DefaultSSLBinding: to.Ptr(true),
// HostName: to.Ptr("apimService1.azure-api.net"),
// NegotiateClientCertificate: to.Ptr(false),
// }},
// ManagementAPIURL: to.Ptr("https://apimService1.management.azure-api.net"),
// NotificationSenderEmail: to.Ptr("apimgmt-noreply@mail.windowsazure.com"),
// PlatformVersion: to.Ptr(armapimanagement.PlatformVersionStv1),
// PortalURL: to.Ptr("https://apimService1.portal.azure-api.net"),
// ProvisioningState: to.Ptr("Succeeded"),
// PublicIPAddresses: []*string{
// to.Ptr("13.90.229.33")},
// PublicNetworkAccess: to.Ptr(armapimanagement.PublicNetworkAccessEnabled),
// ScmURL: to.Ptr("https://apimService1.scm.azure-api.net"),
// TargetProvisioningState: to.Ptr(""),
// VirtualNetworkType: to.Ptr(armapimanagement.VirtualNetworkTypeNone),
// PublisherEmail: to.Ptr("samir@microsoft.com"),
// PublisherName: to.Ptr("foo"),
// },
// SKU: &armapimanagement.ServiceSKUProperties{
// Name: to.Ptr(armapimanagement.SKUTypeStandard),
// Capacity: to.Ptr[int32](1),
// },
// SystemData: &armapimanagement.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-07-11T18:41:00.939Z"); return t}()),
// CreatedBy: to.Ptr("user@contoso.com"),
// CreatedByType: to.Ptr(armapimanagement.CreatedByTypeUser),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-07-11T18:41:00.939Z"); return t}()),
// LastModifiedBy: to.Ptr("user@contoso.com"),
// LastModifiedByType: to.Ptr(armapimanagement.CreatedByTypeUser),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { ApiManagementClient } = require("@azure/arm-apimanagement");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates an API Management service. This is long running operation and could take several minutes to complete.
*
* @summary Creates or updates an API Management service. This is long running operation and could take several minutes to complete.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateService.json
*/
async function apiManagementCreateService() {
const subscriptionId = process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const parameters = {
location: "South Central US",
publisherEmail: "foo@contoso.com",
publisherName: "foo",
sku: { name: "Developer", capacity: 1 },
tags: { name: "Contoso", test: "User" },
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.apiManagementService.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
Location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/ZWFzdHVzOmFuZHktdGVzdGluZy0yMDIyLTA0LTAxLXByZXZpZXctNF9BY3RfODQ2ZWE4Ng==?api-version=2022-08-01&asyncResponse
Azure-AsyncOperation: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/ZWFzdHVzOmFuZHktdGVzdGluZy0yMDIyLTA0LTAxLXByZXZpZXctNF9BY3RfODQ2ZWE4Ng==?api-version=2022-08-01&asyncResponse
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
"name": "apimService1",
"type": "Microsoft.ApiManagement/service",
"tags": {
"api-version": "2022-08-01"
},
"location": "East US",
"etag": "AAAAAAAmRAM=",
"properties": {
"publisherEmail": "samir@microsoft.com",
"publisherName": "foo",
"notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
"provisioningState": "Created",
"targetProvisioningState": "Activating",
"createdAtUtc": "2022-07-11T18:41:01.2506031Z",
"gatewayUrl": "https://apimService1.azure-api.net",
"hostnameConfigurations": [
{
"type": "Proxy",
"hostName": "apimService1.azure-api.net",
"negotiateClientCertificate": false,
"defaultSslBinding": true,
"certificateSource": "BuiltIn"
}
],
"virtualNetworkType": "None",
"disableGateway": false,
"publicNetworkAccess": "Enabled",
"platformVersion": "undetermined"
},
"sku": {
"name": "Standard",
"capacity": 1
},
"systemData": {
"createdBy": "user@contoso.com",
"createdByType": "User",
"createdAt": "2022-07-11T18:41:00.9390609Z",
"lastModifiedBy": "user@contoso.com",
"lastModifiedByType": "User",
"lastModifiedAt": "2022-07-11T18:41:00.9390609Z"
}
}
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
"name": "apimService1",
"type": "Microsoft.ApiManagement/service",
"tags": {
"api-version": "2022-08-01"
},
"location": "East US",
"etag": "AAAAAAAmREI=",
"properties": {
"publisherEmail": "samir@microsoft.com",
"publisherName": "foo",
"notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
"provisioningState": "Succeeded",
"targetProvisioningState": "",
"createdAtUtc": "2022-07-11T18:41:01.2506031Z",
"gatewayUrl": "https://apimService1.azure-api.net",
"gatewayRegionalUrl": "https://apimService1-eastus-01.regional.azure-api.net",
"portalUrl": "https://apimService1.portal.azure-api.net",
"developerPortalUrl": "https://apimService1.developer.azure-api.net",
"managementApiUrl": "https://apimService1.management.azure-api.net",
"scmUrl": "https://apimService1.scm.azure-api.net",
"hostnameConfigurations": [
{
"type": "Proxy",
"hostName": "apimService1.azure-api.net",
"negotiateClientCertificate": false,
"defaultSslBinding": true,
"certificateSource": "BuiltIn"
}
],
"publicIPAddresses": [
"13.90.229.33"
],
"customProperties": {
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
},
"virtualNetworkType": "None",
"disableGateway": false,
"publicNetworkAccess": "Enabled",
"platformVersion": "stv1"
},
"sku": {
"name": "Standard",
"capacity": 1
},
"systemData": {
"createdBy": "user@contoso.com",
"createdByType": "User",
"createdAt": "2022-07-11T18:41:00.9390609Z",
"lastModifiedBy": "user@contoso.com",
"lastModifiedByType": "User",
"lastModifiedAt": "2022-07-11T18:41:00.9390609Z"
}
}
ApiManagementCreateServiceHavingMsi
Sample Request
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1?api-version=2022-08-01
{
"properties": {
"publisherEmail": "apim@autorestsdk.com",
"publisherName": "autorestsdk"
},
"sku": {
"name": "Consumption",
"capacity": 0
},
"identity": {
"type": "SystemAssigned"
},
"location": "West US",
"tags": {
"tag1": "value1",
"tag2": "value2",
"tag3": "value3"
}
}
import com.azure.resourcemanager.apimanagement.models.ApiManagementServiceIdentity;
import com.azure.resourcemanager.apimanagement.models.ApiManagementServiceSkuProperties;
import com.azure.resourcemanager.apimanagement.models.ApimIdentityType;
import com.azure.resourcemanager.apimanagement.models.SkuType;
import java.util.HashMap;
import java.util.Map;
/** Samples for ApiManagementService CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateServiceHavingMsi.json
*/
/**
* Sample code: ApiManagementCreateServiceHavingMsi.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateServiceHavingMsi(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager
.apiManagementServices()
.define("apimService1")
.withRegion("West US")
.withExistingResourceGroup("rg1")
.withSku(new ApiManagementServiceSkuProperties().withName(SkuType.CONSUMPTION).withCapacity(0))
.withPublisherEmail("apim@autorestsdk.com")
.withPublisherName("autorestsdk")
.withTags(mapOf("tag1", "value1", "tag2", "value2", "tag3", "value3"))
.withIdentity(new ApiManagementServiceIdentity().withType(ApimIdentityType.SYSTEM_ASSIGNED))
.create();
}
// Use "Map.of" if available
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_service_having_msi.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.api_management_service.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
parameters={
"identity": {"type": "SystemAssigned"},
"location": "West US",
"properties": {"publisherEmail": "apim@autorestsdk.com", "publisherName": "autorestsdk"},
"sku": {"capacity": 0, "name": "Consumption"},
"tags": {"tag1": "value1", "tag2": "value2", "tag3": "value3"},
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateServiceHavingMsi.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4cd95123fb961c68740565a1efcaa5e43bd35802/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateServiceHavingMsi.json
func ExampleServiceClient_BeginCreateOrUpdate_apiManagementCreateServiceHavingMsi() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armapimanagement.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewServiceClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", armapimanagement.ServiceResource{
Tags: map[string]*string{
"tag1": to.Ptr("value1"),
"tag2": to.Ptr("value2"),
"tag3": to.Ptr("value3"),
},
Identity: &armapimanagement.ServiceIdentity{
Type: to.Ptr(armapimanagement.ApimIdentityTypeSystemAssigned),
},
Location: to.Ptr("West US"),
Properties: &armapimanagement.ServiceProperties{
PublisherEmail: to.Ptr("apim@autorestsdk.com"),
PublisherName: to.Ptr("autorestsdk"),
},
SKU: &armapimanagement.ServiceSKUProperties{
Name: to.Ptr(armapimanagement.SKUTypeConsumption),
Capacity: to.Ptr[int32](0),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ServiceResource = armapimanagement.ServiceResource{
// Name: to.Ptr("apimService1"),
// Type: to.Ptr("Microsoft.ApiManagement/service"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1"),
// Tags: map[string]*string{
// "tag1": to.Ptr("value1"),
// "tag2": to.Ptr("value2"),
// "tag3": to.Ptr("value3"),
// },
// Etag: to.Ptr("AAAAAAAAWiU="),
// Identity: &armapimanagement.ServiceIdentity{
// Type: to.Ptr(armapimanagement.ApimIdentityTypeSystemAssigned),
// PrincipalID: to.Ptr("dfb9a757-df69-4966-a8d0-711a9cd8ffb4"),
// TenantID: to.Ptr("00000000-86f1-41af-91ab-2d7cd011db47"),
// },
// Location: to.Ptr("West US"),
// Properties: &armapimanagement.ServiceProperties{
// CreatedAtUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-04-11T16:29:29.971Z"); return t}()),
// EnableClientCertificate: to.Ptr(false),
// GatewayURL: to.Ptr("https://apimService1.azure-api.net"),
// HostnameConfigurations: []*armapimanagement.HostnameConfiguration{
// {
// Type: to.Ptr(armapimanagement.HostnameTypeProxy),
// CertificateSource: to.Ptr(armapimanagement.CertificateSourceBuiltIn),
// DefaultSSLBinding: to.Ptr(true),
// HostName: to.Ptr("apimService1.azure-api.net"),
// NegotiateClientCertificate: to.Ptr(false),
// }},
// NotificationSenderEmail: to.Ptr("apimgmt-noreply@mail.windowsazure.com"),
// PlatformVersion: to.Ptr(armapimanagement.PlatformVersionMtv1),
// ProvisioningState: to.Ptr("Succeeded"),
// TargetProvisioningState: to.Ptr(""),
// VirtualNetworkType: to.Ptr(armapimanagement.VirtualNetworkTypeNone),
// PublisherEmail: to.Ptr("apim@autorestsdk.com"),
// PublisherName: to.Ptr("autorestsdk"),
// },
// SKU: &armapimanagement.ServiceSKUProperties{
// Name: to.Ptr(armapimanagement.SKUTypeConsumption),
// Capacity: to.Ptr[int32](0),
// },
// SystemData: &armapimanagement.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-01T01:01:01.107Z"); return t}()),
// CreatedBy: to.Ptr("string"),
// CreatedByType: to.Ptr(armapimanagement.CreatedByTypeApplication),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-02T02:03:01.197Z"); return t}()),
// LastModifiedBy: to.Ptr("string"),
// LastModifiedByType: to.Ptr(armapimanagement.CreatedByTypeApplication),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { ApiManagementClient } = require("@azure/arm-apimanagement");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates an API Management service. This is long running operation and could take several minutes to complete.
*
* @summary Creates or updates an API Management service. This is long running operation and could take several minutes to complete.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateServiceHavingMsi.json
*/
async function apiManagementCreateServiceHavingMsi() {
const subscriptionId = process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const parameters = {
identity: { type: "SystemAssigned" },
location: "West US",
publisherEmail: "apim@autorestsdk.com",
publisherName: "autorestsdk",
sku: { name: "Consumption", capacity: 0 },
tags: { tag1: "value1", tag2: "value2", tag3: "value3" },
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.apiManagementService.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
Location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/ZWFzdHVzOmFuZHktdGVzdGluZy0yMDIyLTA0LTAxLXByZXZpZXctNF9BY3RfODQ2ZWE4Ng==?api-version=2022-08-01&asyncResponse
Azure-AsyncOperation: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/ZWFzdHVzOmFuZHktdGVzdGluZy0yMDIyLTA0LTAxLXByZXZpZXctNF9BY3RfODQ2ZWE4Ng==?api-version=2022-08-01&asyncResponse
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
"name": "apimService1",
"type": "Microsoft.ApiManagement/service",
"tags": {
"tag1": "value1",
"tag2": "value2",
"tag3": "value3"
},
"location": "West US",
"etag": "AAAAAAAAWiE=",
"properties": {
"publisherEmail": "apim@autorestsdk.com",
"publisherName": "autorestsdk",
"notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
"provisioningState": "Created",
"targetProvisioningState": "Activating",
"createdAtUtc": "2019-04-11T16:29:29.9711098Z",
"hostnameConfigurations": [
{
"type": "Proxy",
"hostName": "apimService1.azure-api.net",
"negotiateClientCertificate": false,
"defaultSslBinding": true
}
],
"virtualNetworkType": "None"
},
"sku": {
"name": "Consumption",
"capacity": 0
},
"identity": {
"type": "SystemAssigned",
"principalId": "dfb9a757-df69-4966-a8d0-711a9cd8ffb4",
"tenantId": "00000000-86f1-41af-91ab-2d7cd011db47"
},
"systemData": {
"createdBy": "string",
"createdByType": "Application",
"createdAt": "2020-02-01T01:01:01.1075056Z",
"lastModifiedBy": "string",
"lastModifiedByType": "Application",
"lastModifiedAt": "2020-02-02T02:03:01.1974346Z"
}
}
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
"name": "apimService1",
"type": "Microsoft.ApiManagement/service",
"tags": {
"tag1": "value1",
"tag2": "value2",
"tag3": "value3"
},
"location": "West US",
"etag": "AAAAAAAAWiU=",
"properties": {
"publisherEmail": "apim@autorestsdk.com",
"publisherName": "autorestsdk",
"notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
"provisioningState": "Succeeded",
"targetProvisioningState": "",
"createdAtUtc": "2019-04-11T16:29:29.9711098Z",
"gatewayUrl": "https://apimService1.azure-api.net",
"hostnameConfigurations": [
{
"type": "Proxy",
"hostName": "apimService1.azure-api.net",
"negotiateClientCertificate": false,
"defaultSslBinding": true,
"certificateSource": "BuiltIn"
}
],
"virtualNetworkType": "None",
"enableClientCertificate": false,
"platformVersion": "mtv1"
},
"sku": {
"name": "Consumption",
"capacity": 0
},
"identity": {
"type": "SystemAssigned",
"principalId": "dfb9a757-df69-4966-a8d0-711a9cd8ffb4",
"tenantId": "00000000-86f1-41af-91ab-2d7cd011db47"
},
"systemData": {
"createdBy": "string",
"createdByType": "Application",
"createdAt": "2020-02-01T01:01:01.1075056Z",
"lastModifiedBy": "string",
"lastModifiedByType": "Application",
"lastModifiedAt": "2020-02-02T02:03:01.1974346Z"
}
}
ApiManagementCreateServiceInVnetWithPublicIP
Sample Request
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1?api-version=2022-08-01
{
"properties": {
"publisherEmail": "apim@autorestsdk.com",
"publisherName": "autorestsdk",
"virtualNetworkConfiguration": {
"subnetResourceId": "/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/virtualNetworks/apimcus/subnets/tenant"
},
"publicIpAddressId": "/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/publicIPAddresses/apimazvnet",
"virtualNetworkType": "External"
},
"sku": {
"name": "Premium",
"capacity": 2
},
"zones": [
"1",
"2"
],
"location": "East US 2 EUAP",
"tags": {
"tag1": "value1",
"tag2": "value2",
"tag3": "value3"
}
}
import com.azure.resourcemanager.apimanagement.models.ApiManagementServiceSkuProperties;
import com.azure.resourcemanager.apimanagement.models.SkuType;
import com.azure.resourcemanager.apimanagement.models.VirtualNetworkConfiguration;
import com.azure.resourcemanager.apimanagement.models.VirtualNetworkType;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
/** Samples for ApiManagementService CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateServiceInVnetWithPublicIP.json
*/
/**
* Sample code: ApiManagementCreateServiceInVnetWithPublicIP.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateServiceInVnetWithPublicIP(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager
.apiManagementServices()
.define("apimService1")
.withRegion("East US 2 EUAP")
.withExistingResourceGroup("rg1")
.withSku(new ApiManagementServiceSkuProperties().withName(SkuType.PREMIUM).withCapacity(2))
.withPublisherEmail("apim@autorestsdk.com")
.withPublisherName("autorestsdk")
.withTags(mapOf("tag1", "value1", "tag2", "value2", "tag3", "value3"))
.withZones(Arrays.asList("1", "2"))
.withPublicIpAddressId(
"/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/publicIPAddresses/apimazvnet")
.withVirtualNetworkConfiguration(
new VirtualNetworkConfiguration()
.withSubnetResourceId(
"/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/virtualNetworks/apimcus/subnets/tenant"))
.withVirtualNetworkType(VirtualNetworkType.EXTERNAL)
.create();
}
// Use "Map.of" if available
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_service_in_vnet_with_public_ip.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.api_management_service.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
parameters={
"location": "East US 2 EUAP",
"properties": {
"publicIpAddressId": "/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/publicIPAddresses/apimazvnet",
"publisherEmail": "apim@autorestsdk.com",
"publisherName": "autorestsdk",
"virtualNetworkConfiguration": {
"subnetResourceId": "/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/virtualNetworks/apimcus/subnets/tenant"
},
"virtualNetworkType": "External",
},
"sku": {"capacity": 2, "name": "Premium"},
"tags": {"tag1": "value1", "tag2": "value2", "tag3": "value3"},
"zones": ["1", "2"],
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateServiceInVnetWithPublicIP.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4cd95123fb961c68740565a1efcaa5e43bd35802/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateServiceInVnetWithPublicIP.json
func ExampleServiceClient_BeginCreateOrUpdate_apiManagementCreateServiceInVnetWithPublicIp() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armapimanagement.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewServiceClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", armapimanagement.ServiceResource{
Tags: map[string]*string{
"tag1": to.Ptr("value1"),
"tag2": to.Ptr("value2"),
"tag3": to.Ptr("value3"),
},
Location: to.Ptr("East US 2 EUAP"),
Properties: &armapimanagement.ServiceProperties{
PublicIPAddressID: to.Ptr("/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/publicIPAddresses/apimazvnet"),
VirtualNetworkConfiguration: &armapimanagement.VirtualNetworkConfiguration{
SubnetResourceID: to.Ptr("/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/virtualNetworks/apimcus/subnets/tenant"),
},
VirtualNetworkType: to.Ptr(armapimanagement.VirtualNetworkTypeExternal),
PublisherEmail: to.Ptr("apim@autorestsdk.com"),
PublisherName: to.Ptr("autorestsdk"),
},
SKU: &armapimanagement.ServiceSKUProperties{
Name: to.Ptr(armapimanagement.SKUTypePremium),
Capacity: to.Ptr[int32](2),
},
Zones: []*string{
to.Ptr("1"),
to.Ptr("2")},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ServiceResource = armapimanagement.ServiceResource{
// Name: to.Ptr("apimService1"),
// Type: to.Ptr("Microsoft.ApiManagement/service"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.ApiManagement/service/apimService1"),
// Tags: map[string]*string{
// "tag1": to.Ptr("value1"),
// "tag2": to.Ptr("value2"),
// "tag3": to.Ptr("value3"),
// },
// Etag: to.Ptr("AAAAAAAGTAs="),
// Location: to.Ptr("East US 2 EUAP"),
// Properties: &armapimanagement.ServiceProperties{
// CreatedAtUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-02-22T06:53:46.640Z"); return t}()),
// CustomProperties: map[string]*string{
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": to.Ptr("False"),
// },
// DeveloperPortalURL: to.Ptr("https://apimService1.developer.azure-api.net"),
// DisableGateway: to.Ptr(false),
// GatewayRegionalURL: to.Ptr("https://apimService1-eastus2euap-01.regional.azure-api.net"),
// GatewayURL: to.Ptr("https://apimService1.azure-api.net"),
// HostnameConfigurations: []*armapimanagement.HostnameConfiguration{
// {
// Type: to.Ptr(armapimanagement.HostnameTypeProxy),
// DefaultSSLBinding: to.Ptr(true),
// HostName: to.Ptr("apimService1.azure-api.net"),
// NegotiateClientCertificate: to.Ptr(false),
// }},
// ManagementAPIURL: to.Ptr("https://apimService1.management.azure-api.net"),
// NotificationSenderEmail: to.Ptr("apimgmt-noreply@mail.windowsazure.com"),
// PlatformVersion: to.Ptr(armapimanagement.PlatformVersionStv2),
// PortalURL: to.Ptr("https://apimService1.portal.azure-api.net"),
// ProvisioningState: to.Ptr("Succeeded"),
// PublicIPAddresses: []*string{
// to.Ptr("20.47.137.XXX")},
// PublicIPAddressID: to.Ptr("/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/publicIPAddresses/apimazvnet"),
// ScmURL: to.Ptr("https://apimService1.scm.azure-api.net"),
// TargetProvisioningState: to.Ptr(""),
// VirtualNetworkConfiguration: &armapimanagement.VirtualNetworkConfiguration{
// SubnetResourceID: to.Ptr("/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/virtualNetworks/apimcus/subnets/tenant"),
// },
// VirtualNetworkType: to.Ptr(armapimanagement.VirtualNetworkTypeExternal),
// PublisherEmail: to.Ptr("apim@autorestsdk.com"),
// PublisherName: to.Ptr("autorestsdk"),
// },
// SKU: &armapimanagement.ServiceSKUProperties{
// Name: to.Ptr(armapimanagement.SKUTypePremium),
// Capacity: to.Ptr[int32](2),
// },
// SystemData: &armapimanagement.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-01T01:01:01.107Z"); return t}()),
// CreatedBy: to.Ptr("string"),
// CreatedByType: to.Ptr(armapimanagement.CreatedByTypeApplication),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-02T02:03:01.197Z"); return t}()),
// LastModifiedBy: to.Ptr("string"),
// LastModifiedByType: to.Ptr(armapimanagement.CreatedByTypeApplication),
// },
// Zones: []*string{
// to.Ptr("1"),
// to.Ptr("2")},
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { ApiManagementClient } = require("@azure/arm-apimanagement");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates an API Management service. This is long running operation and could take several minutes to complete.
*
* @summary Creates or updates an API Management service. This is long running operation and could take several minutes to complete.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateServiceInVnetWithPublicIP.json
*/
async function apiManagementCreateServiceInVnetWithPublicIP() {
const subscriptionId = process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const parameters = {
location: "East US 2 EUAP",
publicIpAddressId:
"/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/publicIPAddresses/apimazvnet",
publisherEmail: "apim@autorestsdk.com",
publisherName: "autorestsdk",
sku: { name: "Premium", capacity: 2 },
tags: { tag1: "value1", tag2: "value2", tag3: "value3" },
virtualNetworkConfiguration: {
subnetResourceId:
"/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/virtualNetworks/apimcus/subnets/tenant",
},
virtualNetworkType: "External",
zones: ["1", "2"],
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.apiManagementService.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
Location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/ZWFzdHVzOmFuZHktdGVzdGluZy0yMDIyLTA0LTAxLXByZXZpZXctNF9BY3RfODQ2ZWE4Ng==?api-version=2022-08-01&asyncResponse
Azure-AsyncOperation: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/ZWFzdHVzOmFuZHktdGVzdGluZy0yMDIyLTA0LTAxLXByZXZpZXctNF9BY3RfODQ2ZWE4Ng==?api-version=2022-08-01&asyncResponse
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
"name": "apimService1",
"type": "Microsoft.ApiManagement/service",
"tags": {
"tag1": "value1",
"tag2": "value2",
"tag3": "value3"
},
"location": "East US 2 EUAP",
"etag": "AAAAAAAiXto=",
"properties": {
"publisherEmail": "apim@autorestsdk.com",
"publisherName": "autorestsdk",
"notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
"provisioningState": "Created",
"targetProvisioningState": "Activating",
"createdAtUtc": "2020-07-28T23:18:14.6562474Z",
"hostnameConfigurations": [
{
"type": "Proxy",
"hostName": "apimService1.azure-api.net",
"negotiateClientCertificate": false,
"defaultSslBinding": true,
"certificateSource": "BuiltIn"
}
],
"publicIpAddressId": "/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/publicIPAddresses/apimazvnet",
"virtualNetworkConfiguration": {
"subnetResourceId": "/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/virtualNetworks/apimcus/subnets/tenant"
},
"virtualNetworkType": "External",
"disableGateway": false,
"platformVersion": "stv2"
},
"sku": {
"name": "Premium",
"capacity": 2
},
"zones": [
"1",
"2"
],
"systemData": {
"createdBy": "string",
"createdByType": "Application",
"createdAt": "2020-02-01T01:01:01.1075056Z",
"lastModifiedBy": "string",
"lastModifiedByType": "Application",
"lastModifiedAt": "2020-02-02T02:03:01.1974346Z"
}
}
{
"id": "/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.ApiManagement/service/apimService1",
"name": "apimService1",
"type": "Microsoft.ApiManagement/service",
"tags": {
"tag1": "value1",
"tag2": "value2",
"tag3": "value3"
},
"location": "East US 2 EUAP",
"etag": "AAAAAAAGTAs=",
"properties": {
"publisherEmail": "apim@autorestsdk.com",
"publisherName": "autorestsdk",
"notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
"provisioningState": "Succeeded",
"targetProvisioningState": "",
"createdAtUtc": "2021-02-22T06:53:46.6409875Z",
"gatewayUrl": "https://apimService1.azure-api.net",
"gatewayRegionalUrl": "https://apimService1-eastus2euap-01.regional.azure-api.net",
"portalUrl": "https://apimService1.portal.azure-api.net",
"developerPortalUrl": "https://apimService1.developer.azure-api.net",
"managementApiUrl": "https://apimService1.management.azure-api.net",
"scmUrl": "https://apimService1.scm.azure-api.net",
"hostnameConfigurations": [
{
"type": "Proxy",
"hostName": "apimService1.azure-api.net",
"negotiateClientCertificate": false,
"defaultSslBinding": true
}
],
"publicIPAddresses": [
"20.47.137.XXX"
],
"publicIpAddressId": "/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/publicIPAddresses/apimazvnet",
"virtualNetworkConfiguration": {
"subnetResourceId": "/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/virtualNetworks/apimcus/subnets/tenant"
},
"customProperties": {
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
},
"virtualNetworkType": "External",
"disableGateway": false,
"platformVersion": "stv2"
},
"sku": {
"name": "Premium",
"capacity": 2
},
"zones": [
"1",
"2"
],
"systemData": {
"createdBy": "string",
"createdByType": "Application",
"createdAt": "2020-02-01T01:01:01.1075056Z",
"lastModifiedBy": "string",
"lastModifiedByType": "Application",
"lastModifiedAt": "2020-02-02T02:03:01.1974346Z"
}
}
ApiManagementCreateServiceInZones
Sample Request
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1?api-version=2022-08-01
{
"properties": {
"publisherEmail": "apim@autorestsdk.com",
"publisherName": "autorestsdk"
},
"sku": {
"name": "Premium",
"capacity": 2
},
"zones": [
"1",
"2"
],
"location": "North europe",
"tags": {
"tag1": "value1",
"tag2": "value2",
"tag3": "value3"
}
}
import com.azure.resourcemanager.apimanagement.models.ApiManagementServiceSkuProperties;
import com.azure.resourcemanager.apimanagement.models.SkuType;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
/** Samples for ApiManagementService CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateServiceInZones.json
*/
/**
* Sample code: ApiManagementCreateServiceInZones.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateServiceInZones(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager
.apiManagementServices()
.define("apimService1")
.withRegion("North europe")
.withExistingResourceGroup("rg1")
.withSku(new ApiManagementServiceSkuProperties().withName(SkuType.PREMIUM).withCapacity(2))
.withPublisherEmail("apim@autorestsdk.com")
.withPublisherName("autorestsdk")
.withTags(mapOf("tag1", "value1", "tag2", "value2", "tag3", "value3"))
.withZones(Arrays.asList("1", "2"))
.create();
}
// Use "Map.of" if available
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_service_in_zones.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.api_management_service.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
parameters={
"location": "North europe",
"properties": {"publisherEmail": "apim@autorestsdk.com", "publisherName": "autorestsdk"},
"sku": {"capacity": 2, "name": "Premium"},
"tags": {"tag1": "value1", "tag2": "value2", "tag3": "value3"},
"zones": ["1", "2"],
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateServiceInZones.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4cd95123fb961c68740565a1efcaa5e43bd35802/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateServiceInZones.json
func ExampleServiceClient_BeginCreateOrUpdate_apiManagementCreateServiceInZones() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armapimanagement.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewServiceClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", armapimanagement.ServiceResource{
Tags: map[string]*string{
"tag1": to.Ptr("value1"),
"tag2": to.Ptr("value2"),
"tag3": to.Ptr("value3"),
},
Location: to.Ptr("North europe"),
Properties: &armapimanagement.ServiceProperties{
PublisherEmail: to.Ptr("apim@autorestsdk.com"),
PublisherName: to.Ptr("autorestsdk"),
},
SKU: &armapimanagement.ServiceSKUProperties{
Name: to.Ptr(armapimanagement.SKUTypePremium),
Capacity: to.Ptr[int32](2),
},
Zones: []*string{
to.Ptr("1"),
to.Ptr("2")},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ServiceResource = armapimanagement.ServiceResource{
// Name: to.Ptr("apimService1"),
// Type: to.Ptr("Microsoft.ApiManagement/service"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1"),
// Tags: map[string]*string{
// "tag1": to.Ptr("value1"),
// "tag2": to.Ptr("value2"),
// "tag3": to.Ptr("value3"),
// },
// Etag: to.Ptr("AAAAAAAiXvE="),
// Location: to.Ptr("North Europe"),
// Properties: &armapimanagement.ServiceProperties{
// CreatedAtUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-07-28T23:18:14.656Z"); return t}()),
// CustomProperties: map[string]*string{
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": to.Ptr("False"),
// },
// DeveloperPortalURL: to.Ptr("https://apimService1.developer.azure-api.net"),
// DisableGateway: to.Ptr(false),
// GatewayRegionalURL: to.Ptr("https://apimService1-northeurope-01.regional.azure-api.net"),
// GatewayURL: to.Ptr("https://apimService1.azure-api.net"),
// HostnameConfigurations: []*armapimanagement.HostnameConfiguration{
// {
// Type: to.Ptr(armapimanagement.HostnameTypeProxy),
// DefaultSSLBinding: to.Ptr(true),
// HostName: to.Ptr("apimService1.azure-api.net"),
// NegotiateClientCertificate: to.Ptr(false),
// }},
// ManagementAPIURL: to.Ptr("https://apimService1.management.azure-api.net"),
// NotificationSenderEmail: to.Ptr("apimgmt-noreply@mail.windowsazure.com"),
// PlatformVersion: to.Ptr(armapimanagement.PlatformVersionStv2),
// PortalURL: to.Ptr("https://apimService1.portal.azure-api.net"),
// ProvisioningState: to.Ptr("Succeeded"),
// PublicIPAddresses: []*string{
// to.Ptr("20.54.34.66")},
// ScmURL: to.Ptr("https://apimService1.scm.azure-api.net"),
// TargetProvisioningState: to.Ptr(""),
// VirtualNetworkType: to.Ptr(armapimanagement.VirtualNetworkTypeNone),
// PublisherEmail: to.Ptr("apim@autorestsdk.com"),
// PublisherName: to.Ptr("autorestsdk"),
// },
// SKU: &armapimanagement.ServiceSKUProperties{
// Name: to.Ptr(armapimanagement.SKUTypePremium),
// Capacity: to.Ptr[int32](2),
// },
// SystemData: &armapimanagement.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-01T01:01:01.107Z"); return t}()),
// CreatedBy: to.Ptr("string"),
// CreatedByType: to.Ptr(armapimanagement.CreatedByTypeApplication),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-02T02:03:01.197Z"); return t}()),
// LastModifiedBy: to.Ptr("string"),
// LastModifiedByType: to.Ptr(armapimanagement.CreatedByTypeApplication),
// },
// Zones: []*string{
// to.Ptr("1"),
// to.Ptr("2")},
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { ApiManagementClient } = require("@azure/arm-apimanagement");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates an API Management service. This is long running operation and could take several minutes to complete.
*
* @summary Creates or updates an API Management service. This is long running operation and could take several minutes to complete.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateServiceInZones.json
*/
async function apiManagementCreateServiceInZones() {
const subscriptionId = process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const parameters = {
location: "North europe",
publisherEmail: "apim@autorestsdk.com",
publisherName: "autorestsdk",
sku: { name: "Premium", capacity: 2 },
tags: { tag1: "value1", tag2: "value2", tag3: "value3" },
zones: ["1", "2"],
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.apiManagementService.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
Location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/ZWFzdHVzOmFuZHktdGVzdGluZy0yMDIyLTA0LTAxLXByZXZpZXctNF9BY3RfODQ2ZWE4Ng==?api-version=2022-08-01&asyncResponse
Azure-AsyncOperation: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/ZWFzdHVzOmFuZHktdGVzdGluZy0yMDIyLTA0LTAxLXByZXZpZXctNF9BY3RfODQ2ZWE4Ng==?api-version=2022-08-01&asyncResponse
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
"name": "apimService1",
"type": "Microsoft.ApiManagement/service",
"tags": {
"tag1": "value1",
"tag2": "value2",
"tag3": "value3"
},
"location": "North Europe",
"etag": "AAAAAAAiXto=",
"properties": {
"publisherEmail": "apim@autorestsdk.com",
"publisherName": "autorestsdk",
"notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
"provisioningState": "Created",
"targetProvisioningState": "Activating",
"createdAtUtc": "2020-07-28T23:18:14.6562474Z",
"hostnameConfigurations": [
{
"type": "Proxy",
"hostName": "apimService1.azure-api.net",
"negotiateClientCertificate": false,
"defaultSslBinding": true,
"certificateSource": "BuiltIn"
}
],
"virtualNetworkType": "None",
"disableGateway": false,
"platformVersion": "stv2"
},
"sku": {
"name": "Premium",
"capacity": 2
},
"zones": [
"1",
"2"
],
"systemData": {
"createdBy": "string",
"createdByType": "Application",
"createdAt": "2020-02-01T01:01:01.1075056Z",
"lastModifiedBy": "string",
"lastModifiedByType": "Application",
"lastModifiedAt": "2020-02-02T02:03:01.1974346Z"
}
}
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
"name": "apimService1",
"type": "Microsoft.ApiManagement/service",
"tags": {
"tag1": "value1",
"tag2": "value2",
"tag3": "value3"
},
"location": "North Europe",
"etag": "AAAAAAAiXvE=",
"properties": {
"publisherEmail": "apim@autorestsdk.com",
"publisherName": "autorestsdk",
"notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
"provisioningState": "Succeeded",
"targetProvisioningState": "",
"createdAtUtc": "2020-07-28T23:18:14.6562474Z",
"gatewayUrl": "https://apimService1.azure-api.net",
"gatewayRegionalUrl": "https://apimService1-northeurope-01.regional.azure-api.net",
"portalUrl": "https://apimService1.portal.azure-api.net",
"developerPortalUrl": "https://apimService1.developer.azure-api.net",
"managementApiUrl": "https://apimService1.management.azure-api.net",
"scmUrl": "https://apimService1.scm.azure-api.net",
"hostnameConfigurations": [
{
"type": "Proxy",
"hostName": "apimService1.azure-api.net",
"negotiateClientCertificate": false,
"defaultSslBinding": true
}
],
"publicIPAddresses": [
"20.54.34.66"
],
"customProperties": {
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
},
"virtualNetworkType": "None",
"disableGateway": false,
"platformVersion": "stv2"
},
"sku": {
"name": "Premium",
"capacity": 2
},
"zones": [
"1",
"2"
],
"systemData": {
"createdBy": "string",
"createdByType": "Application",
"createdAt": "2020-02-01T01:01:01.1075056Z",
"lastModifiedBy": "string",
"lastModifiedByType": "Application",
"lastModifiedAt": "2020-02-02T02:03:01.1974346Z"
}
}
ApiManagementCreateServiceWithCustomHostnameKeyVault
Sample Request
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1?api-version=2022-08-01
{
"properties": {
"hostnameConfigurations": [
{
"type": "Proxy",
"hostName": "gateway1.msitesting.net",
"keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
"identityClientId": "329419bc-adec-4dce-9568-25a6d486e468",
"defaultSslBinding": true
},
{
"type": "Management",
"hostName": "mgmt.msitesting.net",
"keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
"identityClientId": "329419bc-adec-4dce-9568-25a6d486e468"
},
{
"type": "Portal",
"hostName": "portal1.msitesting.net",
"keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
"identityClientId": "329419bc-adec-4dce-9568-25a6d486e468"
}
],
"publisherEmail": "apim@autorestsdk.com",
"publisherName": "autorestsdk",
"virtualNetworkType": "None",
"apiVersionConstraint": {
"minApiVersion": "2019-01-01"
}
},
"sku": {
"name": "Premium",
"capacity": 1
},
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {}
}
},
"location": "North Europe",
"tags": {
"tag1": "value1",
"tag2": "value2",
"tag3": "value3"
}
}
import com.azure.resourcemanager.apimanagement.models.ApiManagementServiceIdentity;
import com.azure.resourcemanager.apimanagement.models.ApiManagementServiceSkuProperties;
import com.azure.resourcemanager.apimanagement.models.ApiVersionConstraint;
import com.azure.resourcemanager.apimanagement.models.ApimIdentityType;
import com.azure.resourcemanager.apimanagement.models.HostnameConfiguration;
import com.azure.resourcemanager.apimanagement.models.HostnameType;
import com.azure.resourcemanager.apimanagement.models.SkuType;
import com.azure.resourcemanager.apimanagement.models.UserIdentityProperties;
import com.azure.resourcemanager.apimanagement.models.VirtualNetworkType;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
/** Samples for ApiManagementService CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateServiceWithCustomHostnameKeyVault.json
*/
/**
* Sample code: ApiManagementCreateServiceWithCustomHostnameKeyVault.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateServiceWithCustomHostnameKeyVault(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager
.apiManagementServices()
.define("apimService1")
.withRegion("North Europe")
.withExistingResourceGroup("rg1")
.withSku(new ApiManagementServiceSkuProperties().withName(SkuType.PREMIUM).withCapacity(1))
.withPublisherEmail("apim@autorestsdk.com")
.withPublisherName("autorestsdk")
.withTags(mapOf("tag1", "value1", "tag2", "value2", "tag3", "value3"))
.withIdentity(
new ApiManagementServiceIdentity()
.withType(ApimIdentityType.USER_ASSIGNED)
.withUserAssignedIdentities(
mapOf(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1",
new UserIdentityProperties())))
.withHostnameConfigurations(
Arrays
.asList(
new HostnameConfiguration()
.withType(HostnameType.PROXY)
.withHostname("gateway1.msitesting.net")
.withKeyVaultId("fakeTokenPlaceholder")
.withIdentityClientId("329419bc-adec-4dce-9568-25a6d486e468")
.withDefaultSslBinding(true),
new HostnameConfiguration()
.withType(HostnameType.MANAGEMENT)
.withHostname("mgmt.msitesting.net")
.withKeyVaultId("fakeTokenPlaceholder")
.withIdentityClientId("329419bc-adec-4dce-9568-25a6d486e468"),
new HostnameConfiguration()
.withType(HostnameType.PORTAL)
.withHostname("portal1.msitesting.net")
.withKeyVaultId("fakeTokenPlaceholder")
.withIdentityClientId("329419bc-adec-4dce-9568-25a6d486e468")))
.withVirtualNetworkType(VirtualNetworkType.NONE)
.withApiVersionConstraint(new ApiVersionConstraint().withMinApiVersion("2019-01-01"))
.create();
}
// Use "Map.of" if available
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_service_with_custom_hostname_key_vault.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.api_management_service.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
parameters={
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {}
},
},
"location": "North Europe",
"properties": {
"apiVersionConstraint": {"minApiVersion": "2019-01-01"},
"hostnameConfigurations": [
{
"defaultSslBinding": True,
"hostName": "gateway1.msitesting.net",
"identityClientId": "329419bc-adec-4dce-9568-25a6d486e468",
"keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
"type": "Proxy",
},
{
"hostName": "mgmt.msitesting.net",
"identityClientId": "329419bc-adec-4dce-9568-25a6d486e468",
"keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
"type": "Management",
},
{
"hostName": "portal1.msitesting.net",
"identityClientId": "329419bc-adec-4dce-9568-25a6d486e468",
"keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
"type": "Portal",
},
],
"publisherEmail": "apim@autorestsdk.com",
"publisherName": "autorestsdk",
"virtualNetworkType": "None",
},
"sku": {"capacity": 1, "name": "Premium"},
"tags": {"tag1": "value1", "tag2": "value2", "tag3": "value3"},
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateServiceWithCustomHostnameKeyVault.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4cd95123fb961c68740565a1efcaa5e43bd35802/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateServiceWithCustomHostnameKeyVault.json
func ExampleServiceClient_BeginCreateOrUpdate_apiManagementCreateServiceWithCustomHostnameKeyVault() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armapimanagement.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewServiceClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", armapimanagement.ServiceResource{
Tags: map[string]*string{
"tag1": to.Ptr("value1"),
"tag2": to.Ptr("value2"),
"tag3": to.Ptr("value3"),
},
Identity: &armapimanagement.ServiceIdentity{
Type: to.Ptr(armapimanagement.ApimIdentityTypeUserAssigned),
UserAssignedIdentities: map[string]*armapimanagement.UserIdentityProperties{
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {},
},
},
Location: to.Ptr("North Europe"),
Properties: &armapimanagement.ServiceProperties{
APIVersionConstraint: &armapimanagement.APIVersionConstraint{
MinAPIVersion: to.Ptr("2019-01-01"),
},
HostnameConfigurations: []*armapimanagement.HostnameConfiguration{
{
Type: to.Ptr(armapimanagement.HostnameTypeProxy),
DefaultSSLBinding: to.Ptr(true),
HostName: to.Ptr("gateway1.msitesting.net"),
IdentityClientID: to.Ptr("329419bc-adec-4dce-9568-25a6d486e468"),
KeyVaultID: to.Ptr("https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert"),
},
{
Type: to.Ptr(armapimanagement.HostnameTypeManagement),
HostName: to.Ptr("mgmt.msitesting.net"),
IdentityClientID: to.Ptr("329419bc-adec-4dce-9568-25a6d486e468"),
KeyVaultID: to.Ptr("https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert"),
},
{
Type: to.Ptr(armapimanagement.HostnameTypePortal),
HostName: to.Ptr("portal1.msitesting.net"),
IdentityClientID: to.Ptr("329419bc-adec-4dce-9568-25a6d486e468"),
KeyVaultID: to.Ptr("https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert"),
}},
VirtualNetworkType: to.Ptr(armapimanagement.VirtualNetworkTypeNone),
PublisherEmail: to.Ptr("apim@autorestsdk.com"),
PublisherName: to.Ptr("autorestsdk"),
},
SKU: &armapimanagement.ServiceSKUProperties{
Name: to.Ptr(armapimanagement.SKUTypePremium),
Capacity: to.Ptr[int32](1),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ServiceResource = armapimanagement.ServiceResource{
// Name: to.Ptr("apimService1"),
// Type: to.Ptr("Microsoft.ApiManagement/service"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1"),
// Tags: map[string]*string{
// "tag1": to.Ptr("value1"),
// "tag2": to.Ptr("value2"),
// "tag3": to.Ptr("value3"),
// },
// Etag: to.Ptr("AAAAAAAigjU="),
// Identity: &armapimanagement.ServiceIdentity{
// Type: to.Ptr(armapimanagement.ApimIdentityTypeUserAssigned),
// TenantID: to.Ptr("f686d426-8d16-0000-0000-ab578e110ccd"),
// UserAssignedIdentities: map[string]*armapimanagement.UserIdentityProperties{
// "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": &armapimanagement.UserIdentityProperties{
// ClientID: to.Ptr("329419bc-adec-4dce-9568-25a6d486e468"),
// PrincipalID: to.Ptr("15e769b2-0000-0000-0000-3fd9a923ac3a"),
// },
// },
// },
// Location: to.Ptr("North Europe"),
// Properties: &armapimanagement.ServiceProperties{
// APIVersionConstraint: &armapimanagement.APIVersionConstraint{
// MinAPIVersion: to.Ptr("2019-01-01"),
// },
// CreatedAtUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-09-13T22:30:20.775Z"); return t}()),
// CustomProperties: map[string]*string{
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": to.Ptr("False"),
// },
// DeveloperPortalURL: to.Ptr("https://apimService1.developer.azure-api.net"),
// DisableGateway: to.Ptr(false),
// GatewayRegionalURL: to.Ptr("https://apimService1-northeurope-01.regional.azure-api.net"),
// GatewayURL: to.Ptr("https://apimService1.azure-api.net"),
// HostnameConfigurations: []*armapimanagement.HostnameConfiguration{
// {
// Type: to.Ptr(armapimanagement.HostnameTypeProxy),
// CertificateSource: to.Ptr(armapimanagement.CertificateSourceBuiltIn),
// DefaultSSLBinding: to.Ptr(false),
// HostName: to.Ptr("apimService1.azure-api.net"),
// NegotiateClientCertificate: to.Ptr(false),
// },
// {
// Type: to.Ptr(armapimanagement.HostnameTypeProxy),
// Certificate: &armapimanagement.CertificateInformation{
// Expiry: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2037-01-01T07:00:00.000Z"); return t}()),
// Subject: to.Ptr("CN=*.msitesting.net"),
// Thumbprint: to.Ptr("EA276907917CB5XXXXXXXXXXX690"),
// },
// CertificateSource: to.Ptr(armapimanagement.CertificateSourceKeyVault),
// DefaultSSLBinding: to.Ptr(true),
// HostName: to.Ptr("gateway1.msitesting.net"),
// IdentityClientID: to.Ptr("329419bc-adec-4dce-9568-25a6d486e468"),
// KeyVaultID: to.Ptr("https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert"),
// NegotiateClientCertificate: to.Ptr(false),
// },
// {
// Type: to.Ptr(armapimanagement.HostnameTypeManagement),
// Certificate: &armapimanagement.CertificateInformation{
// Expiry: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2037-01-01T07:00:00.000Z"); return t}()),
// Subject: to.Ptr("CN=*.msitesting.net"),
// Thumbprint: to.Ptr("EA276907917CB5XXXXXXXXXXX690"),
// },
// CertificateSource: to.Ptr(armapimanagement.CertificateSourceKeyVault),
// DefaultSSLBinding: to.Ptr(false),
// HostName: to.Ptr("mgmt.msitesting.net"),
// IdentityClientID: to.Ptr("329419bc-adec-4dce-9568-25a6d486e468"),
// KeyVaultID: to.Ptr("https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert"),
// NegotiateClientCertificate: to.Ptr(false),
// },
// {
// Type: to.Ptr(armapimanagement.HostnameTypePortal),
// Certificate: &armapimanagement.CertificateInformation{
// Expiry: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2037-01-01T07:00:00.000Z"); return t}()),
// Subject: to.Ptr("CN=*.msitesting.net"),
// Thumbprint: to.Ptr("EA276907917CB5XXXXXXXXXXX690"),
// },
// CertificateSource: to.Ptr(armapimanagement.CertificateSourceKeyVault),
// DefaultSSLBinding: to.Ptr(false),
// HostName: to.Ptr("portal1.msitesting.net"),
// IdentityClientID: to.Ptr("329419bc-adec-4dce-9568-25a6d486e468"),
// KeyVaultID: to.Ptr("https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert"),
// NegotiateClientCertificate: to.Ptr(false),
// }},
// ManagementAPIURL: to.Ptr("https://apimService1.management.azure-api.net"),
// NotificationSenderEmail: to.Ptr("apimgmt-noreply@mail.windowsazure.com"),
// PlatformVersion: to.Ptr(armapimanagement.PlatformVersionStv2),
// PortalURL: to.Ptr("https://apimService1.portal.azure-api.net"),
// ProvisioningState: to.Ptr("Succeeded"),
// PublicIPAddresses: []*string{
// to.Ptr("40.112.74.192")},
// ScmURL: to.Ptr("https://apimService1.scm.azure-api.net"),
// TargetProvisioningState: to.Ptr(""),
// VirtualNetworkType: to.Ptr(armapimanagement.VirtualNetworkTypeNone),
// PublisherEmail: to.Ptr("apim@autorestsdk.com"),
// PublisherName: to.Ptr("autorestsdk"),
// },
// SKU: &armapimanagement.ServiceSKUProperties{
// Name: to.Ptr(armapimanagement.SKUTypePremium),
// Capacity: to.Ptr[int32](1),
// },
// SystemData: &armapimanagement.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-01T01:01:01.107Z"); return t}()),
// CreatedBy: to.Ptr("string"),
// CreatedByType: to.Ptr(armapimanagement.CreatedByTypeApplication),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-02T02:03:01.197Z"); return t}()),
// LastModifiedBy: to.Ptr("string"),
// LastModifiedByType: to.Ptr(armapimanagement.CreatedByTypeApplication),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { ApiManagementClient } = require("@azure/arm-apimanagement");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates an API Management service. This is long running operation and could take several minutes to complete.
*
* @summary Creates or updates an API Management service. This is long running operation and could take several minutes to complete.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateServiceWithCustomHostnameKeyVault.json
*/
async function apiManagementCreateServiceWithCustomHostnameKeyVault() {
const subscriptionId = process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const parameters = {
apiVersionConstraint: { minApiVersion: "2019-01-01" },
hostnameConfigurations: [
{
type: "Proxy",
defaultSslBinding: true,
hostName: "gateway1.msitesting.net",
identityClientId: "329419bc-adec-4dce-9568-25a6d486e468",
keyVaultId: "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
},
{
type: "Management",
hostName: "mgmt.msitesting.net",
identityClientId: "329419bc-adec-4dce-9568-25a6d486e468",
keyVaultId: "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
},
{
type: "Portal",
hostName: "portal1.msitesting.net",
identityClientId: "329419bc-adec-4dce-9568-25a6d486e468",
keyVaultId: "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
},
],
identity: {
type: "UserAssigned",
userAssignedIdentities: {
"/subscriptions/subid/resourceGroups/rg1/providers/MicrosoftManagedIdentity/userAssignedIdentities/id1":
{},
},
},
location: "North Europe",
publisherEmail: "apim@autorestsdk.com",
publisherName: "autorestsdk",
sku: { name: "Premium", capacity: 1 },
tags: { tag1: "value1", tag2: "value2", tag3: "value3" },
virtualNetworkType: "None",
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.apiManagementService.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
Location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/ZWFzdHVzOmFuZHktdGVzdGluZy0yMDIyLTA0LTAxLXByZXZpZXctNF9BY3RfODQ2ZWE4Ng==?api-version=2022-08-01&asyncResponse
Azure-AsyncOperation: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/ZWFzdHVzOmFuZHktdGVzdGluZy0yMDIyLTA0LTAxLXByZXZpZXctNF9BY3RfODQ2ZWE4Ng==?api-version=2022-08-01&asyncResponse
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
"name": "apimService1",
"type": "Microsoft.ApiManagement/service",
"tags": {
"tag1": "value1",
"tag2": "value2",
"tag3": "value3"
},
"location": "North Europe",
"etag": "AAAAAAAigi8=",
"properties": {
"publisherEmail": "apim@autorestsdk.com",
"publisherName": "autorestsdk",
"notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
"provisioningState": "Created",
"targetProvisioningState": "Activating",
"createdAtUtc": "2020-09-13T22:30:20.7759747Z",
"hostnameConfigurations": [
{
"type": "Proxy",
"hostName": "apimService1.azure-api.net",
"negotiateClientCertificate": false,
"defaultSslBinding": false,
"certificateSource": "BuiltIn"
},
{
"type": "Proxy",
"hostName": "gateway1.msitesting.net",
"keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
"negotiateClientCertificate": false,
"certificate": {
"expiry": "2037-01-01T07:00:00+00:00",
"thumbprint": "EA276907917CB5XXXXXXXXXXX690",
"subject": "CN=*.msitesting.net"
},
"defaultSslBinding": true,
"identityClientId": "329419bc-adec-4dce-9568-25a6d486e468",
"certificateSource": "KeyVault"
},
{
"type": "Management",
"hostName": "mgmt.msitesting.net",
"keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
"negotiateClientCertificate": false,
"certificate": {
"expiry": "2037-01-01T07:00:00+00:00",
"thumbprint": "EA276907917CB5XXXXXXXXXXX690",
"subject": "CN=*.msitesting.net"
},
"defaultSslBinding": false,
"identityClientId": "329419bc-adec-4dce-9568-25a6d486e468",
"certificateSource": "KeyVault"
},
{
"type": "Portal",
"hostName": "portal1.msitesting.net",
"keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
"negotiateClientCertificate": false,
"certificate": {
"expiry": "2037-01-01T07:00:00+00:00",
"thumbprint": "EA276907917CB5XXXXXXXXXXX690",
"subject": "CN=*.msitesting.net"
},
"defaultSslBinding": false,
"identityClientId": "329419bc-adec-4dce-9568-25a6d486e468",
"certificateSource": "KeyVault"
}
],
"virtualNetworkType": "None",
"disableGateway": false,
"platformVersion": "stv2",
"apiVersionConstraint": {
"minApiVersion": "2019-01-01"
}
},
"sku": {
"name": "Premium",
"capacity": 1
},
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {}
}
},
"systemData": {
"createdBy": "string",
"createdByType": "Application",
"createdAt": "2020-02-01T01:01:01.1075056Z",
"lastModifiedBy": "string",
"lastModifiedByType": "Application",
"lastModifiedAt": "2020-02-02T02:03:01.1974346Z"
}
}
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
"name": "apimService1",
"type": "Microsoft.ApiManagement/service",
"tags": {
"tag1": "value1",
"tag2": "value2",
"tag3": "value3"
},
"location": "North Europe",
"etag": "AAAAAAAigjU=",
"properties": {
"publisherEmail": "apim@autorestsdk.com",
"publisherName": "autorestsdk",
"notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
"provisioningState": "Succeeded",
"targetProvisioningState": "",
"createdAtUtc": "2020-09-13T22:30:20.7759747Z",
"gatewayUrl": "https://apimService1.azure-api.net",
"gatewayRegionalUrl": "https://apimService1-northeurope-01.regional.azure-api.net",
"portalUrl": "https://apimService1.portal.azure-api.net",
"developerPortalUrl": "https://apimService1.developer.azure-api.net",
"managementApiUrl": "https://apimService1.management.azure-api.net",
"scmUrl": "https://apimService1.scm.azure-api.net",
"hostnameConfigurations": [
{
"type": "Proxy",
"hostName": "apimService1.azure-api.net",
"negotiateClientCertificate": false,
"defaultSslBinding": false,
"certificateSource": "BuiltIn"
},
{
"type": "Proxy",
"hostName": "gateway1.msitesting.net",
"keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
"negotiateClientCertificate": false,
"certificate": {
"expiry": "2037-01-01T07:00:00+00:00",
"thumbprint": "EA276907917CB5XXXXXXXXXXX690",
"subject": "CN=*.msitesting.net"
},
"defaultSslBinding": true,
"identityClientId": "329419bc-adec-4dce-9568-25a6d486e468",
"certificateSource": "KeyVault"
},
{
"type": "Management",
"hostName": "mgmt.msitesting.net",
"keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
"negotiateClientCertificate": false,
"certificate": {
"expiry": "2037-01-01T07:00:00+00:00",
"thumbprint": "EA276907917CB5XXXXXXXXXXX690",
"subject": "CN=*.msitesting.net"
},
"defaultSslBinding": false,
"identityClientId": "329419bc-adec-4dce-9568-25a6d486e468",
"certificateSource": "KeyVault"
},
{
"type": "Portal",
"hostName": "portal1.msitesting.net",
"keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
"negotiateClientCertificate": false,
"certificate": {
"expiry": "2037-01-01T07:00:00+00:00",
"thumbprint": "EA276907917CB5XXXXXXXXXXX690",
"subject": "CN=*.msitesting.net"
},
"defaultSslBinding": false,
"identityClientId": "329419bc-adec-4dce-9568-25a6d486e468",
"certificateSource": "KeyVault"
}
],
"publicIPAddresses": [
"40.112.74.192"
],
"customProperties": {
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
},
"virtualNetworkType": "None",
"disableGateway": false,
"platformVersion": "stv2",
"apiVersionConstraint": {
"minApiVersion": "2019-01-01"
}
},
"sku": {
"name": "Premium",
"capacity": 1
},
"identity": {
"type": "UserAssigned",
"tenantId": "f686d426-8d16-0000-0000-ab578e110ccd",
"userAssignedIdentities": {
"/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {
"principalId": "15e769b2-0000-0000-0000-3fd9a923ac3a",
"clientId": "329419bc-adec-4dce-9568-25a6d486e468"
}
}
},
"systemData": {
"createdBy": "string",
"createdByType": "Application",
"createdAt": "2020-02-01T01:01:01.1075056Z",
"lastModifiedBy": "string",
"lastModifiedByType": "Application",
"lastModifiedAt": "2020-02-02T02:03:01.1974346Z"
}
}
ApiManagementCreateServiceWithNatGatewayEnabled
Sample Request
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1?api-version=2022-08-01
{
"properties": {
"publisherEmail": "apim@autorestsdk.com",
"publisherName": "autorestsdk",
"natGatewayState": "Enabled"
},
"sku": {
"name": "Premium",
"capacity": 1
},
"location": "East US",
"tags": {
"tag1": "value1",
"tag2": "value2",
"tag3": "value3"
}
}
import com.azure.resourcemanager.apimanagement.models.ApiManagementServiceSkuProperties;
import com.azure.resourcemanager.apimanagement.models.NatGatewayState;
import com.azure.resourcemanager.apimanagement.models.SkuType;
import java.util.HashMap;
import java.util.Map;
/** Samples for ApiManagementService CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateServiceWithNatGatewayEnabled.json
*/
/**
* Sample code: ApiManagementCreateServiceWithNatGatewayEnabled.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateServiceWithNatGatewayEnabled(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager
.apiManagementServices()
.define("apimService1")
.withRegion("East US")
.withExistingResourceGroup("rg1")
.withSku(new ApiManagementServiceSkuProperties().withName(SkuType.PREMIUM).withCapacity(1))
.withPublisherEmail("apim@autorestsdk.com")
.withPublisherName("autorestsdk")
.withTags(mapOf("tag1", "value1", "tag2", "value2", "tag3", "value3"))
.withNatGatewayState(NatGatewayState.ENABLED)
.create();
}
// Use "Map.of" if available
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_service_with_nat_gateway_enabled.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.api_management_service.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
parameters={
"location": "East US",
"properties": {
"natGatewayState": "Enabled",
"publisherEmail": "apim@autorestsdk.com",
"publisherName": "autorestsdk",
},
"sku": {"capacity": 1, "name": "Premium"},
"tags": {"tag1": "value1", "tag2": "value2", "tag3": "value3"},
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateServiceWithNatGatewayEnabled.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4cd95123fb961c68740565a1efcaa5e43bd35802/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateServiceWithNatGatewayEnabled.json
func ExampleServiceClient_BeginCreateOrUpdate_apiManagementCreateServiceWithNatGatewayEnabled() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armapimanagement.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewServiceClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", armapimanagement.ServiceResource{
Tags: map[string]*string{
"tag1": to.Ptr("value1"),
"tag2": to.Ptr("value2"),
"tag3": to.Ptr("value3"),
},
Location: to.Ptr("East US"),
Properties: &armapimanagement.ServiceProperties{
NatGatewayState: to.Ptr(armapimanagement.NatGatewayStateEnabled),
PublisherEmail: to.Ptr("apim@autorestsdk.com"),
PublisherName: to.Ptr("autorestsdk"),
},
SKU: &armapimanagement.ServiceSKUProperties{
Name: to.Ptr(armapimanagement.SKUTypePremium),
Capacity: to.Ptr[int32](1),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ServiceResource = armapimanagement.ServiceResource{
// Name: to.Ptr("apimService1"),
// Type: to.Ptr("Microsoft.ApiManagement/service"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1"),
// Tags: map[string]*string{
// "api-version": to.Ptr("2022-08-01"),
// },
// Etag: to.Ptr("AAAAAAAmREI="),
// Location: to.Ptr("East US"),
// Properties: &armapimanagement.ServiceProperties{
// APIVersionConstraint: &armapimanagement.APIVersionConstraint{
// },
// CreatedAtUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-07-26T18:41:01.250Z"); return t}()),
// CustomProperties: map[string]*string{
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": to.Ptr("false"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": to.Ptr("false"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": to.Ptr("false"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": to.Ptr("false"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": to.Ptr("false"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": to.Ptr("false"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": to.Ptr("false"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": to.Ptr("false"),
// },
// DeveloperPortalURL: to.Ptr("https://apimService1.developer.azure-api.net"),
// DisableGateway: to.Ptr(false),
// GatewayRegionalURL: to.Ptr("https://apimService1-eastus-01.regional.azure-api.net"),
// GatewayURL: to.Ptr("https://apimService1.azure-api.net"),
// HostnameConfigurations: []*armapimanagement.HostnameConfiguration{
// {
// Type: to.Ptr(armapimanagement.HostnameTypeProxy),
// CertificateSource: to.Ptr(armapimanagement.CertificateSourceBuiltIn),
// DefaultSSLBinding: to.Ptr(true),
// HostName: to.Ptr("apimService1.azure-api.net"),
// NegotiateClientCertificate: to.Ptr(false),
// }},
// ManagementAPIURL: to.Ptr("https://apimService1.management.azure-api.net"),
// NatGatewayState: to.Ptr(armapimanagement.NatGatewayStateEnabled),
// NotificationSenderEmail: to.Ptr("apimgmt-noreply@mail.windowsazure.com"),
// OutboundPublicIPAddresses: []*string{
// to.Ptr("60.0.0.0/31")},
// PlatformVersion: to.Ptr(armapimanagement.PlatformVersionStv2),
// PortalURL: to.Ptr("https://apimService1.portal.azure-api.net"),
// ProvisioningState: to.Ptr("Succeeded"),
// PublicIPAddresses: []*string{
// to.Ptr("13.90.229.33")},
// PublicNetworkAccess: to.Ptr(armapimanagement.PublicNetworkAccessEnabled),
// ScmURL: to.Ptr("https://apimService1.scm.azure-api.net"),
// TargetProvisioningState: to.Ptr(""),
// VirtualNetworkType: to.Ptr(armapimanagement.VirtualNetworkTypeNone),
// PublisherEmail: to.Ptr("apim@autorestsdk.com"),
// PublisherName: to.Ptr("autorestsdk"),
// },
// SKU: &armapimanagement.ServiceSKUProperties{
// Name: to.Ptr(armapimanagement.SKUTypePremium),
// Capacity: to.Ptr[int32](1),
// },
// SystemData: &armapimanagement.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-07-11T18:41:00.939Z"); return t}()),
// CreatedBy: to.Ptr("user@contoso.com"),
// CreatedByType: to.Ptr(armapimanagement.CreatedByTypeUser),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-07-11T18:41:00.939Z"); return t}()),
// LastModifiedBy: to.Ptr("user@contoso.com"),
// LastModifiedByType: to.Ptr(armapimanagement.CreatedByTypeUser),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { ApiManagementClient } = require("@azure/arm-apimanagement");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates an API Management service. This is long running operation and could take several minutes to complete.
*
* @summary Creates or updates an API Management service. This is long running operation and could take several minutes to complete.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateServiceWithNatGatewayEnabled.json
*/
async function apiManagementCreateServiceWithNatGatewayEnabled() {
const subscriptionId = process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const parameters = {
location: "East US",
natGatewayState: "Enabled",
publisherEmail: "apim@autorestsdk.com",
publisherName: "autorestsdk",
sku: { name: "Premium", capacity: 1 },
tags: { tag1: "value1", tag2: "value2", tag3: "value3" },
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.apiManagementService.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
Location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/ZWFzdHVzOmFuZHktdGVzdGluZy0yMDIyLTA0LTAxLXByZXZpZXctNF9BY3RfODQ2ZWE4Ng==?api-version=2022-08-01&asyncResponse
Azure-AsyncOperation: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/ZWFzdHVzOmFuZHktdGVzdGluZy0yMDIyLTA0LTAxLXByZXZpZXctNF9BY3RfODQ2ZWE4Ng==?api-version=2022-08-01&asyncResponse
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
"name": "apimService1",
"type": "Microsoft.ApiManagement/service",
"tags": {
"api-version": "2022-08-01"
},
"location": "East US",
"etag": "AAAAAAAmRAM=",
"properties": {
"publisherEmail": "apim@autorestsdk.com",
"publisherName": "autorestsdk",
"notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
"provisioningState": "Created",
"targetProvisioningState": "Activating",
"createdAtUtc": "2022-07-11T18:41:01.2506031Z",
"gatewayUrl": "https://apimService1.azure-api.net",
"hostnameConfigurations": [
{
"type": "Proxy",
"hostName": "apimService1.azure-api.net",
"negotiateClientCertificate": false,
"defaultSslBinding": true,
"certificateSource": "BuiltIn"
}
],
"privateIPAddresses": null,
"additionalLocations": null,
"virtualNetworkConfiguration": null,
"virtualNetworkType": "None",
"certificates": null,
"disableGateway": false,
"natGatewayState": "Enabled",
"apiVersionConstraint": {
"minApiVersion": null
},
"publicIpAddressId": null,
"publicNetworkAccess": "Enabled",
"privateEndpointConnections": null,
"platformVersion": "stv2"
},
"sku": {
"name": "Premium",
"capacity": 1
},
"identity": null,
"zones": null,
"systemData": {
"createdBy": "user@contoso.com",
"createdByType": "User",
"createdAt": "2022-07-11T18:41:00.9390609Z",
"lastModifiedBy": "user@contoso.com",
"lastModifiedByType": "User",
"lastModifiedAt": "2022-07-11T18:41:00.9390609Z"
}
}
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
"name": "apimService1",
"type": "Microsoft.ApiManagement/service",
"tags": {
"api-version": "2022-08-01"
},
"location": "East US",
"etag": "AAAAAAAmREI=",
"properties": {
"publisherEmail": "apim@autorestsdk.com",
"publisherName": "autorestsdk",
"notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
"provisioningState": "Succeeded",
"targetProvisioningState": "",
"createdAtUtc": "2022-07-26T18:41:01.2506031Z",
"gatewayUrl": "https://apimService1.azure-api.net",
"gatewayRegionalUrl": "https://apimService1-eastus-01.regional.azure-api.net",
"portalUrl": "https://apimService1.portal.azure-api.net",
"developerPortalUrl": "https://apimService1.developer.azure-api.net",
"managementApiUrl": "https://apimService1.management.azure-api.net",
"scmUrl": "https://apimService1.scm.azure-api.net",
"hostnameConfigurations": [
{
"type": "Proxy",
"hostName": "apimService1.azure-api.net",
"negotiateClientCertificate": false,
"defaultSslBinding": true,
"certificateSource": "BuiltIn"
}
],
"publicIPAddresses": [
"13.90.229.33"
],
"customProperties": {
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "false",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "false",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "false",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "false",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "false",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "false",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "false",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "false"
},
"virtualNetworkType": "None",
"disableGateway": false,
"natGatewayState": "Enabled",
"outboundPublicIPAddresses": [
"60.0.0.0/31"
],
"apiVersionConstraint": {
"minApiVersion": null
},
"publicNetworkAccess": "Enabled",
"platformVersion": "stv2"
},
"sku": {
"name": "Premium",
"capacity": 1
},
"systemData": {
"createdBy": "user@contoso.com",
"createdByType": "User",
"createdAt": "2022-07-11T18:41:00.9390609Z",
"lastModifiedBy": "user@contoso.com",
"lastModifiedByType": "User",
"lastModifiedAt": "2022-07-11T18:41:00.9390609Z"
}
}
ApiManagementCreateServiceWithSystemCertificates
Sample Request
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1?api-version=2022-08-01
{
"properties": {
"certificates": [
{
"encodedCertificate": "*******Base64 encoded Certificate******************",
"certificatePassword": "Password",
"storeName": "CertificateAuthority"
}
],
"publisherEmail": "apim@autorestsdk.com",
"publisherName": "autorestsdk"
},
"sku": {
"name": "Basic",
"capacity": 1
},
"location": "Central US",
"tags": {
"tag1": "value1",
"tag2": "value2",
"tag3": "value3"
}
}
import com.azure.resourcemanager.apimanagement.models.ApiManagementServiceSkuProperties;
import com.azure.resourcemanager.apimanagement.models.CertificateConfiguration;
import com.azure.resourcemanager.apimanagement.models.CertificateConfigurationStoreName;
import com.azure.resourcemanager.apimanagement.models.SkuType;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
/** Samples for ApiManagementService CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateServiceWithSystemCertificates.json
*/
/**
* Sample code: ApiManagementCreateServiceWithSystemCertificates.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateServiceWithSystemCertificates(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager
.apiManagementServices()
.define("apimService1")
.withRegion("Central US")
.withExistingResourceGroup("rg1")
.withSku(new ApiManagementServiceSkuProperties().withName(SkuType.BASIC).withCapacity(1))
.withPublisherEmail("apim@autorestsdk.com")
.withPublisherName("autorestsdk")
.withTags(mapOf("tag1", "value1", "tag2", "value2", "tag3", "value3"))
.withCertificates(
Arrays
.asList(
new CertificateConfiguration()
.withEncodedCertificate("fakeTokenPlaceholder")
.withCertificatePassword("fakeTokenPlaceholder")
.withStoreName(CertificateConfigurationStoreName.CERTIFICATE_AUTHORITY)))
.create();
}
// Use "Map.of" if available
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_service_with_system_certificates.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.api_management_service.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
parameters={
"location": "Central US",
"properties": {
"certificates": [
{
"certificatePassword": "Password",
"encodedCertificate": "*******Base64 encoded Certificate******************",
"storeName": "CertificateAuthority",
}
],
"publisherEmail": "apim@autorestsdk.com",
"publisherName": "autorestsdk",
},
"sku": {"capacity": 1, "name": "Basic"},
"tags": {"tag1": "value1", "tag2": "value2", "tag3": "value3"},
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateServiceWithSystemCertificates.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4cd95123fb961c68740565a1efcaa5e43bd35802/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateServiceWithSystemCertificates.json
func ExampleServiceClient_BeginCreateOrUpdate_apiManagementCreateServiceWithSystemCertificates() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armapimanagement.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewServiceClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", armapimanagement.ServiceResource{
Tags: map[string]*string{
"tag1": to.Ptr("value1"),
"tag2": to.Ptr("value2"),
"tag3": to.Ptr("value3"),
},
Location: to.Ptr("Central US"),
Properties: &armapimanagement.ServiceProperties{
Certificates: []*armapimanagement.CertificateConfiguration{
{
CertificatePassword: to.Ptr("Password"),
EncodedCertificate: to.Ptr("*******Base64 encoded Certificate******************"),
StoreName: to.Ptr(armapimanagement.CertificateConfigurationStoreNameCertificateAuthority),
}},
PublisherEmail: to.Ptr("apim@autorestsdk.com"),
PublisherName: to.Ptr("autorestsdk"),
},
SKU: &armapimanagement.ServiceSKUProperties{
Name: to.Ptr(armapimanagement.SKUTypeBasic),
Capacity: to.Ptr[int32](1),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ServiceResource = armapimanagement.ServiceResource{
// Name: to.Ptr("apimService1"),
// Type: to.Ptr("Microsoft.ApiManagement/service"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1"),
// Tags: map[string]*string{
// "tag1": to.Ptr("value1"),
// "tag2": to.Ptr("value2"),
// "tag3": to.Ptr("value3"),
// },
// Etag: to.Ptr("AAAAAAAp3UM="),
// Location: to.Ptr("Central US"),
// Properties: &armapimanagement.ServiceProperties{
// APIVersionConstraint: &armapimanagement.APIVersionConstraint{
// },
// Certificates: []*armapimanagement.CertificateConfiguration{
// {
// Certificate: &armapimanagement.CertificateInformation{
// Expiry: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2036-01-01T07:00:00.000Z"); return t}()),
// Subject: to.Ptr("CN=*.msitesting.net"),
// Thumbprint: to.Ptr("8E989652CABCF585ACBFCB9C2C91F1D174FDB3A2"),
// },
// StoreName: to.Ptr(armapimanagement.CertificateConfigurationStoreNameCertificateAuthority),
// }},
// CreatedAtUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-12-18T06:33:28.090Z"); return t}()),
// CustomProperties: map[string]*string{
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": to.Ptr("False"),
// },
// DeveloperPortalURL: to.Ptr("https://apimService1.developer.azure-api.net"),
// DisableGateway: to.Ptr(false),
// GatewayRegionalURL: to.Ptr("https://apimService1-centralus-01.regional.azure-api.net"),
// GatewayURL: to.Ptr("https://apimService1.azure-api.net"),
// HostnameConfigurations: []*armapimanagement.HostnameConfiguration{
// {
// Type: to.Ptr(armapimanagement.HostnameTypeProxy),
// CertificateSource: to.Ptr(armapimanagement.CertificateSourceBuiltIn),
// DefaultSSLBinding: to.Ptr(true),
// HostName: to.Ptr("apimService1.azure-api.net"),
// NegotiateClientCertificate: to.Ptr(false),
// }},
// ManagementAPIURL: to.Ptr("https://apimService1.management.azure-api.net"),
// NotificationSenderEmail: to.Ptr("apimgmt-noreply@mail.windowsazure.com"),
// PlatformVersion: to.Ptr(armapimanagement.PlatformVersionStv2),
// PortalURL: to.Ptr("https://apimService1.portal.azure-api.net"),
// ProvisioningState: to.Ptr("Succeeded"),
// PublicIPAddresses: []*string{
// to.Ptr("40.113.223.117")},
// ScmURL: to.Ptr("https://apimService1.scm.azure-api.net"),
// TargetProvisioningState: to.Ptr(""),
// VirtualNetworkType: to.Ptr(armapimanagement.VirtualNetworkTypeNone),
// PublisherEmail: to.Ptr("apim@autorestsdk.com"),
// PublisherName: to.Ptr("autorestsdk"),
// },
// SKU: &armapimanagement.ServiceSKUProperties{
// Name: to.Ptr(armapimanagement.SKUTypeBasic),
// Capacity: to.Ptr[int32](1),
// },
// SystemData: &armapimanagement.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-01T01:01:01.107Z"); return t}()),
// CreatedBy: to.Ptr("string"),
// CreatedByType: to.Ptr(armapimanagement.CreatedByTypeApplication),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-02T02:03:01.197Z"); return t}()),
// LastModifiedBy: to.Ptr("string"),
// LastModifiedByType: to.Ptr(armapimanagement.CreatedByTypeApplication),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { ApiManagementClient } = require("@azure/arm-apimanagement");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates an API Management service. This is long running operation and could take several minutes to complete.
*
* @summary Creates or updates an API Management service. This is long running operation and could take several minutes to complete.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateServiceWithSystemCertificates.json
*/
async function apiManagementCreateServiceWithSystemCertificates() {
const subscriptionId = process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const parameters = {
certificates: [
{
certificatePassword: "Password",
encodedCertificate: "*******Base64 encoded Certificate******************",
storeName: "CertificateAuthority",
},
],
location: "Central US",
publisherEmail: "apim@autorestsdk.com",
publisherName: "autorestsdk",
sku: { name: "Basic", capacity: 1 },
tags: { tag1: "value1", tag2: "value2", tag3: "value3" },
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.apiManagementService.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
Location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/ZWFzdHVzOmFuZHktdGVzdGluZy0yMDIyLTA0LTAxLXByZXZpZXctNF9BY3RfODQ2ZWE4Ng==?api-version=2022-08-01&asyncResponse
Azure-AsyncOperation: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/ZWFzdHVzOmFuZHktdGVzdGluZy0yMDIyLTA0LTAxLXByZXZpZXctNF9BY3RfODQ2ZWE4Ng==?api-version=2022-08-01&asyncResponse
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
"name": "apimService1",
"type": "Microsoft.ApiManagement/service",
"tags": {
"tag1": "value1",
"tag2": "value2",
"tag3": "value3"
},
"location": "Central US",
"etag": "AAAAAAAp3TM=",
"properties": {
"publisherEmail": "apim@autorestsdk.com",
"publisherName": "autorestsdk",
"notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
"provisioningState": "Created",
"targetProvisioningState": "Activating",
"createdAtUtc": "2019-12-18T06:33:28.0906918Z",
"hostnameConfigurations": [
{
"type": "Proxy",
"hostName": "apimService1.azure-api.net",
"negotiateClientCertificate": false,
"defaultSslBinding": true
}
],
"virtualNetworkType": "None",
"certificates": [
{
"storeName": "CertificateAuthority",
"certificate": {
"expiry": "2036-01-01T07:00:00+00:00",
"thumbprint": "8E989652CABCF585ACBFCB9C2C91F1D174FDB3A2",
"subject": "CN=*.msitesting.net"
}
}
],
"disableGateway": false,
"platformVersion": "stv2",
"apiVersionConstraint": {}
},
"sku": {
"name": "Basic",
"capacity": 1
},
"systemData": {
"createdBy": "string",
"createdByType": "Application",
"createdAt": "2020-02-01T01:01:01.1075056Z",
"lastModifiedBy": "string",
"lastModifiedByType": "Application",
"lastModifiedAt": "2020-02-02T02:03:01.1974346Z"
}
}
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
"name": "apimService1",
"type": "Microsoft.ApiManagement/service",
"tags": {
"tag1": "value1",
"tag2": "value2",
"tag3": "value3"
},
"location": "Central US",
"etag": "AAAAAAAp3UM=",
"properties": {
"publisherEmail": "apim@autorestsdk.com",
"publisherName": "autorestsdk",
"notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
"provisioningState": "Succeeded",
"targetProvisioningState": "",
"createdAtUtc": "2019-12-18T06:33:28.0906918Z",
"gatewayUrl": "https://apimService1.azure-api.net",
"gatewayRegionalUrl": "https://apimService1-centralus-01.regional.azure-api.net",
"portalUrl": "https://apimService1.portal.azure-api.net",
"developerPortalUrl": "https://apimService1.developer.azure-api.net",
"managementApiUrl": "https://apimService1.management.azure-api.net",
"scmUrl": "https://apimService1.scm.azure-api.net",
"hostnameConfigurations": [
{
"type": "Proxy",
"hostName": "apimService1.azure-api.net",
"negotiateClientCertificate": false,
"defaultSslBinding": true,
"certificateSource": "BuiltIn"
}
],
"publicIPAddresses": [
"40.113.223.117"
],
"customProperties": {
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
},
"virtualNetworkType": "None",
"certificates": [
{
"storeName": "CertificateAuthority",
"certificate": {
"expiry": "2036-01-01T07:00:00+00:00",
"thumbprint": "8E989652CABCF585ACBFCB9C2C91F1D174FDB3A2",
"subject": "CN=*.msitesting.net"
}
}
],
"disableGateway": false,
"platformVersion": "stv2",
"apiVersionConstraint": {}
},
"sku": {
"name": "Basic",
"capacity": 1
},
"systemData": {
"createdBy": "string",
"createdByType": "Application",
"createdAt": "2020-02-01T01:01:01.1075056Z",
"lastModifiedBy": "string",
"lastModifiedByType": "Application",
"lastModifiedAt": "2020-02-02T02:03:01.1974346Z"
}
}
ApiManagementCreateServiceWithUserAssignedIdentity
Sample Request
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1?api-version=2022-08-01
{
"properties": {
"publisherEmail": "apim@autorestsdk.com",
"publisherName": "autorestsdk"
},
"sku": {
"name": "Consumption",
"capacity": 0
},
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/apimService1": {}
}
},
"location": "West US",
"tags": {
"tag1": "value1",
"tag2": "value2",
"tag3": "value3"
}
}
import com.azure.resourcemanager.apimanagement.models.ApiManagementServiceIdentity;
import com.azure.resourcemanager.apimanagement.models.ApiManagementServiceSkuProperties;
import com.azure.resourcemanager.apimanagement.models.ApimIdentityType;
import com.azure.resourcemanager.apimanagement.models.SkuType;
import com.azure.resourcemanager.apimanagement.models.UserIdentityProperties;
import java.util.HashMap;
import java.util.Map;
/** Samples for ApiManagementService CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateServiceWithUserAssignedIdentity.json
*/
/**
* Sample code: ApiManagementCreateServiceWithUserAssignedIdentity.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateServiceWithUserAssignedIdentity(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager
.apiManagementServices()
.define("apimService1")
.withRegion("West US")
.withExistingResourceGroup("rg1")
.withSku(new ApiManagementServiceSkuProperties().withName(SkuType.CONSUMPTION).withCapacity(0))
.withPublisherEmail("apim@autorestsdk.com")
.withPublisherName("autorestsdk")
.withTags(mapOf("tag1", "value1", "tag2", "value2", "tag3", "value3"))
.withIdentity(
new ApiManagementServiceIdentity()
.withType(ApimIdentityType.USER_ASSIGNED)
.withUserAssignedIdentities(
mapOf(
"/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/apimService1",
new UserIdentityProperties())))
.create();
}
// Use "Map.of" if available
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_service_with_user_assigned_identity.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.api_management_service.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
parameters={
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/apimService1": {}
},
},
"location": "West US",
"properties": {"publisherEmail": "apim@autorestsdk.com", "publisherName": "autorestsdk"},
"sku": {"capacity": 0, "name": "Consumption"},
"tags": {"tag1": "value1", "tag2": "value2", "tag3": "value3"},
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateServiceWithUserAssignedIdentity.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4cd95123fb961c68740565a1efcaa5e43bd35802/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateServiceWithUserAssignedIdentity.json
func ExampleServiceClient_BeginCreateOrUpdate_apiManagementCreateServiceWithUserAssignedIdentity() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armapimanagement.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewServiceClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", armapimanagement.ServiceResource{
Tags: map[string]*string{
"tag1": to.Ptr("value1"),
"tag2": to.Ptr("value2"),
"tag3": to.Ptr("value3"),
},
Identity: &armapimanagement.ServiceIdentity{
Type: to.Ptr(armapimanagement.ApimIdentityTypeUserAssigned),
UserAssignedIdentities: map[string]*armapimanagement.UserIdentityProperties{
"/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/apimService1": {},
},
},
Location: to.Ptr("West US"),
Properties: &armapimanagement.ServiceProperties{
PublisherEmail: to.Ptr("apim@autorestsdk.com"),
PublisherName: to.Ptr("autorestsdk"),
},
SKU: &armapimanagement.ServiceSKUProperties{
Name: to.Ptr(armapimanagement.SKUTypeConsumption),
Capacity: to.Ptr[int32](0),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ServiceResource = armapimanagement.ServiceResource{
// Name: to.Ptr("apimService1"),
// Type: to.Ptr("Microsoft.ApiManagement/service"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1"),
// Tags: map[string]*string{
// "tag1": to.Ptr("value1"),
// "tag2": to.Ptr("value2"),
// "tag3": to.Ptr("value3"),
// },
// Etag: to.Ptr("AAAAAAAFzyk="),
// Identity: &armapimanagement.ServiceIdentity{
// Type: to.Ptr(armapimanagement.ApimIdentityTypeUserAssigned),
// TenantID: to.Ptr("00000000-86f1-41af-0000-2d7cd011db47"),
// UserAssignedIdentities: map[string]*armapimanagement.UserIdentityProperties{
// "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/apimService1": &armapimanagement.UserIdentityProperties{
// ClientID: to.Ptr("5a2c6b8e-0905-0000-a772-993c9418137f"),
// PrincipalID: to.Ptr("00000000-6e62-4649-9f54-a119fc1ba85e"),
// },
// },
// },
// Location: to.Ptr("West US"),
// Properties: &armapimanagement.ServiceProperties{
// CreatedAtUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-03-12T01:05:33.457Z"); return t}()),
// CustomProperties: map[string]*string{
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": to.Ptr("False"),
// },
// DisableGateway: to.Ptr(false),
// GatewayURL: to.Ptr("https://apimService1.azure-api.net"),
// HostnameConfigurations: []*armapimanagement.HostnameConfiguration{
// {
// Type: to.Ptr(armapimanagement.HostnameTypeProxy),
// CertificateSource: to.Ptr(armapimanagement.CertificateSourceBuiltIn),
// DefaultSSLBinding: to.Ptr(true),
// HostName: to.Ptr("apimService1.azure-api.net"),
// NegotiateClientCertificate: to.Ptr(false),
// }},
// NotificationSenderEmail: to.Ptr("apimgmt-noreply@mail.windowsazure.com"),
// PlatformVersion: to.Ptr(armapimanagement.PlatformVersionMtv1),
// ProvisioningState: to.Ptr("Succeeded"),
// TargetProvisioningState: to.Ptr(""),
// VirtualNetworkType: to.Ptr(armapimanagement.VirtualNetworkTypeNone),
// PublisherEmail: to.Ptr("apim@autorestsdk.com"),
// PublisherName: to.Ptr("autorestsdk"),
// },
// SKU: &armapimanagement.ServiceSKUProperties{
// Name: to.Ptr(armapimanagement.SKUTypeConsumption),
// Capacity: to.Ptr[int32](0),
// },
// SystemData: &armapimanagement.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-01T01:01:01.107Z"); return t}()),
// CreatedBy: to.Ptr("string"),
// CreatedByType: to.Ptr(armapimanagement.CreatedByTypeApplication),
// LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-02T02:03:01.197Z"); return t}()),
// LastModifiedBy: to.Ptr("string"),
// LastModifiedByType: to.Ptr(armapimanagement.CreatedByTypeApplication),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { ApiManagementClient } = require("@azure/arm-apimanagement");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates an API Management service. This is long running operation and could take several minutes to complete.
*
* @summary Creates or updates an API Management service. This is long running operation and could take several minutes to complete.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateServiceWithUserAssignedIdentity.json
*/
async function apiManagementCreateServiceWithUserAssignedIdentity() {
const subscriptionId = process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const parameters = {
identity: {
type: "UserAssigned",
userAssignedIdentities: {
"/subscriptions/subid/resourcegroups/rg1/providers/MicrosoftManagedIdentity/userAssignedIdentities/apimService1":
{},
},
},
location: "West US",
publisherEmail: "apim@autorestsdk.com",
publisherName: "autorestsdk",
sku: { name: "Consumption", capacity: 0 },
tags: { tag1: "value1", tag2: "value2", tag3: "value3" },
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.apiManagementService.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
Location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/ZWFzdHVzOmFuZHktdGVzdGluZy0yMDIyLTA0LTAxLXByZXZpZXctNF9BY3RfODQ2ZWE4Ng==?api-version=2022-08-01&asyncResponse
Azure-AsyncOperation: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/ZWFzdHVzOmFuZHktdGVzdGluZy0yMDIyLTA0LTAxLXByZXZpZXctNF9BY3RfODQ2ZWE4Ng==?api-version=2022-08-01&asyncResponse
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
"name": "apimService1",
"type": "Microsoft.ApiManagement/service",
"tags": {
"tag1": "value1",
"tag2": "value2",
"tag3": "value3"
},
"location": "West US",
"etag": "AAAAAAAFzyQ=",
"properties": {
"publisherEmail": "apim@autorestsdk.com",
"publisherName": "autorestsdk",
"notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
"provisioningState": "Created",
"targetProvisioningState": "Activating",
"createdAtUtc": "2020-03-12T01:05:33.4573398Z",
"hostnameConfigurations": [
{
"type": "Proxy",
"hostName": "apimService1.azure-api.net",
"negotiateClientCertificate": false,
"defaultSslBinding": true,
"certificateSource": "BuiltIn"
}
],
"virtualNetworkType": "None",
"platformVersion": "mtv1"
},
"sku": {
"name": "Consumption",
"capacity": 0
},
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/apimService1": {}
}
},
"systemData": {
"createdBy": "string",
"createdByType": "Application",
"createdAt": "2020-02-01T01:01:01.1075056Z",
"lastModifiedBy": "string",
"lastModifiedByType": "Application",
"lastModifiedAt": "2020-02-02T02:03:01.1974346Z"
}
}
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
"name": "apimService1",
"type": "Microsoft.ApiManagement/service",
"tags": {
"tag1": "value1",
"tag2": "value2",
"tag3": "value3"
},
"location": "West US",
"etag": "AAAAAAAFzyk=",
"properties": {
"publisherEmail": "apim@autorestsdk.com",
"publisherName": "autorestsdk",
"notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
"provisioningState": "Succeeded",
"targetProvisioningState": "",
"createdAtUtc": "2020-03-12T01:05:33.4573398Z",
"gatewayUrl": "https://apimService1.azure-api.net",
"hostnameConfigurations": [
{
"type": "Proxy",
"hostName": "apimService1.azure-api.net",
"negotiateClientCertificate": false,
"defaultSslBinding": true,
"certificateSource": "BuiltIn"
}
],
"customProperties": {
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
},
"virtualNetworkType": "None",
"disableGateway": false,
"platformVersion": "mtv1"
},
"sku": {
"name": "Consumption",
"capacity": 0
},
"identity": {
"type": "UserAssigned",
"tenantId": "00000000-86f1-41af-0000-2d7cd011db47",
"userAssignedIdentities": {
"/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/apimService1": {
"principalId": "00000000-6e62-4649-9f54-a119fc1ba85e",
"clientId": "5a2c6b8e-0905-0000-a772-993c9418137f"
}
}
},
"systemData": {
"createdBy": "string",
"createdByType": "Application",
"createdAt": "2020-02-01T01:01:01.1075056Z",
"lastModifiedBy": "string",
"lastModifiedByType": "Application",
"lastModifiedAt": "2020-02-02T02:03:01.1974346Z"
}
}
ApiManagementUndelete
Sample Request
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1?api-version=2022-08-01
{
"properties": {
"publisherEmail": "foo@contoso.com",
"publisherName": "foo",
"restore": true
},
"sku": {
"name": "Developer",
"capacity": 1
},
"location": "South Central US"
}
import com.azure.resourcemanager.apimanagement.models.ApiManagementServiceSkuProperties;
import com.azure.resourcemanager.apimanagement.models.SkuType;
import java.util.HashMap;
import java.util.Map;
/** Samples for ApiManagementService CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementUndelete.json
*/
/**
* Sample code: ApiManagementUndelete.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementUndelete(com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager
.apiManagementServices()
.define("apimService1")
.withRegion("South Central US")
.withExistingResourceGroup("rg1")
.withSku(new ApiManagementServiceSkuProperties().withName(SkuType.DEVELOPER).withCapacity(1))
.withPublisherEmail("foo@contoso.com")
.withPublisherName("foo")
.withRestore(true)
.create();
}
// Use "Map.of" if available
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_undelete.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.api_management_service.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
parameters={
"location": "South Central US",
"properties": {"publisherEmail": "foo@contoso.com", "publisherName": "foo", "restore": True},
"sku": {"capacity": 1, "name": "Developer"},
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementUndelete.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4cd95123fb961c68740565a1efcaa5e43bd35802/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementUndelete.json
func ExampleServiceClient_BeginCreateOrUpdate_apiManagementUndelete() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armapimanagement.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewServiceClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", armapimanagement.ServiceResource{
Location: to.Ptr("South Central US"),
Properties: &armapimanagement.ServiceProperties{
Restore: to.Ptr(true),
PublisherEmail: to.Ptr("foo@contoso.com"),
PublisherName: to.Ptr("foo"),
},
SKU: &armapimanagement.ServiceSKUProperties{
Name: to.Ptr(armapimanagement.SKUTypeDeveloper),
Capacity: to.Ptr[int32](1),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.ServiceResource = armapimanagement.ServiceResource{
// Name: to.Ptr("apimService1"),
// Type: to.Ptr("Microsoft.ApiManagement/service"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1"),
// Etag: to.Ptr("AAAAAAAp3T4="),
// Location: to.Ptr("South Central US"),
// Properties: &armapimanagement.ServiceProperties{
// APIVersionConstraint: &armapimanagement.APIVersionConstraint{
// },
// CreatedAtUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-12-18T06:10:56.032Z"); return t}()),
// CustomProperties: map[string]*string{
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": to.Ptr("False"),
// "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": to.Ptr("False"),
// },
// DeveloperPortalURL: to.Ptr("https://apimService1.developer.azure-api.net"),
// DisableGateway: to.Ptr(false),
// GatewayRegionalURL: to.Ptr("https://apimService1-southcentralus-01.regional.azure-api.net"),
// GatewayURL: to.Ptr("https://apimService1.azure-api.net"),
// HostnameConfigurations: []*armapimanagement.HostnameConfiguration{
// {
// Type: to.Ptr(armapimanagement.HostnameTypeProxy),
// DefaultSSLBinding: to.Ptr(true),
// HostName: to.Ptr("apimService1.azure-api.net"),
// NegotiateClientCertificate: to.Ptr(false),
// }},
// ManagementAPIURL: to.Ptr("https://apimService1.management.azure-api.net"),
// NotificationSenderEmail: to.Ptr("apimgmt-noreply@mail.windowsazure.com"),
// PortalURL: to.Ptr("https://apimService1.portal.azure-api.net"),
// ProvisioningState: to.Ptr("Succeeded"),
// PublicIPAddresses: []*string{
// to.Ptr("23.102.171.124")},
// ScmURL: to.Ptr("https://apimService1.scm.azure-api.net"),
// TargetProvisioningState: to.Ptr(""),
// VirtualNetworkType: to.Ptr(armapimanagement.VirtualNetworkTypeNone),
// PublisherEmail: to.Ptr("foo@contoso.com"),
// PublisherName: to.Ptr("foo"),
// },
// SKU: &armapimanagement.ServiceSKUProperties{
// Name: to.Ptr(armapimanagement.SKUTypeDeveloper),
// Capacity: to.Ptr[int32](1),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { ApiManagementClient } = require("@azure/arm-apimanagement");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates an API Management service. This is long running operation and could take several minutes to complete.
*
* @summary Creates or updates an API Management service. This is long running operation and could take several minutes to complete.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementUndelete.json
*/
async function apiManagementUndelete() {
const subscriptionId = process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const parameters = {
location: "South Central US",
publisherEmail: "foo@contoso.com",
publisherName: "foo",
restore: true,
sku: { name: "Developer", capacity: 1 },
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.apiManagementService.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
Location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/ZWFzdHVzOmFuZHktdGVzdGluZy0yMDIyLTA0LTAxLXByZXZpZXctNF9BY3RfODQ2ZWE4Ng==?api-version=2022-08-01&asyncResponse
Azure-AsyncOperation: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/ZWFzdHVzOmFuZHktdGVzdGluZy0yMDIyLTA0LTAxLXByZXZpZXctNF9BY3RfODQ2ZWE4Ng==?api-version=2022-08-01&asyncResponse
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
"name": "apimService1",
"type": "Microsoft.ApiManagement/service",
"location": "South Central US",
"etag": "AAAAAAAp3P0=",
"properties": {
"publisherEmail": "foo@contoso.com",
"publisherName": "foo",
"notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
"provisioningState": "Created",
"targetProvisioningState": "Activating",
"createdAtUtc": "2019-12-18T06:10:56.0327105Z",
"hostnameConfigurations": [
{
"type": "Proxy",
"hostName": "apimService1.azure-api.net",
"negotiateClientCertificate": false,
"defaultSslBinding": true
}
],
"virtualNetworkType": "None",
"disableGateway": false,
"apiVersionConstraint": {}
},
"sku": {
"name": "Developer",
"capacity": 1
}
}
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
"name": "apimService1",
"type": "Microsoft.ApiManagement/service",
"location": "South Central US",
"etag": "AAAAAAAp3T4=",
"properties": {
"publisherEmail": "foo@contoso.com",
"publisherName": "foo",
"notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
"provisioningState": "Succeeded",
"targetProvisioningState": "",
"createdAtUtc": "2019-12-18T06:10:56.0327105Z",
"gatewayUrl": "https://apimService1.azure-api.net",
"gatewayRegionalUrl": "https://apimService1-southcentralus-01.regional.azure-api.net",
"portalUrl": "https://apimService1.portal.azure-api.net",
"developerPortalUrl": "https://apimService1.developer.azure-api.net",
"managementApiUrl": "https://apimService1.management.azure-api.net",
"scmUrl": "https://apimService1.scm.azure-api.net",
"hostnameConfigurations": [
{
"type": "Proxy",
"hostName": "apimService1.azure-api.net",
"negotiateClientCertificate": false,
"defaultSslBinding": true
}
],
"publicIPAddresses": [
"23.102.171.124"
],
"customProperties": {
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
"Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
},
"virtualNetworkType": "None",
"disableGateway": false,
"apiVersionConstraint": {}
},
"sku": {
"name": "Developer",
"capacity": 1
}
}
Definicje
Nazwa |
Opis |
AdditionalLocation
|
Opis dodatkowej lokalizacji zasobu API Management.
|
ApiManagementServiceIdentity
|
Właściwości tożsamości zasobu usługi Api Management.
|
ApiManagementServiceResource
|
Pojedynczy zasób usługi API Management w obszarze Lista lub Uzyskiwanie odpowiedzi.
|
ApiManagementServiceSkuProperties
|
API Management właściwości jednostki SKU zasobu usługi.
|
ApimIdentityType
|
Typ tożsamości używanej dla zasobu. Typ "SystemAssigned, UserAssigned" zawiera zarówno niejawnie utworzoną tożsamość, jak i zestaw tożsamości przypisanych przez użytkownika. Typ "None" spowoduje usunięcie tożsamości z usługi.
|
ApiVersionConstraint
|
Ograniczenie wersji interfejsu API płaszczyzny sterowania dla usługi API Management.
|
ArmIdWrapper
|
Otoka identyfikatora zasobu usługi ARM
|
CertificateConfiguration
|
Konfiguracja certyfikatu składająca się z niezauwierzonych pośrednich i certyfikatów głównych.
|
CertificateInformation
|
Informacje o certyfikacie SSL.
|
CertificateSource
|
Źródło certyfikatu.
|
CertificateStatus
|
Stan certyfikatu.
|
createdByType
|
Typ tożsamości, która utworzyła zasób.
|
ErrorFieldContract
|
Błąd Kontrakt pola.
|
ErrorResponse
|
Odpowiedź na błąd.
|
HostnameConfiguration
|
Niestandardowa konfiguracja nazwy hosta.
|
HostnameType
|
Typ nazwy hosta.
|
NatGatewayState
|
Właściwość może służyć do włączania bramy translatora adresów sieciowych dla tej usługi API Management.
|
PlatformVersion
|
Wersja platformy obliczeniowej z uruchomioną usługą.
|
PrivateEndpointServiceConnectionStatus
|
Stan połączenia prywatnego punktu końcowego.
|
PrivateLinkServiceConnectionState
|
Zbiór informacji o stanie połączenia między użytkownikiem usługi a dostawcą.
|
PublicNetworkAccess
|
Niezależnie od tego, czy dostęp do publicznego punktu końcowego jest dozwolony dla tej usługi API Management. Wartość jest opcjonalna, ale jeśli została przekazana, musi mieć wartość "Włączone" lub "Wyłączone". Jeśli wartość "Wyłączone", prywatne punkty końcowe są metodą wyłącznego dostępu. Wartość domyślna to "Włączone"
|
RemotePrivateEndpointConnectionWrapper
|
Zasób połączenia z zdalnym prywatnym punktem końcowym.
|
SkuType
|
Nazwa jednostki SKU.
|
systemData
|
Metadane dotyczące tworzenia i ostatniej modyfikacji zasobu.
|
UserIdentityProperties
|
|
VirtualNetworkConfiguration
|
Konfiguracja sieci wirtualnej, w której wdrożono usługę API Management.
|
VirtualNetworkType
|
Typ sieci VPN, w której należy skonfigurować usługę API Management. Brak (wartość domyślna) oznacza, że usługa API Management nie jest częścią żadnego Virtual Network, zewnętrzne oznacza, że wdrożenie API Management jest skonfigurowane wewnątrz Virtual Network mającego internetowy punkt końcowy, a wewnętrzny oznacza, że API Management wdrożenie jest konfigurowane w Virtual Network tylko w punkcie końcowym dostępnym w intranecie.
|
AdditionalLocation
Opis dodatkowej lokalizacji zasobu API Management.
Nazwa |
Typ |
Wartość domyślna |
Opis |
disableGateway
|
boolean
|
False
|
Właściwość jest prawidłowa tylko dla usługi Api Management wdrożonej w wielu lokalizacjach. Może to służyć do wyłączania bramy w tej dodatkowej lokalizacji.
|
gatewayRegionalUrl
|
string
|
|
Adres URL bramy usługi API Management w regionie.
|
location
|
string
|
|
Nazwa lokalizacji dodatkowego regionu między regionami centrum danych platformy Azure.
|
natGatewayState
|
NatGatewayState
|
Disabled
|
Właściwość może służyć do włączania bramy translatora adresów sieciowych dla tej usługi API Management.
|
outboundPublicIPAddresses
|
string[]
|
|
Prefiksy publicznych adresów IPV4 dla ruchu wychodzącego skojarzone z wdrożonym usługą bramy translatora adresów sieciowych. Dostępne tylko dla jednostki SKU Premium na platformie stv2.
|
platformVersion
|
PlatformVersion
|
|
Wersja platformy obliczeniowej z uruchomioną usługą.
|
privateIPAddresses
|
string[]
|
|
Prywatne statyczne adresy IP usługi API Management wdrożonej w wewnętrznej Virtual Network w określonej dodatkowej lokalizacji. Dostępne tylko dla jednostek SKU w warstwie Podstawowa, Standardowa, Premium i Izolowana.
|
publicIPAddresses
|
string[]
|
|
Publiczne statyczne adresy IP usługi API Management w dodatkowej lokalizacji. Dostępne tylko dla jednostek SKU w warstwie Podstawowa, Standardowa, Premium i Izolowana.
|
publicIpAddressId
|
string
|
|
Publiczny adres IP jednostki SKU w wersji 4, który ma być skojarzony z usługą wdrożona Virtual Network w lokalizacji. Obsługiwane tylko w przypadku jednostki SKU w warstwie Premium wdrażanej w Virtual Network.
|
sku
|
ApiManagementServiceSkuProperties
|
|
Właściwości jednostki SKU usługi API Management.
|
virtualNetworkConfiguration
|
VirtualNetworkConfiguration
|
|
Konfiguracja sieci wirtualnej dla lokalizacji.
|
zones
|
string[]
|
|
Lista stref dostępności oznaczających miejsce, z którego ma pochodzić zasób.
|
ApiManagementServiceIdentity
Właściwości tożsamości zasobu usługi Api Management.
Nazwa |
Typ |
Opis |
principalId
|
string
|
Identyfikator podmiotu zabezpieczeń tożsamości.
|
tenantId
|
string
|
Identyfikator dzierżawy klienta tożsamości.
|
type
|
ApimIdentityType
|
Typ tożsamości używanej dla zasobu. Typ "SystemAssigned, UserAssigned" zawiera zarówno niejawnie utworzoną tożsamość, jak i zestaw tożsamości przypisanych przez użytkownika. Typ "Brak" spowoduje usunięcie wszystkich tożsamości z usługi.
|
userAssignedIdentities
|
<string,
UserIdentityProperties>
|
Lista tożsamości użytkowników skojarzonych z zasobem. Odwołania do klucza słownika tożsamości użytkownika będą identyfikatorami zasobów usługi ARM w postaci: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}".
|
ApiManagementServiceResource
Pojedynczy zasób usługi API Management w obszarze Lista lub Uzyskiwanie odpowiedzi.
Nazwa |
Typ |
Wartość domyślna |
Opis |
etag
|
string
|
|
Element ETag zasobu.
|
id
|
string
|
|
Identyfikator zasobu.
|
identity
|
ApiManagementServiceIdentity
|
|
Tożsamość usługi zarządzanej usługi Api Management.
|
location
|
string
|
|
Lokalizacja zasobu.
|
name
|
string
|
|
Nazwa zasobu.
|
properties.additionalLocations
|
AdditionalLocation[]
|
|
Dodatkowe lokalizacje centrum danych usługi API Management.
|
properties.apiVersionConstraint
|
ApiVersionConstraint
|
|
Ograniczenie wersji interfejsu API płaszczyzny sterowania dla usługi API Management.
|
properties.certificates
|
CertificateConfiguration[]
|
|
Lista certyfikatów, które należy zainstalować w usłudze API Management. Maksymalna obsługiwana liczba obsługiwanych certyfikatów, które można zainstalować, to 10.
|
properties.createdAtUtc
|
string
|
|
Data utworzenia czasu UTC usługi API Management. Data jest zgodna z następującym formatem: yyyy-MM-ddTHH:mm:ssZ zgodnie z normą ISO 8601.
|
properties.customProperties
|
object
|
|
Właściwości niestandardowe usługi API Management. Ustawienie Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 spowoduje wyłączenie TLS_RSA_WITH_3DES_EDE_CBC_SHA szyfrowania dla wszystkich protokołów TLS(1.0, 1.1 i 1.2). Ustawienie Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 może służyć do wyłączania tylko protokołu TLS 1.1. Ustawienie Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 może służyć do wyłączania protokołu TLS 1.0 w usłudze API Management. Ustawienie Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 może służyć do wyłączania tylko protokołu TLS 1.1 na potrzeby komunikacji z zapleczami. Ustawienie Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 może służyć do wyłączania protokołu TLS 1.0 na potrzeby komunikacji z zapleczami. Ustawienie Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2 może służyć do włączania protokołu HTTP2 w usłudze API Management. Nie określono żadnej z tych właściwości operacji PATCH spowoduje zresetowanie wartości właściwości pominiętych do ich wartości domyślnych. Dla wszystkich ustawień z wyjątkiem Http2 wartość domyślna jest wtedy True , gdy usługa została utworzona w dniu lub przed 1 kwietnia 2018 r. i False w inny sposób. Wartość domyślna ustawienia Http2 to False .
Można wyłączyć dowolne z następujących szyfrów przy użyciu ustawień Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name] : TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. Na przykład :Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256 false . Wartość domyślna to true dla nich. Uwaga: nie można wyłączyć następujących szyfrów, ponieważ są one wymagane przez wewnętrzne składniki platformy: TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
|
properties.developerPortalUrl
|
string
|
|
Adres URL punktu końcowego portalu DEveloper usługi API Management.
|
properties.disableGateway
|
boolean
|
False
|
Właściwość jest prawidłowa tylko dla usługi Api Management wdrożonej w wielu lokalizacjach. Może to służyć do wyłączania bramy w regionie głównym.
|
properties.enableClientCertificate
|
boolean
|
False
|
Właściwość przeznaczona tylko do użycia w przypadku usługi SKU Zużycie. Wymusza to przedstawienie certyfikatu klienta na każdym żądaniu do bramy. Umożliwia to również uwierzytelnianie certyfikatu w zasadach w bramie.
|
properties.gatewayRegionalUrl
|
string
|
|
Adres URL bramy usługi API Management w regionie domyślnym.
|
properties.gatewayUrl
|
string
|
|
Adres URL bramy usługi API Management.
|
properties.hostnameConfigurations
|
HostnameConfiguration[]
|
|
Niestandardowa konfiguracja nazwy hosta usługi API Management.
|
properties.managementApiUrl
|
string
|
|
Adres URL punktu końcowego interfejsu API zarządzania usługi API Management.
|
properties.natGatewayState
|
NatGatewayState
|
Disabled
|
Właściwość może służyć do włączania bramy translatora adresów sieciowych dla tej usługi API Management.
|
properties.notificationSenderEmail
|
string
|
|
Email adres, z którego zostanie wysłane powiadomienie.
|
properties.outboundPublicIPAddresses
|
string[]
|
|
Wychodzące prefiksy publicznych adresów IPV4 skojarzone z wdrożonym usługą bramy translatora adresów sieciowych. Dostępne tylko dla jednostki SKU Premium na platformie stv2.
|
properties.platformVersion
|
PlatformVersion
|
|
Wersja platformy obliczeniowej z uruchomioną usługą w tej lokalizacji.
|
properties.portalUrl
|
string
|
|
Adres URL punktu końcowego portalu wydawcy usługi API Management.
|
properties.privateEndpointConnections
|
RemotePrivateEndpointConnectionWrapper[]
|
|
Lista połączeń prywatnego punktu końcowego tej usługi.
|
properties.privateIPAddresses
|
string[]
|
|
Prywatne statyczne adresy IP usługi API Management w regionie podstawowym, które są wdrażane w wewnętrznym Virtual Network. Dostępne tylko dla jednostek SKU w warstwie Podstawowa, Standardowa, Premium i Izolowana.
|
properties.provisioningState
|
string
|
|
Bieżący stan aprowizacji usługi API Management, która może być jedną z następujących wartości: Utworzono/Aktywowanie/Powodzenie/Aktualizowanie/Niepowodzenie/Zatrzymano/Zakończenie/ZakończenieFailed/Deleted.
|
properties.publicIPAddresses
|
string[]
|
|
Publiczne statyczne adresy IP usługi API Management w regionie podstawowym. Dostępne tylko dla jednostek SKU w warstwie Podstawowa, Standardowa, Premium i Izolowana.
|
properties.publicIpAddressId
|
string
|
|
Publiczny standardowy adres IP jednostki SKU w wersji 4, który ma być skojarzony z Virtual Network wdrożona usługa w regionie. Obsługiwane tylko w przypadku jednostki SKU developer i Premium wdrażanej w Virtual Network.
|
properties.publicNetworkAccess
|
PublicNetworkAccess
|
|
Niezależnie od tego, czy dostęp do publicznego punktu końcowego jest dozwolony dla tej usługi API Management. Wartość jest opcjonalna, ale jeśli została przekazana, musi mieć wartość "Włączone" lub "Wyłączone". Jeśli wartość "Wyłączone", prywatne punkty końcowe są metodą wyłącznego dostępu. Wartość domyślna to "Włączone"
|
properties.publisherEmail
|
string
|
|
Adres e-mail wydawcy.
|
properties.publisherName
|
string
|
|
Nazwa wydawcy.
|
properties.restore
|
boolean
|
False
|
Cofanie usuwania usługi Api Management, jeśli została wcześniej usunięta nietrwale. Jeśli ta flaga zostanie określona i ustawiona na True, wszystkie inne właściwości zostaną zignorowane.
|
properties.scmUrl
|
string
|
|
Adres URL punktu końcowego SCM usługi API Management.
|
properties.targetProvisioningState
|
string
|
|
Stan aprowizacji usługi API Management, która jest objęta długotrwałą operacją uruchomioną w usłudze.
|
properties.virtualNetworkConfiguration
|
VirtualNetworkConfiguration
|
|
Konfiguracja sieci wirtualnej usługi API Management.
|
properties.virtualNetworkType
|
VirtualNetworkType
|
None
|
Typ sieci VPN, w której należy skonfigurować usługę API Management. Brak (wartość domyślna) oznacza, że usługa API Management nie jest częścią żadnego Virtual Network, zewnętrzne oznacza, że wdrożenie API Management jest skonfigurowane wewnątrz Virtual Network mającego internetowy punkt końcowy, a wewnętrzny oznacza, że API Management wdrożenie jest konfigurowane w Virtual Network tylko w punkcie końcowym dostępnym w intranecie.
|
sku
|
ApiManagementServiceSkuProperties
|
|
Właściwości jednostki SKU usługi API Management.
|
systemData
|
systemData
|
|
Metadane dotyczące tworzenia i ostatniej modyfikacji zasobu.
|
tags
|
object
|
|
Tagi zasobów.
|
type
|
string
|
|
Typ zasobu API Management jest ustawiony na Wartość Microsoft.ApiManagement.
|
zones
|
string[]
|
|
Lista stref dostępności oznaczających miejsce, z którego ma pochodzić zasób.
|
ApiManagementServiceSkuProperties
API Management właściwości jednostki SKU zasobu usługi.
Nazwa |
Typ |
Opis |
capacity
|
integer
|
Pojemność jednostki SKU (liczba wdrożonych jednostek SKU). W przypadku pojemności jednostki SKU zużycie należy określić wartość 0.
|
name
|
SkuType
|
Nazwa jednostki SKU.
|
ApimIdentityType
Typ tożsamości używanej dla zasobu. Typ "SystemAssigned, UserAssigned" zawiera zarówno niejawnie utworzoną tożsamość, jak i zestaw tożsamości przypisanych przez użytkownika. Typ "None" spowoduje usunięcie tożsamości z usługi.
Nazwa |
Typ |
Opis |
None
|
string
|
|
SystemAssigned
|
string
|
|
SystemAssigned, UserAssigned
|
string
|
|
UserAssigned
|
string
|
|
ApiVersionConstraint
Ograniczenie wersji interfejsu API płaszczyzny sterowania dla usługi API Management.
Nazwa |
Typ |
Opis |
minApiVersion
|
string
|
Ogranicz wywołania interfejsu API płaszczyzny sterowania do usługi API Management o wersji równej lub nowszej niż ta wartość.
|
ArmIdWrapper
Otoka identyfikatora zasobu usługi ARM
CertificateConfiguration
Konfiguracja certyfikatu składająca się z niezauwierzonych pośrednich i certyfikatów głównych.
Nazwa |
Typ |
Opis |
certificate
|
CertificateInformation
|
Informacje o certyfikacie.
|
certificatePassword
|
string
|
Hasło certyfikatu.
|
encodedCertificate
|
string
|
Certyfikat zakodowany w formacie Base64.
|
storeName
|
enum:
-
CertificateAuthority
-
Root
|
Lokalizacja magazynu certyfikatów System.Security.Cryptography.x509certificates.StoreName. Prawidłowe lokalizacje to tylko katalog główny i certyfikatu.
|
Informacje o certyfikacie SSL.
Nazwa |
Typ |
Opis |
expiry
|
string
|
Data wygaśnięcia certyfikatu. Data jest zgodna z następującym formatem: yyyy-MM-ddTHH:mm:ssZ zgodnie z normą ISO 8601.
|
subject
|
string
|
Podmiot certyfikatu.
|
thumbprint
|
string
|
Odcisk palca certyfikatu.
|
CertificateSource
Źródło certyfikatu.
Nazwa |
Typ |
Opis |
BuiltIn
|
string
|
|
Custom
|
string
|
|
KeyVault
|
string
|
|
Managed
|
string
|
|
CertificateStatus
Stan certyfikatu.
Nazwa |
Typ |
Opis |
Completed
|
string
|
|
Failed
|
string
|
|
InProgress
|
string
|
|
createdByType
Typ tożsamości, która utworzyła zasób.
Nazwa |
Typ |
Opis |
Application
|
string
|
|
Key
|
string
|
|
ManagedIdentity
|
string
|
|
User
|
string
|
|
ErrorFieldContract
Błąd Kontrakt pola.
Nazwa |
Typ |
Opis |
code
|
string
|
Kod błędu poziomu właściwości.
|
message
|
string
|
Czytelna dla człowieka reprezentacja błędu na poziomie właściwości.
|
target
|
string
|
Nazwa właściwości.
|
ErrorResponse
Odpowiedź na błąd.
Nazwa |
Typ |
Opis |
error.code
|
string
|
Kod błędu zdefiniowany przez usługę. Ten kod służy jako podstan kodu błędu HTTP określonego w odpowiedzi.
|
error.details
|
ErrorFieldContract[]
|
Lista nieprawidłowych pól wysyłanych w żądaniu w przypadku błędu walidacji.
|
error.message
|
string
|
Czytelna dla człowieka reprezentacja błędu.
|
HostnameConfiguration
Niestandardowa konfiguracja nazwy hosta.
Nazwa |
Typ |
Wartość domyślna |
Opis |
certificate
|
CertificateInformation
|
|
Informacje o certyfikacie.
|
certificatePassword
|
string
|
|
Hasło certyfikatu.
|
certificateSource
|
CertificateSource
|
|
Źródło certyfikatu.
|
certificateStatus
|
CertificateStatus
|
|
Stan certyfikatu.
|
defaultSslBinding
|
boolean
|
False
|
Określ wartość true, aby skonfigurować certyfikat skojarzony z tą nazwą hosta jako domyślny certyfikat SSL. Jeśli klient nie wysyła nagłówka SNI, będzie to certyfikat, który zostanie zakwestionowany. Właściwość jest przydatna, jeśli usługa ma włączoną wiele niestandardowych nazw hostów i musi zdecydować o domyślnym certyfikacie SSL. Ustawienie stosowane tylko do typu nazwy hosta bramy.
|
encodedCertificate
|
string
|
|
Certyfikat zakodowany w formacie Base64.
|
hostName
|
string
|
|
Nazwa hosta do skonfigurowania w usłudze Api Management.
|
identityClientId
|
string
|
|
Identyfikator clientId przypisanej przez system lub użytkownika tożsamości zarządzanej wygenerowany przez Azure AD, który ma dostęp GET do magazynu kluczy zawierającego certyfikat SSL.
|
keyVaultId
|
string
|
|
Adres URL wpisu tajnego usługi KeyVault zawierającego certyfikat SSL. Jeśli podano bezwzględny adres URL zawierający wersję, automatyczna aktualizacja certyfikatu SSL nie będzie działać. Wymaga to skonfigurowania usługi Api Management przy użyciu aka.ms/apimmsi. Wpis tajny powinien być typu application/x-pkcs12
|
negotiateClientCertificate
|
boolean
|
False
|
Określ wartość true, aby zawsze negocjować certyfikat klienta na nazwie hosta. Wartość domyślna to false.
|
type
|
HostnameType
|
|
Typ nazwy hosta.
|
HostnameType
Typ nazwy hosta.
Nazwa |
Typ |
Opis |
DeveloperPortal
|
string
|
|
Management
|
string
|
|
Portal
|
string
|
|
Proxy
|
string
|
|
Scm
|
string
|
|
NatGatewayState
Właściwość może służyć do włączania bramy translatora adresów sieciowych dla tej usługi API Management.
Nazwa |
Typ |
Opis |
Disabled
|
string
|
Brama translatora adresów sieciowych jest wyłączona dla usługi.
|
Enabled
|
string
|
Brama translatora adresów sieciowych jest włączona dla usługi.
|
Wersja platformy obliczeniowej z uruchomioną usługą.
Nazwa |
Typ |
Opis |
mtv1
|
string
|
Platforma z uruchomioną usługą na platformie Multi Tenant V1.
|
stv1
|
string
|
Platforma z uruchomioną usługą na platformie Single Tenant V1.
|
stv2
|
string
|
Platforma z uruchomioną usługą na platformie Single Tenant V2.
|
undetermined
|
string
|
Nie można określić wersji platformy, ponieważ platforma obliczeniowa nie jest wdrożona.
|
PrivateEndpointServiceConnectionStatus
Stan połączenia prywatnego punktu końcowego.
Nazwa |
Typ |
Opis |
Approved
|
string
|
|
Pending
|
string
|
|
Rejected
|
string
|
|
PrivateLinkServiceConnectionState
Zbiór informacji o stanie połączenia między użytkownikiem usługi a dostawcą.
Nazwa |
Typ |
Opis |
actionsRequired
|
string
|
Komunikat wskazujący, czy zmiany dostawcy usług wymagają aktualizacji dla konsumenta.
|
description
|
string
|
Przyczyna zatwierdzenia/odrzucenia połączenia.
|
status
|
PrivateEndpointServiceConnectionStatus
|
Wskazuje, czy połączenie zostało zatwierdzone/odrzucone/usunięte przez właściciela usługi.
|
PublicNetworkAccess
Niezależnie od tego, czy dostęp do publicznego punktu końcowego jest dozwolony dla tej usługi API Management. Wartość jest opcjonalna, ale jeśli została przekazana, musi mieć wartość "Włączone" lub "Wyłączone". Jeśli wartość "Wyłączone", prywatne punkty końcowe są metodą wyłącznego dostępu. Wartość domyślna to "Włączone"
Nazwa |
Typ |
Opis |
Disabled
|
string
|
|
Enabled
|
string
|
|
RemotePrivateEndpointConnectionWrapper
Zasób połączenia z zdalnym prywatnym punktem końcowym.
Nazwa |
Typ |
Opis |
id
|
string
|
Identyfikator zasobu połączenia z prywatnym punktem końcowym
|
name
|
string
|
Nazwa połączenia prywatnego punktu końcowego
|
properties.groupIds
|
string[]
|
Wszystkie identyfikatory grup.
|
properties.privateEndpoint
|
ArmIdWrapper
|
Zasób prywatnego punktu końcowego.
|
properties.privateLinkServiceConnectionState
|
PrivateLinkServiceConnectionState
|
Kolekcja informacji o stanie połączenia między konsumentem usługi a dostawcą.
|
properties.provisioningState
|
string
|
Stan aprowizacji zasobu połączenia prywatnego punktu końcowego.
|
type
|
string
|
Typ zasobu połączenia prywatnego punktu końcowego
|
SkuType
Nazwa jednostki SKU.
Nazwa |
Typ |
Opis |
Basic
|
string
|
Podstawowa jednostka SKU usługi Api Management.
|
Consumption
|
string
|
Jednostka SKU użycia usługi Api Management.
|
Developer
|
string
|
Jednostka SKU dewelopera usługi Api Management.
|
Isolated
|
string
|
Izolowana jednostka SKU usługi Api Management.
|
Premium
|
string
|
Jednostka SKU w warstwie Premium usługi Api Management.
|
Standard
|
string
|
Standardowa jednostka SKU usługi Api Management.
|
systemData
Metadane dotyczące tworzenia i ostatniej modyfikacji zasobu.
Nazwa |
Typ |
Opis |
createdAt
|
string
|
Sygnatura czasowa tworzenia zasobów (UTC).
|
createdBy
|
string
|
Tożsamość, która utworzyła zasób.
|
createdByType
|
createdByType
|
Typ tożsamości, która utworzyła zasób.
|
lastModifiedAt
|
string
|
Sygnatura czasowa ostatniej modyfikacji zasobu (UTC)
|
lastModifiedBy
|
string
|
Tożsamość, która ostatnio zmodyfikowała zasób.
|
lastModifiedByType
|
createdByType
|
Typ tożsamości, która ostatnio zmodyfikowała zasób.
|
UserIdentityProperties
Nazwa |
Typ |
Opis |
clientId
|
string
|
Identyfikator klienta tożsamości przypisanej przez użytkownika.
|
principalId
|
string
|
Identyfikator podmiotu zabezpieczeń tożsamości przypisanej przez użytkownika.
|
VirtualNetworkConfiguration
Konfiguracja sieci wirtualnej, w której wdrożono usługę API Management.
Nazwa |
Typ |
Opis |
subnetResourceId
|
string
|
Pełny identyfikator zasobu podsieci w sieci wirtualnej w celu wdrożenia usługi API Management.
|
subnetname
|
string
|
Nazwa podsieci.
|
vnetid
|
string
|
Identyfikator sieci wirtualnej. Jest to zazwyczaj identyfikator GUID. Domyślnie oczekiwano identyfikatora GUID o wartości null.
|
VirtualNetworkType
Typ sieci VPN, w której należy skonfigurować usługę API Management. Brak (wartość domyślna) oznacza, że usługa API Management nie jest częścią żadnego Virtual Network, zewnętrzne oznacza, że wdrożenie API Management jest skonfigurowane wewnątrz Virtual Network mającego internetowy punkt końcowy, a wewnętrzny oznacza, że API Management wdrożenie jest konfigurowane w Virtual Network tylko w punkcie końcowym dostępnym w intranecie.
Nazwa |
Typ |
Opis |
External
|
string
|
Usługa jest częścią Virtual Network i jest dostępna z Internetu.
|
Internal
|
string
|
Usługa jest częścią Virtual Network i jest dostępna tylko z poziomu sieci wirtualnej.
|
None
|
string
|
Usługa nie jest częścią żadnego Virtual Network.
|