Erstellt oder aktualisiert einen API Management-Dienst. Dies ist ein lang andauernder Vorgang, der einige Minuten dauern kann.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}?api-version=2022-08-01
URI-Parameter
Name |
In |
Erforderlich |
Typ |
Beschreibung |
resourceGroupName
|
path |
True
|
string
|
Der Name der Ressourcengruppe. Für den Namen wird die Groß-/Kleinschreibung nicht beachtet.
|
serviceName
|
path |
True
|
string
|
Der Name des API Management-Diensts.
RegEx-Muster: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$
|
subscriptionId
|
path |
True
|
string
|
Hierbei handelt es sich um die ID des Zielabonnements.
|
api-version
|
query |
True
|
string
|
Hierbei handelt es sich um die für diesen Vorgang zu verwendende API-Version.
|
Anforderungstext
Name |
Erforderlich |
Typ |
Beschreibung |
location
|
True
|
string
|
Ressourcenspeicherort
|
properties.publisherEmail
|
True
|
string
|
Herausgeber-E-Mail.
|
properties.publisherName
|
True
|
string
|
Name des Herausgebers.
|
sku
|
True
|
ApiManagementServiceSkuProperties
|
SKU-Eigenschaften des API Management-Diensts.
|
identity
|
|
ApiManagementServiceIdentity
|
Verwaltete Dienstidentität des Api Management-Diensts.
|
properties.additionalLocations
|
|
AdditionalLocation[]
|
Zusätzliche Rechenzentrumsstandorte des API Management-Diensts.
|
properties.apiVersionConstraint
|
|
ApiVersionConstraint
|
Apis-Versionseinschränkung der Steuerungsebene für den API Management-Dienst.
|
properties.certificates
|
|
CertificateConfiguration[]
|
Liste der Zertifikate, die im API Management-Dienst installiert werden müssen. Die maximale Anzahl von unterstützten Zertifikaten, die installiert werden können, beträgt 10.
|
properties.customProperties
|
|
object
|
Benutzerdefinierte Eigenschaften des API Management-Diensts. Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 deaktiviert die Verschlüsselung TLS_RSA_WITH_3DES_EDE_CBC_SHA für alle TLS(1.0, 1.1 und 1.2). Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 kann verwendet werden, um nur TLS 1.1 zu deaktivieren. Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 kann verwendet werden, um TLS 1.0 für einen API Management-Dienst zu deaktivieren. Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 kann verwendet werden, um nur TLS 1.1 für die Kommunikation mit Back-Ends zu deaktivieren. Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 kann verwendet werden, um TLS 1.0 für die Kommunikation mit Back-Ends zu deaktivieren. Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2 kann verwendet werden, um das HTTP2-Protokoll für einen API Management-Dienst zu aktivieren. Wenn Sie keine dieser Eigenschaften im PATCH-Vorgang angeben, werden die Werte ausgelassener Eigenschaften auf ihre Standardwerte zurückgesetzt. Für alle Einstellungen mit Ausnahme von Http2 ist True der Standardwert, wenn der Dienst am oder vor dem 1. April 2018 erstellt wurde und False andernfalls. Der Standardwert der Http2-Einstellung ist False .
Sie können eine der folgenden Verschlüsselungen mithilfe von Einstellungen Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name] deaktivieren: 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_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. Beispiel Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256 : :false . Der Standardwert ist true für sie.
Hinweis: Die folgenden Verschlüsselungen können nicht deaktiviert werden, da sie von internen Plattformkomponenten benötigt werden: 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
|
Die Eigenschaft gilt nur für einen Api Management-Dienst, der an mehreren Standorten bereitgestellt wird. Dies kann verwendet werden, um das Gateway in master Region zu deaktivieren.
|
properties.enableClientCertificate
|
|
boolean
|
Eigenschaft, die nur für den Verbrauchs-SKU-Dienst verwendet werden soll. Dadurch wird ein Clientzertifikat erzwungen, das bei jeder Anforderung an das Gateway angezeigt wird. Dies ermöglicht auch die Authentifizierung des Zertifikats in der Richtlinie auf dem Gateway.
|
properties.hostnameConfigurations
|
|
HostnameConfiguration[]
|
Konfiguration des benutzerdefinierten Hostnamens des API Management-Diensts.
|
properties.natGatewayState
|
|
NatGatewayState
|
Die Eigenschaft kann verwendet werden, um NAT Gateway für diesen API Management Dienst zu aktivieren.
|
properties.notificationSenderEmail
|
|
string
|
Email Adresse, von der die Benachrichtigung gesendet wird.
|
properties.privateEndpointConnections
|
|
RemotePrivateEndpointConnectionWrapper[]
|
Liste der Privaten Endpunktverbindungen dieses Diensts.
|
properties.publicIpAddressId
|
|
string
|
Öffentliche Standard-SKU-IP-V4-basierte IP-Adresse, die Virtual Network bereitgestellten Dienst in der Region zugeordnet werden soll. Wird nur für Entwickler- und Premium-SKU unterstützt, die in Virtual Network bereitgestellt werden.
|
properties.publicNetworkAccess
|
|
PublicNetworkAccess
|
Gibt an, ob für diesen API Management Dienst der Zugriff auf öffentliche Endpunkte zulässig ist oder nicht. Der Wert ist optional, muss aber bei Übergabe "Aktiviert" oder "Deaktiviert" sein. Bei "Deaktiviert" sind private Endpunkte die exklusive Zugriffsmethode. Der Standardwert ist "Aktiviert".
|
properties.restore
|
|
boolean
|
Wiederherstellen des Api Management-Diensts, wenn er zuvor vorläufig gelöscht wurde. Wenn dieses Flag angegeben und auf True festgelegt ist, werden alle anderen Eigenschaften ignoriert.
|
properties.virtualNetworkConfiguration
|
|
VirtualNetworkConfiguration
|
Virtuelle Netzwerkkonfiguration des API Management-Diensts.
|
properties.virtualNetworkType
|
|
VirtualNetworkType
|
Der VPN-Typ, in dem API Management Dienst konfiguriert werden muss. None (Standardwert) bedeutet, dass der API Management-Dienst nicht Teil eines Virtual Network ist. Extern bedeutet, dass die API Management Bereitstellung innerhalb eines Virtual Network mit einem Endpunkt mit Internetzugriff eingerichtet ist, und Intern bedeutet, dass API Management Die Bereitstellung wird in einer Virtual Network eingerichtet, die nur einen intranetorientierten Endpunkt aufweist.
|
tags
|
|
object
|
Ressourcentags.
|
zones
|
|
string[]
|
Eine Liste von Verfügbarkeitszonen, die angibt, wo die Ressource herkommen muss.
|
Antworten
Sicherheit
azure_auth
Azure Active Directory OAuth2 Flow.
Typ:
oauth2
Ablauf:
implicit
Autorisierungs-URL:
https://login.microsoftonline.com/common/oauth2/authorize
Bereiche
Name |
Beschreibung |
user_impersonation
|
Identitätswechsel Ihres Benutzerkontos
|
Beispiele
ApiManagementCreateMultiRegionServiceWithCustomHostname
Beispielanforderung
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 typing import Any, IO, Union
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
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.ApiManagement;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateMultiRegionServiceWithCustomHostname.json
// this example is just showing the usage of "ApiManagementService_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure
// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResource
string subscriptionId = "subid";
string resourceGroupName = "rg1";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this ApiManagementServiceResource
ApiManagementServiceCollection collection = resourceGroupResource.GetApiManagementServices();
// invoke the operation
string serviceName = "apimService1";
ApiManagementServiceData data = new ApiManagementServiceData(new AzureLocation("West US"), new ApiManagementServiceSkuProperties(ApiManagementServiceSkuType.Premium, 1), "apim@autorestsdk.com", "autorestsdk")
{
HostnameConfigurations =
{
new HostnameConfiguration(HostnameType.Proxy,"gateway1.msitesting.net")
{
EncodedCertificate = "****** Base 64 Encoded Certificate ************",
CertificatePassword = "Password",
IsDefaultSslBindingEnabled = true,
},new HostnameConfiguration(HostnameType.Management,"mgmt.msitesting.net")
{
EncodedCertificate = "****** Base 64 Encoded Certificate ************",
CertificatePassword = "Password",
},new HostnameConfiguration(HostnameType.Portal,"portal1.msitesting.net")
{
EncodedCertificate = "****** Base 64 Encoded Certificate ************",
CertificatePassword = "Password",
}
},
AdditionalLocations =
{
new AdditionalLocation(new AzureLocation("East US"),new ApiManagementServiceSkuProperties(ApiManagementServiceSkuType.Premium,1))
{
DisableGateway = true,
}
},
VirtualNetworkType = VirtualNetworkType.None,
MinApiVersion = "2019-01-01",
Tags =
{
["tag1"] = "value1",
["tag2"] = "value2",
["tag3"] = "value3",
},
};
ArmOperation<ApiManagementServiceResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, serviceName, data);
ApiManagementServiceResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
ApiManagementServiceData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Beispiel für eine Antwort
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
Beispielanforderung
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 typing import Any, IO, Union
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
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.ApiManagement;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateService.json
// this example is just showing the usage of "ApiManagementService_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure
// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResource
string subscriptionId = "subid";
string resourceGroupName = "rg1";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this ApiManagementServiceResource
ApiManagementServiceCollection collection = resourceGroupResource.GetApiManagementServices();
// invoke the operation
string serviceName = "apimService1";
ApiManagementServiceData data = new ApiManagementServiceData(new AzureLocation("South Central US"), new ApiManagementServiceSkuProperties(ApiManagementServiceSkuType.Developer, 1), "foo@contoso.com", "foo")
{
Tags =
{
["Name"] = "Contoso",
["Test"] = "User",
},
};
ArmOperation<ApiManagementServiceResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, serviceName, data);
ApiManagementServiceResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
ApiManagementServiceData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Beispiel für eine Antwort
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
Beispielanforderung
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 typing import Any, IO, Union
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
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.ApiManagement;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateServiceHavingMsi.json
// this example is just showing the usage of "ApiManagementService_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure
// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResource
string subscriptionId = "subid";
string resourceGroupName = "rg1";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this ApiManagementServiceResource
ApiManagementServiceCollection collection = resourceGroupResource.GetApiManagementServices();
// invoke the operation
string serviceName = "apimService1";
ApiManagementServiceData data = new ApiManagementServiceData(new AzureLocation("West US"), new ApiManagementServiceSkuProperties(ApiManagementServiceSkuType.Consumption, 0), "apim@autorestsdk.com", "autorestsdk")
{
Identity = new ManagedServiceIdentity("SystemAssigned"),
Tags =
{
["tag1"] = "value1",
["tag2"] = "value2",
["tag3"] = "value3",
},
};
ArmOperation<ApiManagementServiceResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, serviceName, data);
ApiManagementServiceResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
ApiManagementServiceData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Beispiel für eine Antwort
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
Beispielanforderung
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 typing import Any, IO, Union
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
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.ApiManagement;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateServiceInVnetWithPublicIP.json
// this example is just showing the usage of "ApiManagementService_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure
// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResource
string subscriptionId = "subid";
string resourceGroupName = "rg1";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this ApiManagementServiceResource
ApiManagementServiceCollection collection = resourceGroupResource.GetApiManagementServices();
// invoke the operation
string serviceName = "apimService1";
ApiManagementServiceData data = new ApiManagementServiceData(new AzureLocation("East US 2 EUAP"), new ApiManagementServiceSkuProperties(ApiManagementServiceSkuType.Premium, 2), "apim@autorestsdk.com", "autorestsdk")
{
Zones =
{
"1","2"
},
PublicIPAddressId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/publicIPAddresses/apimazvnet"),
VirtualNetworkConfiguration = new VirtualNetworkConfiguration()
{
SubnetResourceId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/virtualNetworks/apimcus/subnets/tenant"),
},
VirtualNetworkType = VirtualNetworkType.External,
Tags =
{
["tag1"] = "value1",
["tag2"] = "value2",
["tag3"] = "value3",
},
};
ArmOperation<ApiManagementServiceResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, serviceName, data);
ApiManagementServiceResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
ApiManagementServiceData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Beispiel für eine Antwort
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
Beispielanforderung
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 typing import Any, IO, Union
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
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.ApiManagement;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateServiceInZones.json
// this example is just showing the usage of "ApiManagementService_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure
// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResource
string subscriptionId = "subid";
string resourceGroupName = "rg1";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this ApiManagementServiceResource
ApiManagementServiceCollection collection = resourceGroupResource.GetApiManagementServices();
// invoke the operation
string serviceName = "apimService1";
ApiManagementServiceData data = new ApiManagementServiceData(new AzureLocation("North europe"), new ApiManagementServiceSkuProperties(ApiManagementServiceSkuType.Premium, 2), "apim@autorestsdk.com", "autorestsdk")
{
Zones =
{
"1","2"
},
Tags =
{
["tag1"] = "value1",
["tag2"] = "value2",
["tag3"] = "value3",
},
};
ArmOperation<ApiManagementServiceResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, serviceName, data);
ApiManagementServiceResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
ApiManagementServiceData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Beispiel für eine Antwort
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
Beispielanforderung
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 typing import Any, IO, Union
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
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.ApiManagement;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateServiceWithCustomHostnameKeyVault.json
// this example is just showing the usage of "ApiManagementService_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure
// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResource
string subscriptionId = "subid";
string resourceGroupName = "rg1";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this ApiManagementServiceResource
ApiManagementServiceCollection collection = resourceGroupResource.GetApiManagementServices();
// invoke the operation
string serviceName = "apimService1";
ApiManagementServiceData data = new ApiManagementServiceData(new AzureLocation("North Europe"), new ApiManagementServiceSkuProperties(ApiManagementServiceSkuType.Premium, 1), "apim@autorestsdk.com", "autorestsdk")
{
Identity = new ManagedServiceIdentity("UserAssigned")
{
UserAssignedIdentities =
{
[new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1")] = new UserAssignedIdentity(),
},
},
HostnameConfigurations =
{
new HostnameConfiguration(HostnameType.Proxy,"gateway1.msitesting.net")
{
KeyVaultSecretUri = new Uri("https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert"),
IdentityClientId = "329419bc-adec-4dce-9568-25a6d486e468",
IsDefaultSslBindingEnabled = true,
},new HostnameConfiguration(HostnameType.Management,"mgmt.msitesting.net")
{
KeyVaultSecretUri = new Uri("https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert"),
IdentityClientId = "329419bc-adec-4dce-9568-25a6d486e468",
},new HostnameConfiguration(HostnameType.Portal,"portal1.msitesting.net")
{
KeyVaultSecretUri = new Uri("https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert"),
IdentityClientId = "329419bc-adec-4dce-9568-25a6d486e468",
}
},
VirtualNetworkType = VirtualNetworkType.None,
MinApiVersion = "2019-01-01",
Tags =
{
["tag1"] = "value1",
["tag2"] = "value2",
["tag3"] = "value3",
},
};
ArmOperation<ApiManagementServiceResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, serviceName, data);
ApiManagementServiceResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
ApiManagementServiceData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Beispiel für eine Antwort
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
Beispielanforderung
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 typing import Any, IO, Union
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
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.ApiManagement;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateServiceWithNatGatewayEnabled.json
// this example is just showing the usage of "ApiManagementService_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure
// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResource
string subscriptionId = "subid";
string resourceGroupName = "rg1";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this ApiManagementServiceResource
ApiManagementServiceCollection collection = resourceGroupResource.GetApiManagementServices();
// invoke the operation
string serviceName = "apimService1";
ApiManagementServiceData data = new ApiManagementServiceData(new AzureLocation("East US"), new ApiManagementServiceSkuProperties(ApiManagementServiceSkuType.Premium, 1), "apim@autorestsdk.com", "autorestsdk")
{
NatGatewayState = ApiManagementNatGatewayState.Enabled,
Tags =
{
["tag1"] = "value1",
["tag2"] = "value2",
["tag3"] = "value3",
},
};
ArmOperation<ApiManagementServiceResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, serviceName, data);
ApiManagementServiceResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
ApiManagementServiceData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Beispiel für eine Antwort
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
Beispielanforderung
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 typing import Any, IO, Union
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
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.ApiManagement;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateServiceWithSystemCertificates.json
// this example is just showing the usage of "ApiManagementService_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure
// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResource
string subscriptionId = "subid";
string resourceGroupName = "rg1";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this ApiManagementServiceResource
ApiManagementServiceCollection collection = resourceGroupResource.GetApiManagementServices();
// invoke the operation
string serviceName = "apimService1";
ApiManagementServiceData data = new ApiManagementServiceData(new AzureLocation("Central US"), new ApiManagementServiceSkuProperties(ApiManagementServiceSkuType.Basic, 1), "apim@autorestsdk.com", "autorestsdk")
{
Certificates =
{
new CertificateConfiguration(CertificateConfigurationStoreName.CertificateAuthority)
{
EncodedCertificate = "*******Base64 encoded Certificate******************",
CertificatePassword = "Password",
}
},
Tags =
{
["tag1"] = "value1",
["tag2"] = "value2",
["tag3"] = "value3",
},
};
ArmOperation<ApiManagementServiceResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, serviceName, data);
ApiManagementServiceResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
ApiManagementServiceData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Beispiel für eine Antwort
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
Beispielanforderung
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 typing import Any, IO, Union
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
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.ApiManagement;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateServiceWithUserAssignedIdentity.json
// this example is just showing the usage of "ApiManagementService_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure
// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResource
string subscriptionId = "subid";
string resourceGroupName = "rg1";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this ApiManagementServiceResource
ApiManagementServiceCollection collection = resourceGroupResource.GetApiManagementServices();
// invoke the operation
string serviceName = "apimService1";
ApiManagementServiceData data = new ApiManagementServiceData(new AzureLocation("West US"), new ApiManagementServiceSkuProperties(ApiManagementServiceSkuType.Consumption, 0), "apim@autorestsdk.com", "autorestsdk")
{
Identity = new ManagedServiceIdentity("UserAssigned")
{
UserAssignedIdentities =
{
[new ResourceIdentifier("/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/apimService1")] = new UserAssignedIdentity(),
},
},
Tags =
{
["tag1"] = "value1",
["tag2"] = "value2",
["tag3"] = "value3",
},
};
ArmOperation<ApiManagementServiceResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, serviceName, data);
ApiManagementServiceResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
ApiManagementServiceData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Beispiel für eine Antwort
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
Beispielanforderung
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 typing import Any, IO, Union
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
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.ApiManagement;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementUndelete.json
// this example is just showing the usage of "ApiManagementService_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure
// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResource
string subscriptionId = "subid";
string resourceGroupName = "rg1";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this ApiManagementServiceResource
ApiManagementServiceCollection collection = resourceGroupResource.GetApiManagementServices();
// invoke the operation
string serviceName = "apimService1";
ApiManagementServiceData data = new ApiManagementServiceData(new AzureLocation("South Central US"), new ApiManagementServiceSkuProperties(ApiManagementServiceSkuType.Developer, 1), "foo@contoso.com", "foo")
{
Restore = true,
};
ArmOperation<ApiManagementServiceResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, serviceName, data);
ApiManagementServiceResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
ApiManagementServiceData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Beispiel für eine Antwort
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
}
}
Definitionen
Name |
Beschreibung |
AdditionalLocation
|
Beschreibung eines zusätzlichen API Management Ressourcenstandorts.
|
ApiManagementServiceIdentity
|
Identitätseigenschaften der Api Management-Dienstressource.
|
ApiManagementServiceResource
|
Eine einzelne API Management Dienstressource in Liste oder Antwort abrufen.
|
ApiManagementServiceSkuProperties
|
API Management SKU-Eigenschaften der Dienstressource.
|
ApimIdentityType
|
Der Identitätstyp, der für die Ressource verwendet wird. Der Typ „SystemAssigned, UserAssigned“ umfasst sowohl eine implizit erstellte Identität als auch einen Satz von Benutzern zugewiesener Identitäten. Der Typ "None" entfernt alle Identitäten aus dem Dienst.
|
ApiVersionConstraint
|
Apis-Versionseinschränkung der Steuerungsebene für den API Management-Dienst.
|
ArmIdWrapper
|
Ein Wrapper für eine ARM-Ressourcen-ID
|
CertificateConfiguration
|
Zertifikatkonfiguration, die aus nicht vertrauenswürdigen Zwischenstufen und Stammzertifikaten besteht.
|
CertificateInformation
|
SSL-Zertifikatinformationen.
|
CertificateSource
|
Zertifikatquelle.
|
CertificateStatus
|
Zertifikatstatus.
|
createdByType
|
Der Identitätstyp, der die Ressource erstellt hat.
|
ErrorFieldContract
|
Fehlerfeldvertrag.
|
ErrorResponse
|
Fehlerantwort.
|
HostnameConfiguration
|
Konfiguration des benutzerdefinierten Hostnamens.
|
HostnameType
|
Hostnamentyp.
|
NatGatewayState
|
Die Eigenschaft kann verwendet werden, um NAT Gateway für diesen API Management Dienst zu aktivieren.
|
PlatformVersion
|
Compute Platform Version, die den Dienst ausführt.
|
PrivateEndpointServiceConnectionStatus
|
Die private Endpunktverbindung status.
|
PrivateLinkServiceConnectionState
|
Eine Sammlung von Informationen über den Status der Verbindung zwischen dem Dienst consumer und dem Anbieter.
|
PublicNetworkAccess
|
Gibt an, ob für diesen API Management Dienst der Zugriff auf öffentliche Endpunkte zulässig ist oder nicht. Der Wert ist optional, muss aber bei Übergabe "Aktiviert" oder "Deaktiviert" sein. Bei "Deaktiviert" sind private Endpunkte die exklusive Zugriffsmethode. Der Standardwert ist "Aktiviert".
|
RemotePrivateEndpointConnectionWrapper
|
Verbindungsressource für private Remoteendpunkte.
|
SkuType
|
Name der Sku.
|
systemData
|
Metadaten, die sich auf die Erstellung und letzte Änderung der Ressource beziehen.
|
UserIdentityProperties
|
|
VirtualNetworkConfiguration
|
Konfiguration eines virtuellen Netzwerks, in dem API Management Dienst bereitgestellt wird.
|
VirtualNetworkType
|
Der VPN-Typ, in dem API Management Dienst konfiguriert werden muss. None (Standardwert) bedeutet, dass der API Management-Dienst nicht Teil eines Virtual Network ist. Extern bedeutet, dass die API Management Bereitstellung innerhalb eines Virtual Network mit einem Endpunkt mit Internetzugriff eingerichtet ist, und Intern bedeutet, dass API Management Die Bereitstellung wird in einer Virtual Network eingerichtet, die nur einen intranetorientierten Endpunkt aufweist.
|
AdditionalLocation
Beschreibung eines zusätzlichen API Management Ressourcenstandorts.
Name |
Typ |
Standardwert |
Beschreibung |
disableGateway
|
boolean
|
False
|
Die Eigenschaft gilt nur für einen Api Management-Dienst, der an mehreren Standorten bereitgestellt wird. Dies kann verwendet werden, um das Gateway an diesem zusätzlichen Speicherort zu deaktivieren.
|
gatewayRegionalUrl
|
string
|
|
Gateway-URL des API Management-Diensts in der Region.
|
location
|
string
|
|
Der Standortname der zusätzlichen Region unter Den Azure-Rechenzentrumsregionen.
|
natGatewayState
|
NatGatewayState
|
Disabled
|
Die Eigenschaft kann verwendet werden, um NAT Gateway für diesen API Management Dienst zu aktivieren.
|
outboundPublicIPAddresses
|
string[]
|
|
Präfixe für ausgehende öffentliche IPV4-Adressen, die dem von NAT Gateway bereitgestellten Dienst zugeordnet sind. Nur für Premium-SKU auf stv2-Plattform verfügbar.
|
platformVersion
|
PlatformVersion
|
|
Compute Platform Version, die den Dienst ausführt.
|
privateIPAddresses
|
string[]
|
|
Private statische IP-Adressen des API Management-Diensts, der in einem internen Virtual Network an einem bestimmten zusätzlichen Speicherort bereitgestellt wird. Verfügbar nur für die Basic-, Standard-, Premium- und Isolierte SKU.
|
publicIPAddresses
|
string[]
|
|
Öffentliche statische Lastenausgleichs-IP-Adressen des API Management-Diensts am zusätzlichen Speicherort. Verfügbar nur für die Basic-, Standard-, Premium- und Isolierte SKU.
|
publicIpAddressId
|
string
|
|
Öffentliche Standard-SKU-IP-V4-basierte IP-Adresse, die Virtual Network bereitgestellten Diensts am Standort zugeordnet werden soll. Wird nur für premium-SKU unterstützt, die in Virtual Network bereitgestellt wird.
|
sku
|
ApiManagementServiceSkuProperties
|
|
SKU-Eigenschaften des API Management-Diensts.
|
virtualNetworkConfiguration
|
VirtualNetworkConfiguration
|
|
Virtuelle Netzwerkkonfiguration für den Standort.
|
zones
|
string[]
|
|
Eine Liste von Verfügbarkeitszonen, die angibt, wo die Ressource herkommen muss.
|
ApiManagementServiceIdentity
Identitätseigenschaften der Api Management-Dienstressource.
Name |
Typ |
Beschreibung |
principalId
|
string
|
Die Prinzipal-ID der Identität.
|
tenantId
|
string
|
Die Clientmandanten-ID der Identität.
|
type
|
ApimIdentityType
|
Der Identitätstyp, der für die Ressource verwendet wird. Der Typ „SystemAssigned, UserAssigned“ umfasst sowohl eine implizit erstellte Identität als auch einen Satz von Benutzern zugewiesener Identitäten. Der Typ "None" entfernt alle Identitäten aus dem Dienst.
|
userAssignedIdentities
|
<string,
UserIdentityProperties>
|
Die Liste der Benutzeridentitäten, die der Ressource zugeordnet sind. Die Verweise auf das Benutzeridentitätswörterbuch sind ARM-Ressourcen-IDs in der Form "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}".
|
ApiManagementServiceResource
Eine einzelne API Management Dienstressource in Liste oder Antwort abrufen.
Name |
Typ |
Standardwert |
Beschreibung |
etag
|
string
|
|
ETag der Ressource.
|
id
|
string
|
|
Ressourcen-ID
|
identity
|
ApiManagementServiceIdentity
|
|
Verwaltete Dienstidentität des Api Management-Diensts.
|
location
|
string
|
|
Ressourcenspeicherort
|
name
|
string
|
|
Name der Ressource.
|
properties.additionalLocations
|
AdditionalLocation[]
|
|
Zusätzliche Rechenzentrumsstandorte des API Management-Diensts.
|
properties.apiVersionConstraint
|
ApiVersionConstraint
|
|
Apis-Versionseinschränkung der Steuerungsebene für den API Management-Dienst.
|
properties.certificates
|
CertificateConfiguration[]
|
|
Liste der Zertifikate, die im API Management-Dienst installiert werden müssen. Die maximale Anzahl von unterstützten Zertifikaten, die installiert werden können, beträgt 10.
|
properties.createdAtUtc
|
string
|
|
Erstellungsdatum des API Management-Diensts. Das Datum entspricht dem folgenden Format: yyyy-MM-ddTHH:mm:ssZ gemäß der ISO 8601-Norm.
|
properties.customProperties
|
object
|
|
Benutzerdefinierte Eigenschaften des API Management-Diensts. Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 deaktiviert die Verschlüsselung TLS_RSA_WITH_3DES_EDE_CBC_SHA für alle TLS(1.0, 1.1 und 1.2). Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 kann verwendet werden, um nur TLS 1.1 zu deaktivieren. Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 kann verwendet werden, um TLS 1.0 für einen API Management-Dienst zu deaktivieren. Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 kann verwendet werden, um nur TLS 1.1 für die Kommunikation mit Back-Ends zu deaktivieren. Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 kann verwendet werden, um TLS 1.0 für die Kommunikation mit Back-Ends zu deaktivieren. Die Einstellung Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2 kann verwendet werden, um das HTTP2-Protokoll für einen API Management-Dienst zu aktivieren. Wenn Sie keine dieser Eigenschaften im PATCH-Vorgang angeben, werden die Werte ausgelassener Eigenschaften auf ihre Standardwerte zurückgesetzt. Für alle Einstellungen mit Ausnahme von Http2 ist True der Standardwert, wenn der Dienst am oder vor dem 1. April 2018 erstellt wurde und False andernfalls. Der Standardwert der Http2-Einstellung ist False .
Sie können eine der folgenden Verschlüsselungen mithilfe von Einstellungen Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name] deaktivieren: 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_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. Beispiel Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256 : :false . Der Standardwert ist true für sie.
Hinweis: Die folgenden Verschlüsselungen können nicht deaktiviert werden, da sie von internen Plattformkomponenten benötigt werden: 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
|
|
DEveloper Portal-Endpunkt-URL des API Management-Diensts.
|
properties.disableGateway
|
boolean
|
False
|
Die Eigenschaft gilt nur für einen Api Management-Dienst, der an mehreren Standorten bereitgestellt wird. Dies kann verwendet werden, um das Gateway in master Region zu deaktivieren.
|
properties.enableClientCertificate
|
boolean
|
False
|
Eigenschaft, die nur für den Verbrauchs-SKU-Dienst verwendet werden soll. Dadurch wird ein Clientzertifikat erzwungen, das bei jeder Anforderung an das Gateway angezeigt wird. Dies ermöglicht auch die Authentifizierung des Zertifikats in der Richtlinie auf dem Gateway.
|
properties.gatewayRegionalUrl
|
string
|
|
Gateway-URL des API Management-Diensts in der Standardregion.
|
properties.gatewayUrl
|
string
|
|
Gateway-URL des API Management-Diensts.
|
properties.hostnameConfigurations
|
HostnameConfiguration[]
|
|
Konfiguration des benutzerdefinierten Hostnamens des API Management-Diensts.
|
properties.managementApiUrl
|
string
|
|
Verwaltungs-API-Endpunkt-URL des API Management-Diensts.
|
properties.natGatewayState
|
NatGatewayState
|
Disabled
|
Die Eigenschaft kann verwendet werden, um NAT Gateway für diesen API Management Dienst zu aktivieren.
|
properties.notificationSenderEmail
|
string
|
|
Email Adresse, von der die Benachrichtigung gesendet wird.
|
properties.outboundPublicIPAddresses
|
string[]
|
|
Präfixe für ausgehende öffentliche IPV4-Adressen, die dem von NAT Gateway bereitgestellten Dienst zugeordnet sind. Nur für Premium-SKU auf stv2-Plattform verfügbar.
|
properties.platformVersion
|
PlatformVersion
|
|
Compute Platform Version, die den Dienst an diesem Speicherort ausführt.
|
properties.portalUrl
|
string
|
|
Herausgeberportalendpunkt-URL des API Management-Diensts.
|
properties.privateEndpointConnections
|
RemotePrivateEndpointConnectionWrapper[]
|
|
Liste der Privaten Endpunktverbindungen dieses Diensts.
|
properties.privateIPAddresses
|
string[]
|
|
Private statische IP-Adressen des API Management-Diensts in der primären Region, die in einer internen Virtual Network bereitgestellt wird. Verfügbar nur für die Basic-, Standard-, Premium- und Isolierte SKU.
|
properties.provisioningState
|
string
|
|
Der aktuelle Bereitstellungsstatus des API Management Diensts, der wie folgt aussehen kann: Created/Activating/Succeeded/Updating/Failed/Stopped/Terminating/TerminationFailed/Deleted.
|
properties.publicIPAddresses
|
string[]
|
|
Öffentliche statische LASTENausgleichs-IP-Adressen des API Management-Diensts in der primären Region. Verfügbar nur für die Basic-, Standard-, Premium- und Isolierte SKU.
|
properties.publicIpAddressId
|
string
|
|
Öffentliche Standard-SKU-IP-V4-basierte IP-Adresse, die Virtual Network bereitgestellten Dienst in der Region zugeordnet werden soll. Wird nur für Entwickler- und Premium-SKU unterstützt, die in Virtual Network bereitgestellt werden.
|
properties.publicNetworkAccess
|
PublicNetworkAccess
|
|
Gibt an, ob für diesen API Management Dienst der Zugriff auf öffentliche Endpunkte zulässig ist oder nicht. Der Wert ist optional, muss aber bei Übergabe "Aktiviert" oder "Deaktiviert" sein. Bei "Deaktiviert" sind private Endpunkte die exklusive Zugriffsmethode. Der Standardwert ist "Aktiviert".
|
properties.publisherEmail
|
string
|
|
Herausgeber-E-Mail.
|
properties.publisherName
|
string
|
|
Name des Herausgebers.
|
properties.restore
|
boolean
|
False
|
Wiederherstellen des Api Management-Diensts, wenn er zuvor vorläufig gelöscht wurde. Wenn dieses Flag angegeben und auf True festgelegt ist, werden alle anderen Eigenschaften ignoriert.
|
properties.scmUrl
|
string
|
|
SCM-Endpunkt-URL des API Management-Diensts.
|
properties.targetProvisioningState
|
string
|
|
Der Bereitstellungsstatus des API Management Diensts, der auf den für den Dienst gestarteten Vorgang mit langer Ausführung ausgerichtet ist.
|
properties.virtualNetworkConfiguration
|
VirtualNetworkConfiguration
|
|
Virtuelle Netzwerkkonfiguration des API Management-Diensts.
|
properties.virtualNetworkType
|
VirtualNetworkType
|
None
|
Der VPN-Typ, in dem API Management Dienst konfiguriert werden muss. None (Standardwert) bedeutet, dass der API Management-Dienst nicht Teil eines Virtual Network ist. Extern bedeutet, dass die API Management Bereitstellung innerhalb eines Virtual Network mit einem Endpunkt mit Internetzugriff eingerichtet ist, und Intern bedeutet, dass API Management Die Bereitstellung wird in einer Virtual Network eingerichtet, die nur einen intranetorientierten Endpunkt aufweist.
|
sku
|
ApiManagementServiceSkuProperties
|
|
SKU-Eigenschaften des API Management-Diensts.
|
systemData
|
systemData
|
|
Metadaten, die sich auf die Erstellung und letzte Änderung der Ressource beziehen.
|
tags
|
object
|
|
Ressourcentags.
|
type
|
string
|
|
Der Ressourcentyp für API Management Ressource ist auf Microsoft.ApiManagement festgelegt.
|
zones
|
string[]
|
|
Eine Liste von Verfügbarkeitszonen, die angibt, wo die Ressource herkommen muss.
|
ApiManagementServiceSkuProperties
API Management SKU-Eigenschaften der Dienstressource.
Name |
Typ |
Beschreibung |
capacity
|
integer
|
Kapazität der SKU (Anzahl der bereitgestellten Einheiten der SKU). Für Verbrauch muss die SKU-Kapazität als 0 angegeben werden.
|
name
|
SkuType
|
Name der Sku.
|
ApimIdentityType
Der Identitätstyp, der für die Ressource verwendet wird. Der Typ „SystemAssigned, UserAssigned“ umfasst sowohl eine implizit erstellte Identität als auch einen Satz von Benutzern zugewiesener Identitäten. Der Typ "None" entfernt alle Identitäten aus dem Dienst.
Name |
Typ |
Beschreibung |
None
|
string
|
|
SystemAssigned
|
string
|
|
SystemAssigned, UserAssigned
|
string
|
|
UserAssigned
|
string
|
|
ApiVersionConstraint
Apis-Versionseinschränkung der Steuerungsebene für den API Management-Dienst.
Name |
Typ |
Beschreibung |
minApiVersion
|
string
|
Beschränken Sie API-Aufrufe der Steuerungsebene für API Management Dienst, deren Version gleich oder höher ist als dieser Wert.
|
ArmIdWrapper
Ein Wrapper für eine ARM-Ressourcen-ID
Name |
Typ |
Beschreibung |
id
|
string
|
|
CertificateConfiguration
Zertifikatkonfiguration, die aus nicht vertrauenswürdigen Zwischenstufen und Stammzertifikaten besteht.
Name |
Typ |
Beschreibung |
certificate
|
CertificateInformation
|
Zertifikatinformationen.
|
certificatePassword
|
string
|
Zertifikatkennwort.
|
encodedCertificate
|
string
|
Base64-codiertes Zertifikat.
|
storeName
|
enum:
-
CertificateAuthority
-
Root
|
Der Zertifikatspeicherspeicherort System.Security.Cryptography.x509certificates.StoreName. Nur Root und CertificateAuthority sind gültige Speicherorte.
|
SSL-Zertifikatinformationen.
Name |
Typ |
Beschreibung |
expiry
|
string
|
Ablaufdatum des Zertifikats. Das Datum entspricht dem folgenden Format: yyyy-MM-ddTHH:mm:ssZ gemäß der ISO 8601-Norm.
|
subject
|
string
|
Antragsteller des Zertifikats.
|
thumbprint
|
string
|
Fingerabdruck des Zertifikats
|
CertificateSource
Zertifikatquelle.
Name |
Typ |
Beschreibung |
BuiltIn
|
string
|
|
Custom
|
string
|
|
KeyVault
|
string
|
|
Managed
|
string
|
|
CertificateStatus
Zertifikatstatus.
Name |
Typ |
Beschreibung |
Completed
|
string
|
|
Failed
|
string
|
|
InProgress
|
string
|
|
createdByType
Der Identitätstyp, der die Ressource erstellt hat.
Name |
Typ |
Beschreibung |
Application
|
string
|
|
Key
|
string
|
|
ManagedIdentity
|
string
|
|
User
|
string
|
|
ErrorFieldContract
Fehlerfeldvertrag.
Name |
Typ |
Beschreibung |
code
|
string
|
Fehlercode auf Eigenschaftsebene.
|
message
|
string
|
Für Menschen lesbare Darstellung eines Fehlers auf Eigenschaftsebene.
|
target
|
string
|
Der Eigenschaftsname.
|
ErrorResponse
Fehlerantwort.
Name |
Typ |
Beschreibung |
error.code
|
string
|
Der vom Dienst definierte Fehlercode. Dieser Code dient als Unterstatus für den in der Antwort angegebenen HTTP-Fehlercode.
|
error.details
|
ErrorFieldContract[]
|
Die Liste der ungültigen Felder, die im Falle eines Überprüfungsfehlers gesendet werden.
|
error.message
|
string
|
Lesbare Darstellung des Fehlers.
|
HostnameConfiguration
Konfiguration des benutzerdefinierten Hostnamens.
Name |
Typ |
Standardwert |
Beschreibung |
certificate
|
CertificateInformation
|
|
Zertifikatinformationen.
|
certificatePassword
|
string
|
|
Zertifikatkennwort.
|
certificateSource
|
CertificateSource
|
|
Zertifikatquelle.
|
certificateStatus
|
CertificateStatus
|
|
Zertifikatstatus.
|
defaultSslBinding
|
boolean
|
False
|
Geben Sie true an, um das diesem Hostnamen zugeordnete Zertifikat als Standard-SSL-Zertifikat einzurichten. Wenn ein Client den SNI-Header nicht sendet, wird dies das Zertifikat sein, das angefragt wird. Die Eigenschaft ist nützlich, wenn für einen Dienst mehrere benutzerdefinierte Hostnamen aktiviert sind und er sich für das Standard-SSL-Zertifikat entscheiden muss. Die Einstellung wird nur auf den Hostnamentyp des Gateways angewendet.
|
encodedCertificate
|
string
|
|
Base64-codiertes Zertifikat.
|
hostName
|
string
|
|
Hostname, der für den Api Management-Dienst konfiguriert werden soll.
|
identityClientId
|
string
|
|
Client-Id für system- oder benutzerseitig zugewiesene verwaltete Identität, wie von Azure AD generiert, die GET-Zugriff auf den keyVault mit dem SSL-Zertifikat hat.
|
keyVaultId
|
string
|
|
URL zum KeyVault-Geheimnis, das das SSL-Zertifikat enthält. Wenn absolute URL mit Version angegeben wird, funktioniert die automatische Aktualisierung des SSL-Zertifikats nicht. Dazu muss der Api Management-Dienst mit aka.ms/apimmsi konfiguriert werden. Das Geheimnis sollte vom Typ application/x-pkcs12 sein.
|
negotiateClientCertificate
|
boolean
|
False
|
Geben Sie true an, um immer das Clientzertifikat für den Hostnamen auszuhandeln. Der Standardwert ist false.
|
type
|
HostnameType
|
|
Hostnamentyp.
|
HostnameType
Hostnamentyp.
Name |
Typ |
Beschreibung |
DeveloperPortal
|
string
|
|
Management
|
string
|
|
Portal
|
string
|
|
Proxy
|
string
|
|
Scm
|
string
|
|
NatGatewayState
Die Eigenschaft kann verwendet werden, um NAT Gateway für diesen API Management Dienst zu aktivieren.
Name |
Typ |
Beschreibung |
Disabled
|
string
|
Nat Gateway ist für den Dienst deaktiviert.
|
Enabled
|
string
|
Nat Gateway ist für den Dienst aktiviert.
|
Compute Platform Version, die den Dienst ausführt.
Name |
Typ |
Beschreibung |
mtv1
|
string
|
Plattform, auf der der Dienst auf einer Mehrinstanzen-V1-Plattform ausgeführt wird.
|
stv1
|
string
|
Plattform, auf der der Dienst auf einer Einzelmandanten-V1-Plattform ausgeführt wird.
|
stv2
|
string
|
Plattform, auf der der Dienst auf einer Einzelmandanten-V2-Plattform ausgeführt wird.
|
undetermined
|
string
|
Die Plattformversion kann nicht bestimmt werden, da die Computeplattform nicht bereitgestellt wird.
|
PrivateEndpointServiceConnectionStatus
Die private Endpunktverbindung status.
Name |
Typ |
Beschreibung |
Approved
|
string
|
|
Pending
|
string
|
|
Rejected
|
string
|
|
PrivateLinkServiceConnectionState
Eine Sammlung von Informationen über den Status der Verbindung zwischen dem Dienst consumer und dem Anbieter.
Name |
Typ |
Beschreibung |
actionsRequired
|
string
|
Eine Meldung, die angibt, ob Änderungen am Dienstanbieter Updates für den Consumer erfordern.
|
description
|
string
|
Der Grund für die Genehmigung/Ablehnung der Verbindung.
|
status
|
PrivateEndpointServiceConnectionStatus
|
Gibt an, ob die Verbindung vom Besitzer des Diensts genehmigt/abgelehnt/entfernt wurde.
|
PublicNetworkAccess
Gibt an, ob für diesen API Management Dienst der Zugriff auf öffentliche Endpunkte zulässig ist oder nicht. Der Wert ist optional, muss aber bei Übergabe "Aktiviert" oder "Deaktiviert" sein. Bei "Deaktiviert" sind private Endpunkte die exklusive Zugriffsmethode. Der Standardwert ist "Aktiviert".
Name |
Typ |
Beschreibung |
Disabled
|
string
|
|
Enabled
|
string
|
|
RemotePrivateEndpointConnectionWrapper
Verbindungsressource für private Remoteendpunkte.
Name |
Typ |
Beschreibung |
id
|
string
|
Verbindungsressourcen-ID des privaten Endpunkts
|
name
|
string
|
Verbindungsname des privaten Endpunkts
|
properties.groupIds
|
string[]
|
Alle Gruppen-IDs.
|
properties.privateEndpoint
|
ArmIdWrapper
|
Die Ressource des privaten Endpunkts.
|
properties.privateLinkServiceConnectionState
|
PrivateLinkServiceConnectionState
|
Eine Sammlung von Informationen über den Status der Verbindung zwischen dem Dienst consumer und dem Anbieter.
|
properties.provisioningState
|
string
|
Der Bereitstellungsstatus der Verbindungsressource des privaten Endpunkts.
|
type
|
string
|
Ressourcentyp für private Endpunktverbindungen
|
SkuType
Name der Sku.
Name |
Typ |
Beschreibung |
Basic
|
string
|
Grundlegende SKU von Api Management.
|
Consumption
|
string
|
Verbrauchs-SKU von Api Management.
|
Developer
|
string
|
Entwickler-SKU von Api Management.
|
Isolated
|
string
|
Isolierte SKU von Api Management.
|
Premium
|
string
|
Premium-SKU von Api Management.
|
Standard
|
string
|
Standard-SKU von Api Management.
|
systemData
Metadaten, die sich auf die Erstellung und letzte Änderung der Ressource beziehen.
Name |
Typ |
Beschreibung |
createdAt
|
string
|
Der Zeitstempel der Ressourcenerstellung (UTC).
|
createdBy
|
string
|
Die Identität, die die Ressource erstellt hat.
|
createdByType
|
createdByType
|
Der Identitätstyp, der die Ressource erstellt hat.
|
lastModifiedAt
|
string
|
Der Zeitstempel der letzten Änderung der Ressource (UTC)
|
lastModifiedBy
|
string
|
Die Identität, die die Ressource zuletzt geändert hat.
|
lastModifiedByType
|
createdByType
|
Der Identitätstyp, der die Ressource zuletzt geändert hat.
|
UserIdentityProperties
Name |
Typ |
Beschreibung |
clientId
|
string
|
Die Client-ID der benutzerseitig zugewiesenen Identität.
|
principalId
|
string
|
Die Prinzipal-ID der benutzerseitig zugewiesenen Identität.
|
VirtualNetworkConfiguration
Konfiguration eines virtuellen Netzwerks, in dem API Management Dienst bereitgestellt wird.
Name |
Typ |
Beschreibung |
subnetResourceId
|
string
|
Die vollständige Ressourcen-ID eines Subnetzes in einem virtuellen Netzwerk zum Bereitstellen des API Management Diensts.
|
subnetname
|
string
|
Der Name des Teilnetzes.
|
vnetid
|
string
|
Die ID des virtuellen Netzwerks. Dies ist in der Regel eine GUID. Erwarten Sie standardmäßig eine NULL-GUID.
|
VirtualNetworkType
Der VPN-Typ, in dem API Management Dienst konfiguriert werden muss. None (Standardwert) bedeutet, dass der API Management-Dienst nicht Teil eines Virtual Network ist. Extern bedeutet, dass die API Management Bereitstellung innerhalb eines Virtual Network mit einem Endpunkt mit Internetzugriff eingerichtet ist, und Intern bedeutet, dass API Management Die Bereitstellung wird in einer Virtual Network eingerichtet, die nur einen intranetorientierten Endpunkt aufweist.
Name |
Typ |
Beschreibung |
External
|
string
|
Der Dienst ist Teil von Virtual Network und über das Internet zugänglich.
|
Internal
|
string
|
Der Dienst ist Teil von Virtual Network und nur innerhalb des virtuellen Netzwerks zugänglich.
|
None
|
string
|
Der Dienst ist nicht Teil eines Virtual Network.
|