API Management 서비스를 만들거나 업데이트합니다. 이 작업은 장기 실행 작업이며 완료하는 데 몇 분 정도 걸릴 수 있습니다.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}?api-version=2021-08-01
URI 매개 변수
Name |
In(다음 안에) |
필수 |
형식 |
Description |
resourceGroupName
|
path |
True
|
string
|
리소스 그룹의 이름입니다.
|
serviceName
|
path |
True
|
string
minLength: 1 maxLength: 50 pattern: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$
|
API Management 서비스의 이름입니다.
|
subscriptionId
|
path |
True
|
string
|
Microsoft Azure 구독을 고유하게 식별하는 구독 자격 증명입니다. 구독 ID는 모든 서비스 호출에 대한 URI의 일부를 형성합니다.
|
api-version
|
query |
True
|
string
|
클라이언트 요청과 함께 사용할 API의 버전입니다.
|
요청 본문
Name |
필수 |
형식 |
Description |
location
|
True
|
string
|
리소스 위치입니다.
|
properties.publisherEmail
|
True
|
string
maxLength: 100
|
게시자 전자 메일입니다.
|
properties.publisherName
|
True
|
string
maxLength: 100
|
게시자 이름입니다.
|
sku
|
True
|
ApiManagementServiceSkuProperties
|
API Management 서비스의 SKU 속성입니다.
|
identity
|
|
ApiManagementServiceIdentity
|
Api Management 서비스의 관리 서비스 ID입니다.
|
properties.additionalLocations
|
|
AdditionalLocation[]
|
API Management 서비스의 추가 데이터 센터 위치입니다.
|
properties.apiVersionConstraint
|
|
ApiVersionConstraint
|
API Management 서비스에 대한 컨트롤 플레인 API 버전 제약 조건입니다.
|
properties.certificates
|
|
CertificateConfiguration[]
|
API Management 서비스에 설치해야 하는 인증서 목록입니다. 설치할 수 있는 지원되는 최대 인증서는 10개입니다.
|
properties.customProperties
|
|
object
|
API Management 서비스의 사용자 지정 속성입니다. 설정 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 모든 TLS(1.0, 1.1 및 1.2)에 대해 암호화 TLS_RSA_WITH_3DES_EDE_CBC_SHA 사용하지 않도록 설정합니다. 설정 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 사용하여 TLS 1.1만 사용하지 않도록 설정할 수 있습니다. 설정 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 사용하여 API Management 서비스에서 TLS 1.0을 사용하지 않도록 설정할 수 있습니다. 설정 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 사용하여 백 엔드와의 통신에 TLS 1.1만 사용하지 않도록 설정할 수 있습니다. 설정 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 사용하여 백 엔드와의 통신에 TLS 1.0을 사용하지 않도록 설정할 수 있습니다. 설정 Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2 사용하여 API Management 서비스에서 HTTP2 프로토콜을 사용하도록 설정할 수 있습니다. PATCH 작업에서 이러한 속성을 지정하지 않으면 생략된 속성의 값이 기본값으로 다시 설정됩니다. Http2를 제외한 모든 설정의 경우 서비스가 2018년 4월 1일 또는 그 이전에 만들어진 경우 기본값이 True , 그렇지 않으면 False . Http2 설정의 기본값은 False .
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 등의 설정 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name] 사용하여 다음 암호화를 사용하지 않도록 설정할 수 있습니다. TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. 예를 들어 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256 :false . 기본값은 true .
참고: 내부 플랫폼 구성 요소에 필요하므로 다음 암호화를 사용하지 않도록 설정할 수 없습니다. 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
|
속성은 여러 위치에 배포된 Api Management 서비스에만 유효합니다. 마스터 지역에서 게이트웨이를 사용하지 않도록 설정하는 데 사용할 수 있습니다.
|
properties.enableClientCertificate
|
|
boolean
|
속성은 소비 SKU 서비스에만 사용됩니다. 이렇게 하면 게이트웨이에 대한 각 요청에 대해 클라이언트 인증서가 표시됩니다. 이렇게 하면 게이트웨이의 정책에서 인증서를 인증하는 기능도 사용할 수 있습니다.
|
properties.hostnameConfigurations
|
|
HostnameConfiguration[]
|
API Management 서비스의 사용자 지정 호스트 이름 구성입니다.
|
properties.notificationSenderEmail
|
|
string
maxLength: 100
|
알림을 보낼 전자 메일 주소입니다.
|
properties.privateEndpointConnections
|
|
RemotePrivateEndpointConnectionWrapper[]
|
이 서비스의 프라이빗 엔드포인트 연결 목록입니다.
|
properties.publicIpAddressId
|
|
string
|
지역에서 Virtual Network 배포 서비스와 연결할 공용 표준 SKU IP V4 기반 IP 주소입니다. Virtual Network에 배포되는 개발자 및 프리미엄 SKU에 대해서만 지원됩니다.
|
properties.publicNetworkAccess
|
|
PublicNetworkAccess
|
이 API Management 서비스에 대한 퍼블릭 엔드포인트 액세스가 허용되는지 여부입니다. 값은 선택 사항이지만 전달된 경우 '사용' 또는 '사용 안 함'이어야 합니다. 'Disabled'인 경우 프라이빗 엔드포인트는 전용 액세스 방법입니다. 기본값은 'Enabled'입니다.
|
properties.restore
|
|
boolean
|
이전에 일시 삭제된 경우 Api Management 서비스를 삭제 취소합니다. 이 플래그를 지정하고 True로 설정하면 다른 모든 속성은 무시됩니다.
|
properties.virtualNetworkConfiguration
|
|
VirtualNetworkConfiguration
|
API Management 서비스의 가상 네트워크 구성입니다.
|
properties.virtualNetworkType
|
|
VirtualNetworkType
|
API Management 서비스를 구성해야 하는 VPN의 유형입니다. 없음(기본값)은 API Management 서비스가 Virtual Network의 일부가 아님을 의미하고, 외부는 API Management 배포가 인터넷 연결 엔드포인트가 있는 Virtual Network 내에 설정됨을 의미하며, 내부는 인트라넷 연결 엔드포인트만 있는 Virtual Network 내에서 API Management 배포가 설정됨을 의미합니다.
|
tags
|
|
object
|
리소스 태그.
|
zones
|
|
string[]
|
리소스의 원본 위치를 나타내는 가용성 영역 목록입니다.
|
응답
보안
azure_auth
Azure Active Directory OAuth2 Flow.
형식:
oauth2
Flow:
implicit
권한 부여 URL:
https://login.microsoftonline.com/common/oauth2/authorize
범위
Name |
Description |
user_impersonation
|
사용자 계정 가장
|
예제
ApiManagementCreateMultiRegionServiceWithCustomHostname
샘플 요청
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1?api-version=2021-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/2021-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("****** Base 64 Encoded Certificate ************")
.withCertificatePassword("Password")
.withDefaultSslBinding(true),
new HostnameConfiguration()
.withType(HostnameType.MANAGEMENT)
.withHostname("mgmt.msitesting.net")
.withEncodedCertificate("****** Base 64 Encoded Certificate ************")
.withCertificatePassword("Password"),
new HostnameConfiguration()
.withType(HostnameType.PORTAL)
.withHostname("portal1.msitesting.net")
.withEncodedCertificate("****** Base 64 Encoded Certificate ************")
.withCertificatePassword("Password")))
.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();
}
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_multi_region_service_with_custom_hostname.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.api_management_service.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
parameters={
"location": "West US",
"properties": {
"additionalLocations": [
{"disableGateway": True, "location": "East US", "sku": {"capacity": 1, "name": "Premium"}}
],
"apiVersionConstraint": {"minApiVersion": "2019-01-01"},
"hostnameConfigurations": [
{
"certificatePassword": "Password",
"defaultSslBinding": True,
"encodedCertificate": "****** Base 64 Encoded Certificate ************",
"hostName": "gateway1.msitesting.net",
"type": "Proxy",
},
{
"certificatePassword": "Password",
"encodedCertificate": "****** Base 64 Encoded Certificate ************",
"hostName": "mgmt.msitesting.net",
"type": "Management",
},
{
"certificatePassword": "Password",
"encodedCertificate": "****** Base 64 Encoded Certificate ************",
"hostName": "portal1.msitesting.net",
"type": "Portal",
},
],
"publisherEmail": "apim@autorestsdk.com",
"publisherName": "autorestsdk",
"virtualNetworkType": "None",
},
"sku": {"capacity": 1, "name": "Premium"},
"tags": {"tag1": "value1", "tag2": "value2", "tag3": "value3"},
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-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"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c767823fdfd9d5e96bad245e3ea4d14d94a716bb/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-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.3348609Z"); 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+00:00"); 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+00:00"); 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+00:00"); 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/2021-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 System;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.ApiManagement;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Resources;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-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
샘플 응답
location: https://management.azure.com/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/bXVsdGlob3N0bmFtZW11bHRpcmVnaW9uc2VydmljZV9BY3RfZjFiOTZhMjc=?api-version=2021-08-01
{
"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
}
}
location: https://management.azure.com/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/bXVsdGlob3N0bmFtZW11bHRpcmVnaW9uc2VydmljZV9BY3RfZjFiOTZhMjc=?api-version=2021-08-01
ApiManagementCreateService
샘플 요청
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1?api-version=2021-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/2021-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();
}
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_service.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.api_management_service.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
parameters={
"location": "South Central US",
"properties": {"publisherEmail": "foo@contoso.com", "publisherName": "foo"},
"sku": {"capacity": 1, "name": "Developer"},
"tags": {"Name": "Contoso", "Test": "User"},
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-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"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c767823fdfd9d5e96bad245e3ea4d14d94a716bb/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-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{
// "Name": to.Ptr("Contoso"),
// "Test": to.Ptr("User"),
// },
// 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.0327105Z"); 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),
// 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"),
// 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),
// },
// SystemData: &armapimanagement.SystemData{
// CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-01T01:01:01.1075056Z"); 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.1974346Z"); 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/2021-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 System;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.ApiManagement;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Resources;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-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
샘플 응답
location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
"name": "apimService1",
"type": "Microsoft.ApiManagement/service",
"tags": {
"Name": "Contoso",
"Test": "User"
},
"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
},
"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": {
"Name": "Contoso",
"Test": "User"
},
"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,
"certificateSource": "BuiltIn"
}
],
"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
},
"systemData": {
"createdBy": "string",
"createdByType": "Application",
"createdAt": "2020-02-01T01:01:01.1075056Z",
"lastModifiedBy": "string",
"lastModifiedByType": "Application",
"lastModifiedAt": "2020-02-02T02:03:01.1974346Z"
}
}
location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/c2RrdGVzdGFwaW0xNTkxX0FjdF9jZTkyMmNmOQ==?api-version=2021-08-01
ApiManagementCreateServiceHavingMsi
샘플 요청
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1?api-version=2021-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/2021-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();
}
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_service_having_msi.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.api_management_service.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
parameters={
"identity": {"type": "SystemAssigned"},
"location": "West US",
"properties": {"publisherEmail": "apim@autorestsdk.com", "publisherName": "autorestsdk"},
"sku": {"capacity": 0, "name": "Consumption"},
"tags": {"tag1": "value1", "tag2": "value2", "tag3": "value3"},
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-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"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c767823fdfd9d5e96bad245e3ea4d14d94a716bb/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-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("XXXXXX-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.9711098Z"); 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.1075056Z"); 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.1974346Z"); 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/2021-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 System;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.ApiManagement;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Resources;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-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
샘플 응답
location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01
{
"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": "XXXXXX-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": "XXXXXX-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"
}
}
location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01
ApiManagementCreateServiceInVnetWithPublicIP
샘플 요청
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1?api-version=2021-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/2021-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();
}
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_service_in_vnet_with_public_ip.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.api_management_service.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
parameters={
"location": "East US 2 EUAP",
"properties": {
"publicIpAddressId": "/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/publicIPAddresses/apimazvnet",
"publisherEmail": "apim@autorestsdk.com",
"publisherName": "autorestsdk",
"virtualNetworkConfiguration": {
"subnetResourceId": "/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/virtualNetworks/apimcus/subnets/tenant"
},
"virtualNetworkType": "External",
},
"sku": {"capacity": 2, "name": "Premium"},
"tags": {"tag1": "value1", "tag2": "value2", "tag3": "value3"},
"zones": ["1", "2"],
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-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"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c767823fdfd9d5e96bad245e3ea4d14d94a716bb/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-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.6409875Z"); 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.1075056Z"); 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.1974346Z"); 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/2021-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 System;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.ApiManagement;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Resources;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-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
샘플 응답
location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01
{
"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"
}
}
location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01
ApiManagementCreateServiceInZones
샘플 요청
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1?api-version=2021-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/2021-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();
}
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_service_in_zones.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.api_management_service.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
parameters={
"location": "North europe",
"properties": {"publisherEmail": "apim@autorestsdk.com", "publisherName": "autorestsdk"},
"sku": {"capacity": 2, "name": "Premium"},
"tags": {"tag1": "value1", "tag2": "value2", "tag3": "value3"},
"zones": ["1", "2"],
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-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"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c767823fdfd9d5e96bad245e3ea4d14d94a716bb/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-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.6562474Z"); 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.1075056Z"); 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.1974346Z"); 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/2021-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 System;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.ApiManagement;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Resources;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-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
샘플 응답
location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01
{
"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"
}
}
location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01
ApiManagementCreateServiceWithCustomHostnameKeyVault
샘플 요청
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1?api-version=2021-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/2021-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("https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert")
.withIdentityClientId("329419bc-adec-4dce-9568-25a6d486e468")
.withDefaultSslBinding(true),
new HostnameConfiguration()
.withType(HostnameType.MANAGEMENT)
.withHostname("mgmt.msitesting.net")
.withKeyVaultId("https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert")
.withIdentityClientId("329419bc-adec-4dce-9568-25a6d486e468"),
new HostnameConfiguration()
.withType(HostnameType.PORTAL)
.withHostname("portal1.msitesting.net")
.withKeyVaultId("https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert")
.withIdentityClientId("329419bc-adec-4dce-9568-25a6d486e468")))
.withVirtualNetworkType(VirtualNetworkType.NONE)
.withApiVersionConstraint(new ApiVersionConstraint().withMinApiVersion("2019-01-01"))
.create();
}
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_service_with_custom_hostname_key_vault.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.api_management_service.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
parameters={
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {}
},
},
"location": "North Europe",
"properties": {
"apiVersionConstraint": {"minApiVersion": "2019-01-01"},
"hostnameConfigurations": [
{
"defaultSslBinding": True,
"hostName": "gateway1.msitesting.net",
"identityClientId": "329419bc-adec-4dce-9568-25a6d486e468",
"keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
"type": "Proxy",
},
{
"hostName": "mgmt.msitesting.net",
"identityClientId": "329419bc-adec-4dce-9568-25a6d486e468",
"keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
"type": "Management",
},
{
"hostName": "portal1.msitesting.net",
"identityClientId": "329419bc-adec-4dce-9568-25a6d486e468",
"keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
"type": "Portal",
},
],
"publisherEmail": "apim@autorestsdk.com",
"publisherName": "autorestsdk",
"virtualNetworkType": "None",
},
"sku": {"capacity": 1, "name": "Premium"},
"tags": {"tag1": "value1", "tag2": "value2", "tag3": "value3"},
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-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"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c767823fdfd9d5e96bad245e3ea4d14d94a716bb/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-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-xxxx-xxxx-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-xxxx-xxxx-xxxx-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.7759747Z"); 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+00:00"); 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+00:00"); 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+00:00"); 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.1075056Z"); 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.1974346Z"); 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/2021-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 System;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.ApiManagement;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Resources;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-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
샘플 응답
location: https://management.azure.com/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/bXVsdGlob3N0bmFtZW11bHRpcmVnaW9uc2VydmljZV9BY3RfZjFiOTZhMjc=?api-version=2021-08-01
{
"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-xxxx-xxxx-ab578e110ccd",
"userAssignedIdentities": {
"/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {
"principalId": "15e769b2-xxxx-xxxx-xxxx-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"
}
}
location: https://management.azure.com/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/bXVsdGlob3N0bmFtZW11bHRpcmVnaW9uc2VydmljZV9BY3RfZjFiOTZhMjc=?api-version=2021-08-01
ApiManagementCreateServiceWithSystemCertificates
샘플 요청
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1?api-version=2021-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/2021-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("*******Base64 encoded Certificate******************")
.withCertificatePassword("Password")
.withStoreName(CertificateConfigurationStoreName.CERTIFICATE_AUTHORITY)))
.create();
}
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_service_with_system_certificates.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.api_management_service.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
parameters={
"location": "Central US",
"properties": {
"certificates": [
{
"certificatePassword": "Password",
"encodedCertificate": "*******Base64 encoded Certificate******************",
"storeName": "CertificateAuthority",
}
],
"publisherEmail": "apim@autorestsdk.com",
"publisherName": "autorestsdk",
},
"sku": {"capacity": 1, "name": "Basic"},
"tags": {"tag1": "value1", "tag2": "value2", "tag3": "value3"},
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-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"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c767823fdfd9d5e96bad245e3ea4d14d94a716bb/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-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+00:00"); 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.0906918Z"); 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.1075056Z"); 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.1974346Z"); 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/2021-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 System;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.ApiManagement;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Resources;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-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
샘플 응답
location: https://management.azure.com/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/bXVsdGlob3N0bmFtZW11bHRpcmVnaW9uc2VydmljZV9BY3RfZjFiOTZhMjc=?api-version=2021-08-01
{
"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"
}
}
location: https://management.azure.com/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/bXVsdGlob3N0bmFtZW11bHRpcmVnaW9uc2VydmljZV9BY3RfZjFiOTZhMjc=?api-version=2021-08-01
ApiManagementCreateServiceWithUserAssignedIdentity
샘플 요청
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1?api-version=2021-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/2021-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();
}
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_service_with_user_assigned_identity.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.api_management_service.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
parameters={
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/apimService1": {}
},
},
"location": "West US",
"properties": {"publisherEmail": "apim@autorestsdk.com", "publisherName": "autorestsdk"},
"sku": {"capacity": 0, "name": "Consumption"},
"tags": {"tag1": "value1", "tag2": "value2", "tag3": "value3"},
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-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"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c767823fdfd9d5e96bad245e3ea4d14d94a716bb/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-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("XXXXX-86f1-41af-XXXX-2d7cd011db47"),
// UserAssignedIdentities: map[string]*armapimanagement.UserIdentityProperties{
// "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/apimService1": &armapimanagement.UserIdentityProperties{
// ClientID: to.Ptr("5a2c6b8e-0905-XXXX-a772-993c9418137f"),
// PrincipalID: to.Ptr("XXXXX-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.4573398Z"); 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.1075056Z"); 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.1974346Z"); 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/2021-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 System;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.ApiManagement;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Resources;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-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
샘플 응답
location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01
{
"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": "XXXXX-86f1-41af-XXXX-2d7cd011db47",
"userAssignedIdentities": {
"/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/apimService1": {
"principalId": "XXXXX-6e62-4649-9f54-a119fc1ba85e",
"clientId": "5a2c6b8e-0905-XXXX-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"
}
}
location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01
ApiManagementUndelete
샘플 요청
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1?api-version=2021-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/2021-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();
}
@SuppressWarnings("unchecked")
private static <T> Map<String, T> mapOf(Object... inputs) {
Map<String, T> map = new HashMap<>();
for (int i = 0; i < inputs.length; i += 2) {
String key = (String) inputs[i];
T value = (T) inputs[i + 1];
map.put(key, value);
}
return map;
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_undelete.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.api_management_service.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
parameters={
"location": "South Central US",
"properties": {"publisherEmail": "foo@contoso.com", "publisherName": "foo", "restore": True},
"sku": {"capacity": 1, "name": "Developer"},
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-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"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/c767823fdfd9d5e96bad245e3ea4d14d94a716bb/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-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.0327105Z"); 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/2021-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 System;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.ApiManagement;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Resources;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-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
샘플 응답
location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01
{
"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
}
}
location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/c2RrdGVzdGFwaW0xNTkxX0FjdF9jZTkyMmNmOQ==?api-version=2021-08-01
정의
AdditionalLocation
Object
추가 API Management 리소스 위치에 대한 설명입니다.
Name |
형식 |
Default value |
Description |
disableGateway
|
boolean
|
False
|
속성은 여러 위치에 배포된 Api Management 서비스에만 유효합니다. 이 추가 위치에서 게이트웨이를 사용하지 않도록 설정하는 데 사용할 수 있습니다.
|
gatewayRegionalUrl
|
string
|
|
지역에 있는 API Management 서비스의 게이트웨이 URL입니다.
|
location
|
string
|
|
Azure 데이터 센터 지역 간의 추가 지역의 위치 이름입니다.
|
platformVersion
|
PlatformVersion
|
|
서비스를 실행하는 컴퓨팅 플랫폼 버전입니다.
|
privateIPAddresses
|
string[]
|
|
특정 추가 위치의 내부 가상 네트워크에 배포되는 API Management 서비스의 프라이빗 정적 부하 분산 IP 주소입니다. 기본, 표준, 프리미엄 및 격리된 SKU에만 사용할 수 있습니다.
|
publicIPAddresses
|
string[]
|
|
추가 위치에 있는 API Management 서비스의 공용 정적 부하 분산 IP 주소입니다. 기본, 표준, 프리미엄 및 격리된 SKU에만 사용할 수 있습니다.
|
publicIpAddressId
|
string
|
|
위치에서 Virtual Network 배포 서비스와 연결할 공용 표준 SKU IP V4 기반 IP 주소입니다. Virtual Network에 배포되는 프리미엄 SKU에 대해서만 지원됩니다.
|
sku
|
ApiManagementServiceSkuProperties
|
|
API Management 서비스의 SKU 속성입니다.
|
virtualNetworkConfiguration
|
VirtualNetworkConfiguration
|
|
위치에 대한 가상 네트워크 구성입니다.
|
zones
|
string[]
|
|
리소스의 원본 위치를 나타내는 가용성 영역 목록입니다.
|
ApiManagementServiceIdentity
Object
Api Management 서비스 리소스의 ID 속성입니다.
Name |
형식 |
Description |
principalId
|
string
(uuid)
|
ID의 보안 주체 ID입니다.
|
tenantId
|
string
(uuid)
|
ID의 클라이언트 테넌트 ID입니다.
|
type
|
ApimIdentityType
|
리소스에 사용되는 ID의 형식입니다. 'SystemAssigned, UserAssigned' 형식에는 암시적으로 생성된 ID와 사용자 할당 ID 집합이 모두 포함됩니다. 'None' 형식은 서비스에서 모든 ID를 제거합니다.
|
userAssignedIdentities
|
<string,
UserIdentityProperties>
|
리소스와 연결된 사용자 ID 목록입니다. 사용자 ID 사전 키 참조는 '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}' 형식의 ARM 리소스 ID입니다.
|
ApiManagementServiceResource
Object
목록 또는 응답 가져오기의 단일 API Management 서비스 리소스입니다.
Name |
형식 |
Default value |
Description |
etag
|
string
|
|
리소스의 ETag입니다.
|
id
|
string
|
|
리소스 ID입니다.
|
identity
|
ApiManagementServiceIdentity
|
|
Api Management 서비스의 관리 서비스 ID입니다.
|
location
|
string
|
|
리소스 위치입니다.
|
name
|
string
|
|
리소스 이름입니다.
|
properties.additionalLocations
|
AdditionalLocation[]
|
|
API Management 서비스의 추가 데이터 센터 위치입니다.
|
properties.apiVersionConstraint
|
ApiVersionConstraint
|
|
API Management 서비스에 대한 컨트롤 플레인 API 버전 제약 조건입니다.
|
properties.certificates
|
CertificateConfiguration[]
|
|
API Management 서비스에 설치해야 하는 인증서 목록입니다. 설치할 수 있는 지원되는 최대 인증서는 10개입니다.
|
properties.createdAtUtc
|
string
(date-time)
|
|
API Management 서비스의 만들기 UTC 날짜입니다. 날짜는 ISO 8601 표준에 지정된 yyyy-MM-ddTHH:mm:ssZ 형식을 준수합니다.
|
properties.customProperties
|
object
|
|
API Management 서비스의 사용자 지정 속성입니다. 설정 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 모든 TLS(1.0, 1.1 및 1.2)에 대해 암호화 TLS_RSA_WITH_3DES_EDE_CBC_SHA 사용하지 않도록 설정합니다. 설정 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 사용하여 TLS 1.1만 사용하지 않도록 설정할 수 있습니다. 설정 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 사용하여 API Management 서비스에서 TLS 1.0을 사용하지 않도록 설정할 수 있습니다. 설정 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 사용하여 백 엔드와의 통신에 TLS 1.1만 사용하지 않도록 설정할 수 있습니다. 설정 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 사용하여 백 엔드와의 통신에 TLS 1.0을 사용하지 않도록 설정할 수 있습니다. 설정 Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2 사용하여 API Management 서비스에서 HTTP2 프로토콜을 사용하도록 설정할 수 있습니다. PATCH 작업에서 이러한 속성을 지정하지 않으면 생략된 속성의 값이 기본값으로 다시 설정됩니다. Http2를 제외한 모든 설정의 경우 서비스가 2018년 4월 1일 또는 그 이전에 만들어진 경우 기본값이 True , 그렇지 않으면 False . Http2 설정의 기본값은 False .
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 등의 설정 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name] 사용하여 다음 암호화를 사용하지 않도록 설정할 수 있습니다. TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. 예를 들어 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256 :false . 기본값은 true .
참고: 내부 플랫폼 구성 요소에 필요하므로 다음 암호화를 사용하지 않도록 설정할 수 없습니다. 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
|
|
API Management 서비스의 DEveloper 포털 엔드포인트 URL입니다.
|
properties.disableGateway
|
boolean
|
False
|
속성은 여러 위치에 배포된 Api Management 서비스에만 유효합니다. 마스터 지역에서 게이트웨이를 사용하지 않도록 설정하는 데 사용할 수 있습니다.
|
properties.enableClientCertificate
|
boolean
|
False
|
속성은 소비 SKU 서비스에만 사용됩니다. 이렇게 하면 게이트웨이에 대한 각 요청에 대해 클라이언트 인증서가 표시됩니다. 이렇게 하면 게이트웨이의 정책에서 인증서를 인증하는 기능도 사용할 수 있습니다.
|
properties.gatewayRegionalUrl
|
string
|
|
기본 지역에 있는 API Management 서비스의 게이트웨이 URL입니다.
|
properties.gatewayUrl
|
string
|
|
API Management 서비스의 게이트웨이 URL입니다.
|
properties.hostnameConfigurations
|
HostnameConfiguration[]
|
|
API Management 서비스의 사용자 지정 호스트 이름 구성입니다.
|
properties.managementApiUrl
|
string
|
|
API Management 서비스의 관리 API 엔드포인트 URL입니다.
|
properties.notificationSenderEmail
|
string
maxLength: 100
|
|
알림을 보낼 전자 메일 주소입니다.
|
properties.platformVersion
|
PlatformVersion
|
|
이 위치에서 서비스를 실행하는 컴퓨팅 플랫폼 버전입니다.
|
properties.portalUrl
|
string
|
|
API Management 서비스의 게시자 포털 엔드포인트 URL입니다.
|
properties.privateEndpointConnections
|
RemotePrivateEndpointConnectionWrapper[]
|
|
이 서비스의 프라이빗 엔드포인트 연결 목록입니다.
|
properties.privateIPAddresses
|
string[]
|
|
내부 가상 네트워크에 배포된 주 지역의 API Management 서비스의 개인 정적 부하 분산 IP 주소입니다. 기본, 표준, 프리미엄 및 격리된 SKU에만 사용할 수 있습니다.
|
properties.provisioningState
|
string
|
|
생성/활성화/성공/업데이트/실패/중지/종료/TerminatFailed/Deleted 중 하나일 수 있는 API Management 서비스의 현재 프로비전 상태입니다.
|
properties.publicIPAddresses
|
string[]
|
|
주 지역에 있는 API Management 서비스의 공용 정적 부하 분산 IP 주소입니다. 기본, 표준, 프리미엄 및 격리된 SKU에만 사용할 수 있습니다.
|
properties.publicIpAddressId
|
string
|
|
지역에서 Virtual Network 배포 서비스와 연결할 공용 표준 SKU IP V4 기반 IP 주소입니다. Virtual Network에 배포되는 개발자 및 프리미엄 SKU에 대해서만 지원됩니다.
|
properties.publicNetworkAccess
|
PublicNetworkAccess
|
|
이 API Management 서비스에 대한 퍼블릭 엔드포인트 액세스가 허용되는지 여부입니다. 값은 선택 사항이지만 전달된 경우 '사용' 또는 '사용 안 함'이어야 합니다. 'Disabled'인 경우 프라이빗 엔드포인트는 전용 액세스 방법입니다. 기본값은 'Enabled'입니다.
|
properties.publisherEmail
|
string
maxLength: 100
|
|
게시자 전자 메일입니다.
|
properties.publisherName
|
string
maxLength: 100
|
|
게시자 이름입니다.
|
properties.restore
|
boolean
|
False
|
이전에 일시 삭제된 경우 Api Management 서비스를 삭제 취소합니다. 이 플래그를 지정하고 True로 설정하면 다른 모든 속성은 무시됩니다.
|
properties.scmUrl
|
string
|
|
API Management 서비스의 SCM 엔드포인트 URL입니다.
|
properties.targetProvisioningState
|
string
|
|
서비스에서 시작된 장기 실행 작업의 대상이 되는 API Management 서비스의 프로비전 상태입니다.
|
properties.virtualNetworkConfiguration
|
VirtualNetworkConfiguration
|
|
API Management 서비스의 가상 네트워크 구성입니다.
|
properties.virtualNetworkType
|
VirtualNetworkType
|
None
|
API Management 서비스를 구성해야 하는 VPN의 유형입니다. 없음(기본값)은 API Management 서비스가 Virtual Network의 일부가 아님을 의미하고, 외부는 API Management 배포가 인터넷 연결 엔드포인트가 있는 Virtual Network 내에 설정됨을 의미하며, 내부는 인트라넷 연결 엔드포인트만 있는 Virtual Network 내에서 API Management 배포가 설정됨을 의미합니다.
|
sku
|
ApiManagementServiceSkuProperties
|
|
API Management 서비스의 SKU 속성입니다.
|
systemData
|
systemData
|
|
리소스의 생성 및 마지막 수정과 관련된 메타데이터입니다.
|
tags
|
object
|
|
리소스 태그.
|
type
|
string
|
|
API Management 리소스의 리소스 종류는 Microsoft.ApiManagement로 설정됩니다.
|
zones
|
string[]
|
|
리소스의 원본 위치를 나타내는 가용성 영역 목록입니다.
|
ApiManagementServiceSkuProperties
Object
API Management 서비스 리소스 SKU 속성입니다.
Name |
형식 |
Description |
capacity
|
integer
(int32)
|
SKU의 용량(SKU의 배포된 단위 수)입니다. 소비 SKU 용량의 경우 0으로 지정해야 합니다.
|
name
|
SkuType
|
Sku의 이름입니다.
|
ApimIdentityType
열거형
리소스에 사용되는 ID의 형식입니다. 'SystemAssigned, UserAssigned' 형식에는 암시적으로 생성된 ID와 사용자 할당 ID 집합이 모두 포함됩니다. 'None' 형식은 서비스에서 모든 ID를 제거합니다.
값 |
Description |
None
|
|
SystemAssigned
|
|
SystemAssigned, UserAssigned
|
|
UserAssigned
|
|
ApiVersionConstraint
Object
API Management 서비스에 대한 컨트롤 플레인 API 버전 제약 조건입니다.
Name |
형식 |
Description |
minApiVersion
|
string
|
이 값보다 같거나 최신 버전인 API Management 서비스에 대한 제어 평면 API 호출을 제한합니다.
|
ArmIdWrapper
Object
ARM 리소스 ID에 대한 래퍼
Name |
형식 |
Description |
id
|
string
|
|
CertificateConfiguration
Object
신뢰할 수 없는 중간 및 루트 인증서로 구성된 인증서 구성입니다.
Name |
형식 |
Description |
certificate
|
CertificateInformation
|
인증서 정보입니다.
|
certificatePassword
|
string
|
인증서 암호입니다.
|
encodedCertificate
|
string
|
Base64로 인코딩된 인증서입니다.
|
storeName
|
enum:
-
CertificateAuthority
-
Root
|
System.Security.Cryptography.x509certificates.StoreName 인증서 저장소 위치입니다. 루트 및 CertificateAuthority만 유효한 위치입니다.
|
Object
SSL 인증서 정보입니다.
Name |
형식 |
Description |
expiry
|
string
(date-time)
|
인증서의 만료 날짜입니다. 날짜는 ISO 8601 표준에 지정된 yyyy-MM-ddTHH:mm:ssZ 형식을 준수합니다.
|
subject
|
string
|
인증서의 주체입니다.
|
thumbprint
|
string
|
인증서의 지문입니다.
|
CertificateSource
열거형
인증서 원본입니다.
값 |
Description |
BuiltIn
|
|
Custom
|
|
KeyVault
|
|
Managed
|
|
CertificateStatus
열거형
인증서 상태.
값 |
Description |
Completed
|
|
Failed
|
|
InProgress
|
|
createdByType
열거형
리소스를 만든 ID의 형식입니다.
값 |
Description |
Application
|
|
Key
|
|
ManagedIdentity
|
|
User
|
|
ErrorFieldContract
Object
오류 필드 계약입니다.
Name |
형식 |
Description |
code
|
string
|
속성 수준 오류 코드입니다.
|
message
|
string
|
사람이 읽을 수 있는 속성 수준 오류 표현입니다.
|
target
|
string
|
속성 이름입니다.
|
ErrorResponse
Object
오류 응답입니다.
Name |
형식 |
Description |
error.code
|
string
|
서비스 정의 오류 코드입니다. 이 코드는 응답에 지정된 HTTP 오류 코드의 하위 상태로 사용됩니다.
|
error.details
|
ErrorFieldContract[]
|
유효성 검사 오류가 발생한 경우 요청에 잘못된 필드 보내기 목록입니다.
|
error.message
|
string
|
사람이 읽을 수 있는 오류 표현입니다.
|
HostnameConfiguration
Object
사용자 지정 호스트 이름 구성입니다.
Name |
형식 |
Default value |
Description |
certificate
|
CertificateInformation
|
|
인증서 정보입니다.
|
certificatePassword
|
string
|
|
인증서 암호입니다.
|
certificateSource
|
CertificateSource
|
|
인증서 원본입니다.
|
certificateStatus
|
CertificateStatus
|
|
인증서 상태.
|
defaultSslBinding
|
boolean
|
False
|
이 호스트 이름과 연결된 인증서를 기본 SSL 인증서로 설정하려면 true를 지정합니다. 클라이언트가 SNI 헤더를 보내지 않으면 이 문제가 발생하는 인증서가 됩니다. 이 속성은 서비스에 여러 사용자 지정 호스트 이름을 사용하도록 설정하고 기본 ssl 인증서를 결정해야 하는 경우에 유용합니다. 이 설정은 프록시 호스트 이름 형식에만 적용됩니다.
|
encodedCertificate
|
string
|
|
Base64로 인코딩된 인증서입니다.
|
hostName
|
string
|
|
Api Management 서비스에서 구성할 호스트 이름입니다.
|
identityClientId
|
string
|
|
SSL 인증서를 포함하는 keyVault에 대한 GET 액세스 권한이 있는 Azure AD에서 생성된 시스템 또는 사용자 할당 관리 ID clientId입니다.
|
keyVaultId
|
string
|
|
Ssl 인증서를 포함하는 KeyVault 비밀에 대한 URL입니다. 버전이 포함된 절대 URL이 제공되면 ssl 인증서의 자동 업데이트가 작동하지 않습니다. 이렇게 하려면 aka.ms/apimmsi 사용하여 Api Management 서비스를 구성해야 합니다. 비밀은 application/x-pkcs12 형식이어야 합니다.
|
negotiateClientCertificate
|
boolean
|
False
|
호스트 이름에서 항상 클라이언트 인증서를 협상하려면 true를 지정합니다. 기본값은 false입니다.
|
type
|
HostnameType
|
|
호스트 이름 형식입니다.
|
HostnameType
열거형
호스트 이름 형식입니다.
값 |
Description |
DeveloperPortal
|
|
Management
|
|
Portal
|
|
Proxy
|
|
Scm
|
|
열거형
서비스를 실행하는 컴퓨팅 플랫폼 버전입니다.
값 |
Description |
mtv1
|
다중 테넌트 V1 플랫폼에서 서비스를 실행하는 플랫폼입니다.
|
stv1
|
단일 테넌트 V1 플랫폼에서 서비스를 실행하는 플랫폼입니다.
|
stv2
|
단일 테넌트 V2 플랫폼에서 서비스를 실행하는 플랫폼입니다.
|
undetermined
|
컴퓨팅 플랫폼이 배포되지 않으므로 플랫폼 버전을 확인할 수 없습니다.
|
PrivateEndpointServiceConnectionStatus
열거형
프라이빗 엔드포인트 연결 상태입니다.
값 |
Description |
Approved
|
|
Pending
|
|
Rejected
|
|
PrivateLinkServiceConnectionState
Object
서비스 소비자와 공급자 간의 연결 상태에 대한 정보 컬렉션입니다.
Name |
형식 |
Description |
actionsRequired
|
string
|
서비스 공급자의 변경 내용에 소비자에 대한 업데이트가 필요한지 여부를 나타내는 메시지입니다.
|
description
|
string
|
연결의 승인/거부 이유입니다.
|
status
|
PrivateEndpointServiceConnectionStatus
|
서비스 소유자가 연결을 승인/거부/제거했는지 여부를 나타냅니다.
|
PublicNetworkAccess
열거형
이 API Management 서비스에 대한 퍼블릭 엔드포인트 액세스가 허용되는지 여부입니다. 값은 선택 사항이지만 전달된 경우 '사용' 또는 '사용 안 함'이어야 합니다. 'Disabled'인 경우 프라이빗 엔드포인트는 전용 액세스 방법입니다. 기본값은 'Enabled'입니다.
값 |
Description |
Disabled
|
|
Enabled
|
|
RemotePrivateEndpointConnectionWrapper
Object
원격 프라이빗 엔드포인트 연결 리소스입니다.
Name |
형식 |
Description |
id
|
string
|
프라이빗 엔드포인트 연결 리소스 ID
|
name
|
string
|
프라이빗 엔드포인트 연결 이름
|
properties.groupIds
|
string[]
|
모든 그룹 ID입니다.
|
properties.privateEndpoint
|
ArmIdWrapper
|
프라이빗 엔드포인트의 리소스입니다.
|
properties.privateLinkServiceConnectionState
|
PrivateLinkServiceConnectionState
|
서비스 소비자와 공급자 간의 연결 상태에 대한 정보 컬렉션입니다.
|
properties.provisioningState
|
string
|
프라이빗 엔드포인트 연결 리소스의 프로비전 상태입니다.
|
type
|
string
|
프라이빗 엔드포인트 연결 리소스 종류
|
SkuType
열거형
Sku의 이름입니다.
값 |
Description |
Basic
|
Api Management의 기본 SKU입니다.
|
Consumption
|
Api Management의 소비 SKU입니다.
|
Developer
|
Api Management의 개발자 SKU입니다.
|
Isolated
|
Api Management의 격리된 SKU입니다.
|
Premium
|
Api Management의 프리미엄 SKU입니다.
|
Standard
|
Api Management의 표준 SKU입니다.
|
systemData
Object
리소스의 생성 및 마지막 수정과 관련된 메타데이터입니다.
Name |
형식 |
Description |
createdAt
|
string
(date-time)
|
리소스 만들기의 타임스탬프(UTC)입니다.
|
createdBy
|
string
|
리소스를 만든 ID입니다.
|
createdByType
|
createdByType
|
리소스를 만든 ID의 형식입니다.
|
lastModifiedAt
|
string
(date-time)
|
리소스 마지막 수정의 타임스탬프(UTC)
|
lastModifiedBy
|
string
|
리소스를 마지막으로 수정한 ID입니다.
|
lastModifiedByType
|
createdByType
|
리소스를 마지막으로 수정한 ID의 형식입니다.
|
UserIdentityProperties
Object
Name |
형식 |
Description |
clientId
|
string
|
사용자 할당 ID의 클라이언트 ID입니다.
|
principalId
|
string
|
사용자 할당 ID의 보안 주체 ID입니다.
|
VirtualNetworkConfiguration
Object
API Management 서비스가 배포되는 가상 네트워크의 구성입니다.
Name |
형식 |
Description |
subnetResourceId
|
string
pattern: ^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.(ClassicNetwork|Network)/virtualNetworks/[^/]*/subnets/[^/]*$
|
API Management 서비스를 배포할 가상 네트워크에 있는 서브넷의 전체 리소스 ID입니다.
|
subnetname
|
string
|
서브넷의 이름입니다.
|
vnetid
|
string
|
가상 네트워크 ID입니다. 일반적으로 GUID입니다. 기본적으로 null GUID를 예상합니다.
|
VirtualNetworkType
열거형
API Management 서비스를 구성해야 하는 VPN의 유형입니다. 없음(기본값)은 API Management 서비스가 Virtual Network의 일부가 아님을 의미하고, 외부는 API Management 배포가 인터넷 연결 엔드포인트가 있는 Virtual Network 내에 설정됨을 의미하며, 내부는 인트라넷 연결 엔드포인트만 있는 Virtual Network 내에서 API Management 배포가 설정됨을 의미합니다.
값 |
Description |
External
|
이 서비스는 Virtual Network의 일부이며 인터넷에서 액세스할 수 있습니다.
|
Internal
|
이 서비스는 Virtual Network의 일부이며 가상 네트워크 내에서만 액세스할 수 있습니다.
|
None
|
서비스는 Virtual Network의 일부가 아닙니다.
|