新建 API 管理服务实例的指定 API,或更新现有 API。
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}?api-version=2022-08-01
URI 参数
名称 |
在 |
必需 |
类型 |
说明 |
apiId
|
path |
True
|
string
|
API 修订标识符。 在当前API 管理服务实例中必须是唯一的。 非当前修订版具有 ;rev=n 作为后缀,其中 n 是修订号。
Regex pattern: ^[^*#&+:<>?]+$
|
resourceGroupName
|
path |
True
|
string
|
资源组的名称。 此名称不区分大小写。
|
serviceName
|
path |
True
|
string
|
API 管理服务的名称。
Regex pattern: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$
|
subscriptionId
|
path |
True
|
string
|
目标订阅的 ID。
|
api-version
|
query |
True
|
string
|
要用于此操作的 API 版本。
|
名称 |
必需 |
类型 |
说明 |
If-Match
|
|
string
|
实体的 ETag。 创建实体时不需要,但在更新实体时是必需的。
|
请求正文
名称 |
必需 |
类型 |
说明 |
properties.path
|
True
|
string
|
相对 URL,用于唯一标识此 API 及其在 API 管理服务实例中的所有资源路径。 可将其追加到在服务实例创建过程中指定的 API 终结点基 URL,构成此 API 的公共 URL。
|
apiRevision
|
|
string
|
描述 API 的修订。 如果未提供任何值,则创建默认修订版 1
|
apiRevisionDescription
|
|
string
|
API 修订版的说明。
|
apiVersion
|
|
string
|
指示 API 的版本标识符(如果 API 已进行版本控制)
|
apiVersionDescription
|
|
string
|
API 版本的说明。
|
apiVersionSetId
|
|
string
|
相关 ApiVersionSet 的资源标识符。
|
authenticationSettings
|
|
AuthenticationSettingsContract
|
此 API 中包含的身份验证设置的集合。
|
contact
|
|
ApiContactInformation
|
API 的联系信息。
|
description
|
|
string
|
API 的说明。 可以包含 HTML 格式标记。
|
isCurrent
|
|
boolean
|
指示 API 修订是否为当前 API 修订版。
|
license
|
|
ApiLicenseInformation
|
API 的许可证信息。
|
properties.apiType
|
|
SoapApiType
|
要创建的 API 的类型。
http 创建 REST API
soap 创建 SOAP 传递 API
websocket 创建 websocket API
graphql 创建 GraphQL API。
|
properties.apiVersionSet
|
|
ApiVersionSetContractDetails
|
版本集详细信息
|
properties.displayName
|
|
string
|
API 名称。 长度必须为 1 到 300 个字符。
|
properties.format
|
|
ContentFormat
|
要导入 API 的内容的格式。
|
properties.protocols
|
|
Protocol[]
|
说明可在哪些协议上调用此 API 中的操作。
|
properties.serviceUrl
|
|
string
|
实现此 API 的后端服务的绝对 URL。 长度不能超过 2000 个字符。
|
properties.sourceApiId
|
|
string
|
源 API 的 API 标识符。
|
properties.translateRequiredQueryParameters
|
|
TranslateRequiredQueryParametersConduct
|
将所需查询参数转换为模板参数的策略。 默认情况下,值为“template”。 可能的值:“template”、“query”
|
properties.value
|
|
string
|
导入 API 时的内容值。
|
properties.wsdlSelector
|
|
WsdlSelector
|
将 WSDL 导入限制为文档子集的条件。
|
subscriptionKeyParameterNames
|
|
SubscriptionKeyParameterNamesContract
|
提供 API 的协议。
|
subscriptionRequired
|
|
boolean
|
指定访问 API 是否需要 API 订阅或产品订阅。
|
termsOfServiceUrl
|
|
string
|
指向 API 服务条款的 URL。 必须采用 URL 的格式。
|
type
|
|
ApiType
|
API 的类型。
|
响应
名称 |
类型 |
说明 |
200 OK
|
ApiContract
|
API 已成功更新。
Headers
ETag: string
|
201 Created
|
ApiContract
|
已成功创建 API。
Headers
ETag: string
|
202 Accepted
|
|
已接受创建或更新 API 的请求。 位置标头包含可在其中检查长时间运行的操作状态的 URL。
|
Other Status Codes
|
ErrorResponse
|
描述操作失败原因的错误响应。
|
安全性
azure_auth
Azure Active Directory OAuth2 流。
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
名称 |
说明 |
user_impersonation
|
模拟用户帐户
|
示例
ApiManagementCreateApi
Sample Request
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2022-08-01
{
"properties": {
"description": "apidescription5200",
"authenticationSettings": {
"oAuth2": {
"authorizationServerId": "authorizationServerId2283",
"scope": "oauth2scope2580"
}
},
"subscriptionKeyParameterNames": {
"header": "header4520",
"query": "query3037"
},
"displayName": "apiname1463",
"serviceUrl": "http://newechoapi.cloudapp.net/api",
"path": "newapiPath",
"protocols": [
"https",
"http"
]
}
}
import com.azure.resourcemanager.apimanagement.models.AuthenticationSettingsContract;
import com.azure.resourcemanager.apimanagement.models.OAuth2AuthenticationSettingsContract;
import com.azure.resourcemanager.apimanagement.models.Protocol;
import com.azure.resourcemanager.apimanagement.models.SubscriptionKeyParameterNamesContract;
import java.util.Arrays;
/** Samples for Api CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApi.json
*/
/**
* Sample code: ApiManagementCreateApi.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateApi(com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager
.apis()
.define("tempgroup")
.withExistingService("rg1", "apimService1")
.withDisplayName("apiname1463")
.withServiceUrl("http://newechoapi.cloudapp.net/api")
.withPath("newapiPath")
.withProtocols(Arrays.asList(Protocol.HTTPS, Protocol.HTTP))
.withDescription("apidescription5200")
.withAuthenticationSettings(
new AuthenticationSettingsContract()
.withOAuth2(
new OAuth2AuthenticationSettingsContract()
.withAuthorizationServerId("fakeTokenPlaceholder")
.withScope("oauth2scope2580")))
.withSubscriptionKeyParameterNames(
new SubscriptionKeyParameterNamesContract().withHeaderProperty("header4520").withQuery("query3037"))
.create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_api.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.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
api_id="tempgroup",
parameters={
"properties": {
"authenticationSettings": {
"oAuth2": {"authorizationServerId": "authorizationServerId2283", "scope": "oauth2scope2580"}
},
"description": "apidescription5200",
"displayName": "apiname1463",
"path": "newapiPath",
"protocols": ["https", "http"],
"serviceUrl": "http://newechoapi.cloudapp.net/api",
"subscriptionKeyParameterNames": {"header": "header4520", "query": "query3037"},
}
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApi.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4cd95123fb961c68740565a1efcaa5e43bd35802/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApi.json
func ExampleAPIClient_BeginCreateOrUpdate_apiManagementCreateApi() {
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.NewAPIClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", "tempgroup", armapimanagement.APICreateOrUpdateParameter{
Properties: &armapimanagement.APICreateOrUpdateProperties{
Description: to.Ptr("apidescription5200"),
AuthenticationSettings: &armapimanagement.AuthenticationSettingsContract{
OAuth2: &armapimanagement.OAuth2AuthenticationSettingsContract{
AuthorizationServerID: to.Ptr("authorizationServerId2283"),
Scope: to.Ptr("oauth2scope2580"),
},
},
SubscriptionKeyParameterNames: &armapimanagement.SubscriptionKeyParameterNamesContract{
Header: to.Ptr("header4520"),
Query: to.Ptr("query3037"),
},
Path: to.Ptr("newapiPath"),
DisplayName: to.Ptr("apiname1463"),
Protocols: []*armapimanagement.Protocol{
to.Ptr(armapimanagement.ProtocolHTTPS),
to.Ptr(armapimanagement.ProtocolHTTP)},
ServiceURL: to.Ptr("http://newechoapi.cloudapp.net/api"),
},
}, &armapimanagement.APIClientBeginCreateOrUpdateOptions{IfMatch: 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.APIContract = armapimanagement.APIContract{
// Name: to.Ptr("apiid9419"),
// Type: to.Ptr("Microsoft.ApiManagement/service/apis"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419"),
// Properties: &armapimanagement.APIContractProperties{
// Description: to.Ptr("apidescription5200"),
// APIRevision: to.Ptr("1"),
// AuthenticationSettings: &armapimanagement.AuthenticationSettingsContract{
// OAuth2: &armapimanagement.OAuth2AuthenticationSettingsContract{
// AuthorizationServerID: to.Ptr("authorizationServerId2283"),
// Scope: to.Ptr("oauth2scope2580"),
// },
// OAuth2AuthenticationSettings: []*armapimanagement.OAuth2AuthenticationSettingsContract{
// {
// AuthorizationServerID: to.Ptr("authorizationServerId2283"),
// Scope: to.Ptr("oauth2scope2580"),
// }},
// },
// IsCurrent: to.Ptr(true),
// IsOnline: to.Ptr(true),
// SubscriptionKeyParameterNames: &armapimanagement.SubscriptionKeyParameterNamesContract{
// Header: to.Ptr("header4520"),
// Query: to.Ptr("query3037"),
// },
// Path: to.Ptr("newapiPath"),
// DisplayName: to.Ptr("apiname1463"),
// Protocols: []*armapimanagement.Protocol{
// to.Ptr(armapimanagement.ProtocolHTTP),
// to.Ptr(armapimanagement.ProtocolHTTPS)},
// ServiceURL: to.Ptr("http://newechoapi.cloudapp.net/api"),
// },
// }
}
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 new or updates existing specified API of the API Management service instance.
*
* @summary Creates new or updates existing specified API of the API Management service instance.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApi.json
*/
async function apiManagementCreateApi() {
const subscriptionId = process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const apiId = "tempgroup";
const parameters = {
path: "newapiPath",
description: "apidescription5200",
authenticationSettings: {
oAuth2: {
authorizationServerId: "authorizationServerId2283",
scope: "oauth2scope2580",
},
},
displayName: "apiname1463",
protocols: ["https", "http"],
serviceUrl: "http://newechoapi.cloudapp.net/api",
subscriptionKeyParameterNames: { header: "header4520", query: "query3037" },
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.api.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
apiId,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
"type": "Microsoft.ApiManagement/service/apis",
"name": "apiid9419",
"properties": {
"displayName": "apiname1463",
"apiRevision": "1",
"description": "apidescription5200",
"serviceUrl": "http://newechoapi.cloudapp.net/api",
"path": "newapiPath",
"protocols": [
"http",
"https"
],
"authenticationSettings": {
"oAuth2": {
"authorizationServerId": "authorizationServerId2283",
"scope": "oauth2scope2580"
},
"oAuth2AuthenticationSettings": [
{
"authorizationServerId": "authorizationServerId2283",
"scope": "oauth2scope2580"
}
]
},
"subscriptionKeyParameterNames": {
"header": "header4520",
"query": "query3037"
},
"isCurrent": true,
"isOnline": true
}
}
location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2022-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
"type": "Microsoft.ApiManagement/service/apis",
"name": "apiid9419",
"properties": {
"displayName": "apiname1463",
"apiRevision": "1",
"description": "apidescription5200",
"serviceUrl": "http://newechoapi.cloudapp.net/api",
"path": "newapiPath",
"protocols": [
"http",
"https"
],
"authenticationSettings": {
"oAuth2": {
"authorizationServerId": "authorizationServerId2283",
"scope": "oauth2scope2580"
},
"oAuth2AuthenticationSettings": [
{
"authorizationServerId": "authorizationServerId2283",
"scope": "oauth2scope2580"
}
]
},
"subscriptionKeyParameterNames": {
"header": "header4520",
"query": "query3037"
},
"isCurrent": true,
"isOnline": true
}
}
ApiManagementCreateApiClone
Sample Request
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api2?api-version=2022-08-01
{
"properties": {
"displayName": "Echo API2",
"description": "Copy of Existing Echo Api including Operations.",
"subscriptionRequired": true,
"serviceUrl": "http://echoapi.cloudapp.net/api",
"path": "echo2",
"protocols": [
"http",
"https"
],
"isCurrent": true,
"sourceApiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/58a4aeac497000007d040001"
}
}
import com.azure.resourcemanager.apimanagement.models.Protocol;
import java.util.Arrays;
/** Samples for Api CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiClone.json
*/
/**
* Sample code: ApiManagementCreateApiClone.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateApiClone(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager
.apis()
.define("echo-api2")
.withExistingService("rg1", "apimService1")
.withSourceApiId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/58a4aeac497000007d040001")
.withDisplayName("Echo API2")
.withServiceUrl("http://echoapi.cloudapp.net/api")
.withPath("echo2")
.withProtocols(Arrays.asList(Protocol.HTTP, Protocol.HTTPS))
.withDescription("Copy of Existing Echo Api including Operations.")
.withIsCurrent(true)
.withSubscriptionRequired(true)
.create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_api_clone.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.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
api_id="echo-api2",
parameters={
"properties": {
"description": "Copy of Existing Echo Api including Operations.",
"displayName": "Echo API2",
"isCurrent": True,
"path": "echo2",
"protocols": ["http", "https"],
"serviceUrl": "http://echoapi.cloudapp.net/api",
"sourceApiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/58a4aeac497000007d040001",
"subscriptionRequired": True,
}
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiClone.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4cd95123fb961c68740565a1efcaa5e43bd35802/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiClone.json
func ExampleAPIClient_BeginCreateOrUpdate_apiManagementCreateApiClone() {
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.NewAPIClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", "echo-api2", armapimanagement.APICreateOrUpdateParameter{
Properties: &armapimanagement.APICreateOrUpdateProperties{
Description: to.Ptr("Copy of Existing Echo Api including Operations."),
IsCurrent: to.Ptr(true),
SubscriptionRequired: to.Ptr(true),
Path: to.Ptr("echo2"),
DisplayName: to.Ptr("Echo API2"),
Protocols: []*armapimanagement.Protocol{
to.Ptr(armapimanagement.ProtocolHTTP),
to.Ptr(armapimanagement.ProtocolHTTPS)},
ServiceURL: to.Ptr("http://echoapi.cloudapp.net/api"),
SourceAPIID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/58a4aeac497000007d040001"),
},
}, &armapimanagement.APIClientBeginCreateOrUpdateOptions{IfMatch: 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.APIContract = armapimanagement.APIContract{
// Name: to.Ptr("echoapi2"),
// Type: to.Ptr("Microsoft.ApiManagement/service/apis"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoapi2"),
// Properties: &armapimanagement.APIContractProperties{
// Description: to.Ptr("Copy of Existing Echo Api including Operations."),
// APIRevision: to.Ptr("1"),
// IsCurrent: to.Ptr(true),
// SubscriptionKeyParameterNames: &armapimanagement.SubscriptionKeyParameterNamesContract{
// Header: to.Ptr("Ocp-Apim-Subscription-Key"),
// Query: to.Ptr("subscription-key"),
// },
// SubscriptionRequired: to.Ptr(true),
// Path: to.Ptr("echo2"),
// DisplayName: to.Ptr("Echo API2"),
// Protocols: []*armapimanagement.Protocol{
// to.Ptr(armapimanagement.ProtocolHTTP),
// to.Ptr(armapimanagement.ProtocolHTTPS)},
// ServiceURL: to.Ptr("http://echoapi.cloudapp.net/api"),
// },
// }
}
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 new or updates existing specified API of the API Management service instance.
*
* @summary Creates new or updates existing specified API of the API Management service instance.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiClone.json
*/
async function apiManagementCreateApiClone() {
const subscriptionId = process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const apiId = "echo-api2";
const parameters = {
path: "echo2",
description: "Copy of Existing Echo Api including Operations.",
displayName: "Echo API2",
isCurrent: true,
protocols: ["http", "https"],
serviceUrl: "http://echoapi.cloudapp.net/api",
sourceApiId:
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/58a4aeac497000007d040001",
subscriptionRequired: true,
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.api.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
apiId,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoapi2",
"type": "Microsoft.ApiManagement/service/apis",
"name": "echoapi2",
"properties": {
"displayName": "Echo API2",
"apiRevision": "1",
"description": "Copy of Existing Echo Api including Operations.",
"subscriptionRequired": true,
"serviceUrl": "http://echoapi.cloudapp.net/api",
"path": "echo2",
"protocols": [
"http",
"https"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"isCurrent": true
}
}
location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2022-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoapi2",
"type": "Microsoft.ApiManagement/service/apis",
"name": "echoapi2",
"properties": {
"displayName": "Echo API2",
"apiRevision": "1",
"description": "Copy of Existing Echo Api including Operations.",
"subscriptionRequired": true,
"serviceUrl": "http://echoapi.cloudapp.net/api",
"path": "echo2",
"protocols": [
"http",
"https"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"isCurrent": true
}
}
ApiManagementCreateApiNewVersionUsingExistingApi
Sample Request
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoapiv3?api-version=2022-08-01
{
"properties": {
"displayName": "Echo API2",
"description": "Create Echo API into a new Version using Existing Version Set and Copy all Operations.",
"subscriptionRequired": true,
"serviceUrl": "http://echoapi.cloudapp.net/api",
"path": "echo2",
"protocols": [
"http",
"https"
],
"isCurrent": true,
"apiVersion": "v4",
"sourceApiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoPath",
"apiVersionSetId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458"
}
}
import com.azure.resourcemanager.apimanagement.models.Protocol;
import java.util.Arrays;
/** Samples for Api CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiNewVersionUsingExistingApi.json
*/
/**
* Sample code: ApiManagementCreateApiNewVersionUsingExistingApi.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateApiNewVersionUsingExistingApi(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager
.apis()
.define("echoapiv3")
.withExistingService("rg1", "apimService1")
.withSourceApiId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoPath")
.withDisplayName("Echo API2")
.withServiceUrl("http://echoapi.cloudapp.net/api")
.withPath("echo2")
.withProtocols(Arrays.asList(Protocol.HTTP, Protocol.HTTPS))
.withDescription("Create Echo API into a new Version using Existing Version Set and Copy all Operations.")
.withApiVersion("v4")
.withIsCurrent(true)
.withApiVersionSetId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458")
.withSubscriptionRequired(true)
.create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_api_new_version_using_existing_api.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.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
api_id="echoapiv3",
parameters={
"properties": {
"apiVersion": "v4",
"apiVersionSetId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458",
"description": "Create Echo API into a new Version using Existing Version Set and Copy all Operations.",
"displayName": "Echo API2",
"isCurrent": True,
"path": "echo2",
"protocols": ["http", "https"],
"serviceUrl": "http://echoapi.cloudapp.net/api",
"sourceApiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoPath",
"subscriptionRequired": True,
}
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiNewVersionUsingExistingApi.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4cd95123fb961c68740565a1efcaa5e43bd35802/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiNewVersionUsingExistingApi.json
func ExampleAPIClient_BeginCreateOrUpdate_apiManagementCreateApiNewVersionUsingExistingApi() {
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.NewAPIClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", "echoapiv3", armapimanagement.APICreateOrUpdateParameter{
Properties: &armapimanagement.APICreateOrUpdateProperties{
Description: to.Ptr("Create Echo API into a new Version using Existing Version Set and Copy all Operations."),
APIVersion: to.Ptr("v4"),
APIVersionSetID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458"),
IsCurrent: to.Ptr(true),
SubscriptionRequired: to.Ptr(true),
Path: to.Ptr("echo2"),
DisplayName: to.Ptr("Echo API2"),
Protocols: []*armapimanagement.Protocol{
to.Ptr(armapimanagement.ProtocolHTTP),
to.Ptr(armapimanagement.ProtocolHTTPS)},
ServiceURL: to.Ptr("http://echoapi.cloudapp.net/api"),
SourceAPIID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoPath"),
},
}, &armapimanagement.APIClientBeginCreateOrUpdateOptions{IfMatch: 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.APIContract = armapimanagement.APIContract{
// Name: to.Ptr("echoapiv3"),
// Type: to.Ptr("Microsoft.ApiManagement/service/apis"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoapiv3"),
// Properties: &armapimanagement.APIContractProperties{
// Description: to.Ptr("Create Echo API into a new Version using Existing Version Set and Copy all Operations."),
// APIRevision: to.Ptr("1"),
// APIVersion: to.Ptr("v4"),
// APIVersionSetID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458"),
// IsCurrent: to.Ptr(true),
// SubscriptionKeyParameterNames: &armapimanagement.SubscriptionKeyParameterNamesContract{
// Header: to.Ptr("Ocp-Apim-Subscription-Key"),
// Query: to.Ptr("subscription-key"),
// },
// SubscriptionRequired: to.Ptr(true),
// Path: to.Ptr("echo2"),
// APIVersionSet: &armapimanagement.APIVersionSetContractDetails{
// Name: to.Ptr("Echo API2"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458"),
// VersioningScheme: to.Ptr(armapimanagement.APIVersionSetContractDetailsVersioningSchemeSegment),
// },
// DisplayName: to.Ptr("Echo API2"),
// Protocols: []*armapimanagement.Protocol{
// to.Ptr(armapimanagement.ProtocolHTTP),
// to.Ptr(armapimanagement.ProtocolHTTPS)},
// ServiceURL: to.Ptr("http://echoapi.cloudapp.net/api"),
// },
// }
}
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 new or updates existing specified API of the API Management service instance.
*
* @summary Creates new or updates existing specified API of the API Management service instance.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiNewVersionUsingExistingApi.json
*/
async function apiManagementCreateApiNewVersionUsingExistingApi() {
const subscriptionId = process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const apiId = "echoapiv3";
const parameters = {
path: "echo2",
description:
"Create Echo API into a new Version using Existing Version Set and Copy all Operations.",
apiVersion: "v4",
apiVersionSetId:
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458",
displayName: "Echo API2",
isCurrent: true,
protocols: ["http", "https"],
serviceUrl: "http://echoapi.cloudapp.net/api",
sourceApiId:
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoPath",
subscriptionRequired: true,
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.api.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
apiId,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoapiv3",
"type": "Microsoft.ApiManagement/service/apis",
"name": "echoapiv3",
"properties": {
"displayName": "Echo API2",
"apiRevision": "1",
"description": "Create Echo API into a new Version using Existing Version Set and Copy all Operations.",
"subscriptionRequired": true,
"serviceUrl": "http://echoapi.cloudapp.net/api",
"path": "echo2",
"protocols": [
"http",
"https"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"isCurrent": true,
"apiVersion": "v4",
"apiVersionSetId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458",
"apiVersionSet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458",
"name": "Echo API2",
"versioningScheme": "Segment"
}
}
}
location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2022-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoapiv3",
"type": "Microsoft.ApiManagement/service/apis",
"name": "echoapiv3",
"properties": {
"displayName": "Echo API2",
"apiRevision": "1",
"description": "Create Echo API into a new Version using Existing Version Set and Copy all Operations.",
"subscriptionRequired": true,
"serviceUrl": "http://echoapi.cloudapp.net/api",
"path": "echo2",
"protocols": [
"http",
"https"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"isCurrent": true,
"apiVersion": "v4",
"apiVersionSetId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458",
"apiVersionSet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458",
"name": "Echo API2",
"versioningScheme": "Segment"
}
}
}
ApiManagementCreateApiRevisionFromExistingApi
Sample Request
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api;rev=3?api-version=2022-08-01
{
"properties": {
"path": "echo",
"serviceUrl": "http://echoapi.cloudapp.net/apiv3",
"sourceApiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api",
"apiRevisionDescription": "Creating a Revision of an existing API"
}
}
/** Samples for Api CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiRevisionFromExistingApi.json
*/
/**
* Sample code: ApiManagementCreateApiRevisionFromExistingApi.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateApiRevisionFromExistingApi(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager
.apis()
.define("echo-api;rev=3")
.withExistingService("rg1", "apimService1")
.withSourceApiId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api")
.withServiceUrl("http://echoapi.cloudapp.net/apiv3")
.withPath("echo")
.withApiRevisionDescription("Creating a Revision of an existing API")
.create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_api_revision_from_existing_api.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.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
api_id="echo-api;rev=3",
parameters={
"properties": {
"apiRevisionDescription": "Creating a Revision of an existing API",
"path": "echo",
"serviceUrl": "http://echoapi.cloudapp.net/apiv3",
"sourceApiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api",
}
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiRevisionFromExistingApi.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4cd95123fb961c68740565a1efcaa5e43bd35802/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiRevisionFromExistingApi.json
func ExampleAPIClient_BeginCreateOrUpdate_apiManagementCreateApiRevisionFromExistingApi() {
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.NewAPIClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", "echo-api;rev=3", armapimanagement.APICreateOrUpdateParameter{
Properties: &armapimanagement.APICreateOrUpdateProperties{
APIRevisionDescription: to.Ptr("Creating a Revision of an existing API"),
Path: to.Ptr("echo"),
ServiceURL: to.Ptr("http://echoapi.cloudapp.net/apiv3"),
SourceAPIID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api"),
},
}, &armapimanagement.APIClientBeginCreateOrUpdateOptions{IfMatch: 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.APIContract = armapimanagement.APIContract{
// Name: to.Ptr("echo-api;rev=3"),
// Type: to.Ptr("Microsoft.ApiManagement/service/apis"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api;rev=3"),
// Properties: &armapimanagement.APIContractProperties{
// APIRevision: to.Ptr("3"),
// APIRevisionDescription: to.Ptr("Creating a Revision of an existing API"),
// SubscriptionKeyParameterNames: &armapimanagement.SubscriptionKeyParameterNamesContract{
// Header: to.Ptr("Ocp-Apim-Subscription-Key"),
// Query: to.Ptr("subscription-key"),
// },
// SubscriptionRequired: to.Ptr(true),
// Path: to.Ptr("echo"),
// DisplayName: to.Ptr("Echo API"),
// Protocols: []*armapimanagement.Protocol{
// to.Ptr(armapimanagement.ProtocolHTTPS)},
// ServiceURL: to.Ptr("http://echoapi.cloudapp.net/apiv3"),
// },
// }
}
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 new or updates existing specified API of the API Management service instance.
*
* @summary Creates new or updates existing specified API of the API Management service instance.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiRevisionFromExistingApi.json
*/
async function apiManagementCreateApiRevisionFromExistingApi() {
const subscriptionId = process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const apiId = "echo-api;rev=3";
const parameters = {
path: "echo",
apiRevisionDescription: "Creating a Revision of an existing API",
serviceUrl: "http://echoapi.cloudapp.net/apiv3",
sourceApiId:
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api",
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.api.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
apiId,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api;rev=3",
"type": "Microsoft.ApiManagement/service/apis",
"name": "echo-api;rev=3",
"properties": {
"displayName": "Echo API",
"apiRevision": "3",
"subscriptionRequired": true,
"serviceUrl": "http://echoapi.cloudapp.net/apiv3",
"path": "echo",
"protocols": [
"https"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"apiRevisionDescription": "Creating a Revision of an existing API"
}
}
location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2022-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api;rev=3",
"type": "Microsoft.ApiManagement/service/apis",
"name": "echo-api;rev=3",
"properties": {
"displayName": "Echo API",
"apiRevision": "3",
"subscriptionRequired": true,
"serviceUrl": "http://echoapi.cloudapp.net/apiv3",
"path": "echo",
"protocols": [
"https"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"apiRevisionDescription": "Creating a Revision of an existing API"
}
}
ApiManagementCreateApiUsingImportOverrideServiceUrl
Sample Request
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apidocs?api-version=2022-08-01
{
"properties": {
"format": "swagger-link",
"value": "http://apimpimportviaurl.azurewebsites.net/api/apidocs/",
"path": "petstoreapi123",
"serviceUrl": "http://petstore.swagger.wordnik.com/api"
}
}
import com.azure.resourcemanager.apimanagement.models.ContentFormat;
/** Samples for Api CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiUsingImportOverrideServiceUrl.json
*/
/**
* Sample code: ApiManagementCreateApiUsingImportOverrideServiceUrl.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateApiUsingImportOverrideServiceUrl(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager
.apis()
.define("apidocs")
.withExistingService("rg1", "apimService1")
.withValue("http://apimpimportviaurl.azurewebsites.net/api/apidocs/")
.withFormat(ContentFormat.fromString("swagger-link"))
.withServiceUrl("http://petstore.swagger.wordnik.com/api")
.withPath("petstoreapi123")
.create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_api_using_import_override_service_url.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.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
api_id="apidocs",
parameters={
"properties": {
"format": "swagger-link",
"path": "petstoreapi123",
"serviceUrl": "http://petstore.swagger.wordnik.com/api",
"value": "http://apimpimportviaurl.azurewebsites.net/api/apidocs/",
}
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiUsingImportOverrideServiceUrl.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4cd95123fb961c68740565a1efcaa5e43bd35802/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiUsingImportOverrideServiceUrl.json
func ExampleAPIClient_BeginCreateOrUpdate_apiManagementCreateApiUsingImportOverrideServiceUrl() {
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.NewAPIClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", "apidocs", armapimanagement.APICreateOrUpdateParameter{
Properties: &armapimanagement.APICreateOrUpdateProperties{
Path: to.Ptr("petstoreapi123"),
ServiceURL: to.Ptr("http://petstore.swagger.wordnik.com/api"),
Format: to.Ptr(armapimanagement.ContentFormat("swagger-link")),
Value: to.Ptr("http://apimpimportviaurl.azurewebsites.net/api/apidocs/"),
},
}, &armapimanagement.APIClientBeginCreateOrUpdateOptions{IfMatch: 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.APIContract = armapimanagement.APIContract{
// Name: to.Ptr("apidocs"),
// Type: to.Ptr("Microsoft.ApiManagement/service/apis"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apidocs"),
// Properties: &armapimanagement.APIContractProperties{
// Description: to.Ptr("This is a sample server Petstore server. You can find out more about Swagger \n at <a href=\"http://swagger.wordnik.com\">http://swagger.wordnik.com</a> or on irc.freenode.net, #swagger. For this sample,\n you can use the api key \"special-key\" to test the authorization filters"),
// APIRevision: to.Ptr("1"),
// IsCurrent: to.Ptr(true),
// SubscriptionKeyParameterNames: &armapimanagement.SubscriptionKeyParameterNamesContract{
// Header: to.Ptr("Ocp-Apim-Subscription-Key"),
// Query: to.Ptr("subscription-key"),
// },
// Path: to.Ptr("petstoreapi123"),
// DisplayName: to.Ptr("Swagger Sample App"),
// Protocols: []*armapimanagement.Protocol{
// to.Ptr(armapimanagement.ProtocolHTTPS)},
// ServiceURL: to.Ptr("http://petstore.swagger.wordnik.com/api"),
// },
// }
}
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 new or updates existing specified API of the API Management service instance.
*
* @summary Creates new or updates existing specified API of the API Management service instance.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiUsingImportOverrideServiceUrl.json
*/
async function apiManagementCreateApiUsingImportOverrideServiceUrl() {
const subscriptionId = process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const apiId = "apidocs";
const parameters = {
format: "swagger-link",
path: "petstoreapi123",
serviceUrl: "http://petstore.swagger.wordnik.com/api",
value: "http://apimpimportviaurl.azurewebsites.net/api/apidocs/",
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.api.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
apiId,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apidocs",
"type": "Microsoft.ApiManagement/service/apis",
"name": "apidocs",
"properties": {
"displayName": "Swagger Sample App",
"apiRevision": "1",
"description": "This is a sample server Petstore server. You can find out more about Swagger \n at <a href=\"http://swagger.wordnik.com\">http://swagger.wordnik.com</a> or on irc.freenode.net, #swagger. For this sample,\n you can use the api key \"special-key\" to test the authorization filters",
"serviceUrl": "http://petstore.swagger.wordnik.com/api",
"path": "petstoreapi123",
"protocols": [
"https"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"isCurrent": true
}
}
location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apidocs?api-version=2022-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apidocs",
"type": "Microsoft.ApiManagement/service/apis",
"name": "apidocs",
"properties": {
"displayName": "Swagger Sample App",
"apiRevision": "1",
"description": "This is a sample server Petstore server. You can find out more about Swagger \n at <a href=\"http://swagger.wordnik.com\">http://swagger.wordnik.com</a> or on irc.freenode.net, #swagger. For this sample,\n you can use the api key \"special-key\" to test the authorization filters",
"serviceUrl": "http://petstore.swagger.wordnik.com/api",
"path": "petstoreapi123",
"protocols": [
"https"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"isCurrent": true
}
}
ApiManagementCreateApiUsingOai3Import
Sample Request
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstore?api-version=2022-08-01
{
"properties": {
"format": "openapi-link",
"value": "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml",
"path": "petstore"
}
}
import com.azure.resourcemanager.apimanagement.models.ContentFormat;
/** Samples for Api CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiUsingOai3Import.json
*/
/**
* Sample code: ApiManagementCreateApiUsingOai3Import.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateApiUsingOai3Import(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager
.apis()
.define("petstore")
.withExistingService("rg1", "apimService1")
.withValue("https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml")
.withFormat(ContentFormat.OPENAPI_LINK)
.withPath("petstore")
.create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_api_using_oai3_import.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.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
api_id="petstore",
parameters={
"properties": {
"format": "openapi-link",
"path": "petstore",
"value": "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml",
}
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiUsingOai3Import.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4cd95123fb961c68740565a1efcaa5e43bd35802/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiUsingOai3Import.json
func ExampleAPIClient_BeginCreateOrUpdate_apiManagementCreateApiUsingOai3Import() {
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.NewAPIClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", "petstore", armapimanagement.APICreateOrUpdateParameter{
Properties: &armapimanagement.APICreateOrUpdateProperties{
Path: to.Ptr("petstore"),
Format: to.Ptr(armapimanagement.ContentFormatOpenapiLink),
Value: to.Ptr("https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml"),
},
}, &armapimanagement.APIClientBeginCreateOrUpdateOptions{IfMatch: 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.APIContract = armapimanagement.APIContract{
// Name: to.Ptr("petstoreapi"),
// Type: to.Ptr("Microsoft.ApiManagement/service/apis"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi"),
// Properties: &armapimanagement.APIContractProperties{
// APIRevision: to.Ptr("1"),
// IsCurrent: to.Ptr(true),
// SubscriptionKeyParameterNames: &armapimanagement.SubscriptionKeyParameterNamesContract{
// Header: to.Ptr("Ocp-Apim-Subscription-Key"),
// Query: to.Ptr("subscription-key"),
// },
// Path: to.Ptr("petstore"),
// DisplayName: to.Ptr("Swagger Petstore"),
// Protocols: []*armapimanagement.Protocol{
// to.Ptr(armapimanagement.ProtocolHTTPS)},
// ServiceURL: to.Ptr("http://petstore.swagger.io/v1"),
// },
// }
}
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 new or updates existing specified API of the API Management service instance.
*
* @summary Creates new or updates existing specified API of the API Management service instance.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiUsingOai3Import.json
*/
async function apiManagementCreateApiUsingOai3Import() {
const subscriptionId = process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const apiId = "petstore";
const parameters = {
format: "openapi-link",
path: "petstore",
value:
"https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml",
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.api.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
apiId,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi",
"type": "Microsoft.ApiManagement/service/apis",
"name": "petstoreapi",
"properties": {
"displayName": "Swagger Petstore",
"apiRevision": "1",
"serviceUrl": "http://petstore.swagger.io/v1",
"path": "petstore",
"protocols": [
"https"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"isCurrent": true
}
}
location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2022-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi",
"type": "Microsoft.ApiManagement/service/apis",
"name": "petstoreapi",
"properties": {
"displayName": "Swagger Petstore",
"apiRevision": "1",
"serviceUrl": "http://petstore.swagger.io/v1",
"path": "petstore",
"protocols": [
"https"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"isCurrent": true
}
}
ApiManagementCreateApiUsingOai3ImportWithTranslateRequiredQueryParametersConduct
Sample Request
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstore?api-version=2022-08-01
{
"properties": {
"format": "openapi-link",
"value": "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml",
"path": "petstore",
"translateRequiredQueryParameters": "template"
}
}
import com.azure.resourcemanager.apimanagement.models.ContentFormat;
import com.azure.resourcemanager.apimanagement.models.TranslateRequiredQueryParametersConduct;
/** Samples for Api CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiUsingOai3ImportWithTranslateRequiredQueryParametersConduct.json
*/
/**
* Sample code: ApiManagementCreateApiUsingOai3ImportWithTranslateRequiredQueryParametersConduct.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateApiUsingOai3ImportWithTranslateRequiredQueryParametersConduct(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager
.apis()
.define("petstore")
.withExistingService("rg1", "apimService1")
.withValue("https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml")
.withFormat(ContentFormat.OPENAPI_LINK)
.withTranslateRequiredQueryParametersConduct(TranslateRequiredQueryParametersConduct.TEMPLATE)
.withPath("petstore")
.create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_api_using_oai3_import_with_translate_required_query_parameters_conduct.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.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
api_id="petstore",
parameters={
"properties": {
"format": "openapi-link",
"path": "petstore",
"translateRequiredQueryParameters": "template",
"value": "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml",
}
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiUsingOai3ImportWithTranslateRequiredQueryParametersConduct.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4cd95123fb961c68740565a1efcaa5e43bd35802/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiUsingOai3ImportWithTranslateRequiredQueryParametersConduct.json
func ExampleAPIClient_BeginCreateOrUpdate_apiManagementCreateApiUsingOai3ImportWithTranslateRequiredQueryParametersConduct() {
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.NewAPIClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", "petstore", armapimanagement.APICreateOrUpdateParameter{
Properties: &armapimanagement.APICreateOrUpdateProperties{
Path: to.Ptr("petstore"),
Format: to.Ptr(armapimanagement.ContentFormatOpenapiLink),
TranslateRequiredQueryParametersConduct: to.Ptr(armapimanagement.TranslateRequiredQueryParametersConductTemplate),
Value: to.Ptr("https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml"),
},
}, &armapimanagement.APIClientBeginCreateOrUpdateOptions{IfMatch: 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.APIContract = armapimanagement.APIContract{
// Name: to.Ptr("petstoreapi"),
// Type: to.Ptr("Microsoft.ApiManagement/service/apis"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi"),
// Properties: &armapimanagement.APIContractProperties{
// APIRevision: to.Ptr("1"),
// IsCurrent: to.Ptr(true),
// SubscriptionKeyParameterNames: &armapimanagement.SubscriptionKeyParameterNamesContract{
// Header: to.Ptr("Ocp-Apim-Subscription-Key"),
// Query: to.Ptr("subscription-key"),
// },
// Path: to.Ptr("petstore"),
// DisplayName: to.Ptr("Swagger Petstore"),
// Protocols: []*armapimanagement.Protocol{
// to.Ptr(armapimanagement.ProtocolHTTPS)},
// ServiceURL: to.Ptr("http://petstore.swagger.io/v1"),
// },
// }
}
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 new or updates existing specified API of the API Management service instance.
*
* @summary Creates new or updates existing specified API of the API Management service instance.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiUsingOai3ImportWithTranslateRequiredQueryParametersConduct.json
*/
async function apiManagementCreateApiUsingOai3ImportWithTranslateRequiredQueryParametersConduct() {
const subscriptionId = process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const apiId = "petstore";
const parameters = {
format: "openapi-link",
path: "petstore",
translateRequiredQueryParametersConduct: "template",
value:
"https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml",
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.api.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
apiId,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi",
"type": "Microsoft.ApiManagement/service/apis",
"name": "petstoreapi",
"properties": {
"displayName": "Swagger Petstore",
"apiRevision": "1",
"serviceUrl": "http://petstore.swagger.io/v1",
"path": "petstore",
"protocols": [
"https"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"isCurrent": true
}
}
location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2022-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi",
"type": "Microsoft.ApiManagement/service/apis",
"name": "petstoreapi",
"properties": {
"displayName": "Swagger Petstore",
"apiRevision": "1",
"serviceUrl": "http://petstore.swagger.io/v1",
"path": "petstore",
"protocols": [
"https"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"isCurrent": true
}
}
ApiManagementCreateApiUsingSwaggerImport
Sample Request
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstore?api-version=2022-08-01
{
"properties": {
"format": "swagger-link-json",
"value": "http://petstore.swagger.io/v2/swagger.json",
"path": "petstore"
}
}
import com.azure.resourcemanager.apimanagement.models.ContentFormat;
/** Samples for Api CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiUsingSwaggerImport.json
*/
/**
* Sample code: ApiManagementCreateApiUsingSwaggerImport.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateApiUsingSwaggerImport(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager
.apis()
.define("petstore")
.withExistingService("rg1", "apimService1")
.withValue("http://petstore.swagger.io/v2/swagger.json")
.withFormat(ContentFormat.SWAGGER_LINK_JSON)
.withPath("petstore")
.create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_api_using_swagger_import.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.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
api_id="petstore",
parameters={
"properties": {
"format": "swagger-link-json",
"path": "petstore",
"value": "http://petstore.swagger.io/v2/swagger.json",
}
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiUsingSwaggerImport.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4cd95123fb961c68740565a1efcaa5e43bd35802/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiUsingSwaggerImport.json
func ExampleAPIClient_BeginCreateOrUpdate_apiManagementCreateApiUsingSwaggerImport() {
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.NewAPIClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", "petstore", armapimanagement.APICreateOrUpdateParameter{
Properties: &armapimanagement.APICreateOrUpdateProperties{
Path: to.Ptr("petstore"),
Format: to.Ptr(armapimanagement.ContentFormatSwaggerLinkJSON),
Value: to.Ptr("http://petstore.swagger.io/v2/swagger.json"),
},
}, &armapimanagement.APIClientBeginCreateOrUpdateOptions{IfMatch: 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.APIContract = armapimanagement.APIContract{
// Name: to.Ptr("petstoreapi"),
// Type: to.Ptr("Microsoft.ApiManagement/service/apis"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi"),
// Properties: &armapimanagement.APIContractProperties{
// Description: to.Ptr("This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters."),
// APIRevision: to.Ptr("1"),
// IsCurrent: to.Ptr(true),
// SubscriptionKeyParameterNames: &armapimanagement.SubscriptionKeyParameterNamesContract{
// Header: to.Ptr("Ocp-Apim-Subscription-Key"),
// Query: to.Ptr("subscription-key"),
// },
// Path: to.Ptr("petstore"),
// DisplayName: to.Ptr("Swagger Petstore"),
// Protocols: []*armapimanagement.Protocol{
// to.Ptr(armapimanagement.ProtocolHTTP)},
// ServiceURL: to.Ptr("http://petstore.swagger.io/v2"),
// },
// }
}
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 new or updates existing specified API of the API Management service instance.
*
* @summary Creates new or updates existing specified API of the API Management service instance.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiUsingSwaggerImport.json
*/
async function apiManagementCreateApiUsingSwaggerImport() {
const subscriptionId = process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const apiId = "petstore";
const parameters = {
format: "swagger-link-json",
path: "petstore",
value: "http://petstore.swagger.io/v2/swagger.json",
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.api.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
apiId,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi",
"type": "Microsoft.ApiManagement/service/apis",
"name": "petstoreapi",
"properties": {
"displayName": "Swagger Petstore",
"apiRevision": "1",
"description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
"serviceUrl": "http://petstore.swagger.io/v2",
"path": "petstore",
"protocols": [
"http"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"isCurrent": true
}
}
location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2022-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi",
"type": "Microsoft.ApiManagement/service/apis",
"name": "petstoreapi",
"properties": {
"displayName": "Swagger Petstore",
"apiRevision": "1",
"description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
"serviceUrl": "http://petstore.swagger.io/v2",
"path": "petstore",
"protocols": [
"http"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"isCurrent": true
}
}
ApiManagementCreateApiUsingWadlImport
Sample Request
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstore?api-version=2022-08-01
{
"properties": {
"format": "wadl-link-json",
"value": "https://developer.cisco.com/media/wae-release-6-2-api-reference/wae-collector-rest-api/application.wadl",
"path": "collector"
}
}
import com.azure.resourcemanager.apimanagement.models.ContentFormat;
/** Samples for Api CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiUsingWadlImport.json
*/
/**
* Sample code: ApiManagementCreateApiUsingWadlImport.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateApiUsingWadlImport(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager
.apis()
.define("petstore")
.withExistingService("rg1", "apimService1")
.withValue(
"https://developer.cisco.com/media/wae-release-6-2-api-reference/wae-collector-rest-api/application.wadl")
.withFormat(ContentFormat.WADL_LINK_JSON)
.withPath("collector")
.create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_api_using_wadl_import.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.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
api_id="petstore",
parameters={
"properties": {
"format": "wadl-link-json",
"path": "collector",
"value": "https://developer.cisco.com/media/wae-release-6-2-api-reference/wae-collector-rest-api/application.wadl",
}
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiUsingWadlImport.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4cd95123fb961c68740565a1efcaa5e43bd35802/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiUsingWadlImport.json
func ExampleAPIClient_BeginCreateOrUpdate_apiManagementCreateApiUsingWadlImport() {
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.NewAPIClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", "petstore", armapimanagement.APICreateOrUpdateParameter{
Properties: &armapimanagement.APICreateOrUpdateProperties{
Path: to.Ptr("collector"),
Format: to.Ptr(armapimanagement.ContentFormatWadlLinkJSON),
Value: to.Ptr("https://developer.cisco.com/media/wae-release-6-2-api-reference/wae-collector-rest-api/application.wadl"),
},
}, &armapimanagement.APIClientBeginCreateOrUpdateOptions{IfMatch: 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.APIContract = armapimanagement.APIContract{
// Name: to.Ptr("collectorwadl"),
// Type: to.Ptr("Microsoft.ApiManagement/service/apis"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/collectorwadl"),
// Properties: &armapimanagement.APIContractProperties{
// Description: to.Ptr(""),
// APIRevision: to.Ptr("1"),
// IsCurrent: to.Ptr(true),
// SubscriptionKeyParameterNames: &armapimanagement.SubscriptionKeyParameterNamesContract{
// Header: to.Ptr("Ocp-Apim-Subscription-Key"),
// Query: to.Ptr("subscription-key"),
// },
// Path: to.Ptr("collector"),
// DisplayName: to.Ptr("http://localhost:8080/collector-northbound"),
// Protocols: []*armapimanagement.Protocol{
// to.Ptr(armapimanagement.ProtocolHTTPS)},
// ServiceURL: to.Ptr("http://localhost:8080/collector-northbound"),
// },
// }
}
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 new or updates existing specified API of the API Management service instance.
*
* @summary Creates new or updates existing specified API of the API Management service instance.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiUsingWadlImport.json
*/
async function apiManagementCreateApiUsingWadlImport() {
const subscriptionId = process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const apiId = "petstore";
const parameters = {
format: "wadl-link-json",
path: "collector",
value:
"https://developer.cisco.com/media/wae-release-6-2-api-reference/wae-collector-rest-api/application.wadl",
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.api.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
apiId,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/collectorwadl",
"type": "Microsoft.ApiManagement/service/apis",
"name": "collectorwadl",
"properties": {
"displayName": "http://localhost:8080/collector-northbound",
"apiRevision": "1",
"description": "",
"serviceUrl": "http://localhost:8080/collector-northbound",
"path": "collector",
"protocols": [
"https"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"isCurrent": true
}
}
location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2022-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/collectorwadl",
"type": "Microsoft.ApiManagement/service/apis",
"name": "collectorwadl",
"properties": {
"displayName": "http://localhost:8080/collector-northbound",
"apiRevision": "1",
"description": "",
"serviceUrl": "http://localhost:8080/collector-northbound",
"path": "collector",
"protocols": [
"https"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"isCurrent": true
}
}
ApiManagementCreateApiWithMultipleAuthServers
Sample Request
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2022-08-01
{
"properties": {
"description": "apidescription5200",
"authenticationSettings": {
"oAuth2AuthenticationSettings": [
{
"authorizationServerId": "authorizationServerId2283",
"scope": "oauth2scope2580"
},
{
"authorizationServerId": "authorizationServerId2284",
"scope": "oauth2scope2581"
}
]
},
"subscriptionKeyParameterNames": {
"header": "header4520",
"query": "query3037"
},
"displayName": "apiname1463",
"serviceUrl": "http://newechoapi.cloudapp.net/api",
"path": "newapiPath",
"protocols": [
"https",
"http"
]
}
}
import com.azure.resourcemanager.apimanagement.models.AuthenticationSettingsContract;
import com.azure.resourcemanager.apimanagement.models.OAuth2AuthenticationSettingsContract;
import com.azure.resourcemanager.apimanagement.models.Protocol;
import com.azure.resourcemanager.apimanagement.models.SubscriptionKeyParameterNamesContract;
import java.util.Arrays;
/** Samples for Api CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiWithMultipleAuthServers.json
*/
/**
* Sample code: ApiManagementCreateApiWithMultipleAuthServers.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateApiWithMultipleAuthServers(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager
.apis()
.define("tempgroup")
.withExistingService("rg1", "apimService1")
.withDisplayName("apiname1463")
.withServiceUrl("http://newechoapi.cloudapp.net/api")
.withPath("newapiPath")
.withProtocols(Arrays.asList(Protocol.HTTPS, Protocol.HTTP))
.withDescription("apidescription5200")
.withAuthenticationSettings(
new AuthenticationSettingsContract()
.withOAuth2AuthenticationSettings(
Arrays
.asList(
new OAuth2AuthenticationSettingsContract()
.withAuthorizationServerId("fakeTokenPlaceholder")
.withScope("oauth2scope2580"),
new OAuth2AuthenticationSettingsContract()
.withAuthorizationServerId("fakeTokenPlaceholder")
.withScope("oauth2scope2581"))))
.withSubscriptionKeyParameterNames(
new SubscriptionKeyParameterNamesContract().withHeaderProperty("header4520").withQuery("query3037"))
.create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_api_with_multiple_auth_servers.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.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
api_id="tempgroup",
parameters={
"properties": {
"authenticationSettings": {
"oAuth2AuthenticationSettings": [
{"authorizationServerId": "authorizationServerId2283", "scope": "oauth2scope2580"},
{"authorizationServerId": "authorizationServerId2284", "scope": "oauth2scope2581"},
]
},
"description": "apidescription5200",
"displayName": "apiname1463",
"path": "newapiPath",
"protocols": ["https", "http"],
"serviceUrl": "http://newechoapi.cloudapp.net/api",
"subscriptionKeyParameterNames": {"header": "header4520", "query": "query3037"},
}
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiWithMultipleAuthServers.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4cd95123fb961c68740565a1efcaa5e43bd35802/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiWithMultipleAuthServers.json
func ExampleAPIClient_BeginCreateOrUpdate_apiManagementCreateApiWithMultipleAuthServers() {
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.NewAPIClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", "tempgroup", armapimanagement.APICreateOrUpdateParameter{
Properties: &armapimanagement.APICreateOrUpdateProperties{
Description: to.Ptr("apidescription5200"),
AuthenticationSettings: &armapimanagement.AuthenticationSettingsContract{
OAuth2AuthenticationSettings: []*armapimanagement.OAuth2AuthenticationSettingsContract{
{
AuthorizationServerID: to.Ptr("authorizationServerId2283"),
Scope: to.Ptr("oauth2scope2580"),
},
{
AuthorizationServerID: to.Ptr("authorizationServerId2284"),
Scope: to.Ptr("oauth2scope2581"),
}},
},
SubscriptionKeyParameterNames: &armapimanagement.SubscriptionKeyParameterNamesContract{
Header: to.Ptr("header4520"),
Query: to.Ptr("query3037"),
},
Path: to.Ptr("newapiPath"),
DisplayName: to.Ptr("apiname1463"),
Protocols: []*armapimanagement.Protocol{
to.Ptr(armapimanagement.ProtocolHTTPS),
to.Ptr(armapimanagement.ProtocolHTTP)},
ServiceURL: to.Ptr("http://newechoapi.cloudapp.net/api"),
},
}, &armapimanagement.APIClientBeginCreateOrUpdateOptions{IfMatch: 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.APIContract = armapimanagement.APIContract{
// Name: to.Ptr("apiid9419"),
// Type: to.Ptr("Microsoft.ApiManagement/service/apis"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419"),
// Properties: &armapimanagement.APIContractProperties{
// Description: to.Ptr("apidescription5200"),
// APIRevision: to.Ptr("1"),
// AuthenticationSettings: &armapimanagement.AuthenticationSettingsContract{
// OAuth2: &armapimanagement.OAuth2AuthenticationSettingsContract{
// AuthorizationServerID: to.Ptr("authorizationServerId2283"),
// Scope: to.Ptr("oauth2scope2580"),
// },
// OAuth2AuthenticationSettings: []*armapimanagement.OAuth2AuthenticationSettingsContract{
// {
// AuthorizationServerID: to.Ptr("authorizationServerId2283"),
// Scope: to.Ptr("oauth2scope2580"),
// },
// {
// AuthorizationServerID: to.Ptr("authorizationServerId2284"),
// Scope: to.Ptr("oauth2scope2581"),
// }},
// },
// IsCurrent: to.Ptr(true),
// IsOnline: to.Ptr(true),
// SubscriptionKeyParameterNames: &armapimanagement.SubscriptionKeyParameterNamesContract{
// Header: to.Ptr("header4520"),
// Query: to.Ptr("query3037"),
// },
// Path: to.Ptr("newapiPath"),
// DisplayName: to.Ptr("apiname1463"),
// Protocols: []*armapimanagement.Protocol{
// to.Ptr(armapimanagement.ProtocolHTTP),
// to.Ptr(armapimanagement.ProtocolHTTPS)},
// ServiceURL: to.Ptr("http://newechoapi.cloudapp.net/api"),
// },
// }
}
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 new or updates existing specified API of the API Management service instance.
*
* @summary Creates new or updates existing specified API of the API Management service instance.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiWithMultipleAuthServers.json
*/
async function apiManagementCreateApiWithMultipleAuthServers() {
const subscriptionId = process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const apiId = "tempgroup";
const parameters = {
path: "newapiPath",
description: "apidescription5200",
authenticationSettings: {
oAuth2AuthenticationSettings: [
{
authorizationServerId: "authorizationServerId2283",
scope: "oauth2scope2580",
},
{
authorizationServerId: "authorizationServerId2284",
scope: "oauth2scope2581",
},
],
},
displayName: "apiname1463",
protocols: ["https", "http"],
serviceUrl: "http://newechoapi.cloudapp.net/api",
subscriptionKeyParameterNames: { header: "header4520", query: "query3037" },
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.api.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
apiId,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
"type": "Microsoft.ApiManagement/service/apis",
"name": "apiid9419",
"properties": {
"displayName": "apiname1463",
"apiRevision": "1",
"description": "apidescription5200",
"serviceUrl": "http://newechoapi.cloudapp.net/api",
"path": "newapiPath",
"protocols": [
"http",
"https"
],
"subscriptionKeyParameterNames": {
"header": "header4520",
"query": "query3037"
},
"isCurrent": true,
"isOnline": true
}
}
location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2022-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
"type": "Microsoft.ApiManagement/service/apis",
"name": "apiid9419",
"properties": {
"displayName": "apiname1463",
"apiRevision": "1",
"description": "apidescription5200",
"serviceUrl": "http://newechoapi.cloudapp.net/api",
"path": "newapiPath",
"protocols": [
"http",
"https"
],
"authenticationSettings": {
"oAuth2": {
"authorizationServerId": "authorizationServerId2283",
"scope": "oauth2scope2580"
},
"oAuth2AuthenticationSettings": [
{
"authorizationServerId": "authorizationServerId2283",
"scope": "oauth2scope2580"
},
{
"authorizationServerId": "authorizationServerId2284",
"scope": "oauth2scope2581"
}
]
},
"subscriptionKeyParameterNames": {
"header": "header4520",
"query": "query3037"
},
"isCurrent": true,
"isOnline": true
}
}
ApiManagementCreateApiWithMultipleOpenIdConnectProviders
Sample Request
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2022-08-01
{
"properties": {
"description": "apidescription5200",
"authenticationSettings": {
"openidAuthenticationSettings": [
{
"openidProviderId": "openidProviderId2283",
"bearerTokenSendingMethods": [
"authorizationHeader"
]
},
{
"openidProviderId": "openidProviderId2284",
"bearerTokenSendingMethods": [
"authorizationHeader"
]
}
]
},
"subscriptionKeyParameterNames": {
"header": "header4520",
"query": "query3037"
},
"displayName": "apiname1463",
"serviceUrl": "http://newechoapi.cloudapp.net/api",
"path": "newapiPath",
"protocols": [
"https",
"http"
]
}
}
import com.azure.resourcemanager.apimanagement.models.AuthenticationSettingsContract;
import com.azure.resourcemanager.apimanagement.models.BearerTokenSendingMethods;
import com.azure.resourcemanager.apimanagement.models.OpenIdAuthenticationSettingsContract;
import com.azure.resourcemanager.apimanagement.models.Protocol;
import com.azure.resourcemanager.apimanagement.models.SubscriptionKeyParameterNamesContract;
import java.util.Arrays;
/** Samples for Api CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiWithMultipleOpenIdConnectProviders.json
*/
/**
* Sample code: ApiManagementCreateApiWithMultipleOpenIdConnectProviders.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateApiWithMultipleOpenIdConnectProviders(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager
.apis()
.define("tempgroup")
.withExistingService("rg1", "apimService1")
.withDisplayName("apiname1463")
.withServiceUrl("http://newechoapi.cloudapp.net/api")
.withPath("newapiPath")
.withProtocols(Arrays.asList(Protocol.HTTPS, Protocol.HTTP))
.withDescription("apidescription5200")
.withAuthenticationSettings(
new AuthenticationSettingsContract()
.withOpenidAuthenticationSettings(
Arrays
.asList(
new OpenIdAuthenticationSettingsContract()
.withOpenidProviderId("openidProviderId2283")
.withBearerTokenSendingMethods(
Arrays.asList(BearerTokenSendingMethods.AUTHORIZATION_HEADER)),
new OpenIdAuthenticationSettingsContract()
.withOpenidProviderId("openidProviderId2284")
.withBearerTokenSendingMethods(
Arrays.asList(BearerTokenSendingMethods.AUTHORIZATION_HEADER)))))
.withSubscriptionKeyParameterNames(
new SubscriptionKeyParameterNamesContract().withHeaderProperty("header4520").withQuery("query3037"))
.create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_api_with_multiple_open_id_connect_providers.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.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
api_id="tempgroup",
parameters={
"properties": {
"authenticationSettings": {
"openidAuthenticationSettings": [
{
"bearerTokenSendingMethods": ["authorizationHeader"],
"openidProviderId": "openidProviderId2283",
},
{
"bearerTokenSendingMethods": ["authorizationHeader"],
"openidProviderId": "openidProviderId2284",
},
]
},
"description": "apidescription5200",
"displayName": "apiname1463",
"path": "newapiPath",
"protocols": ["https", "http"],
"serviceUrl": "http://newechoapi.cloudapp.net/api",
"subscriptionKeyParameterNames": {"header": "header4520", "query": "query3037"},
}
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiWithMultipleOpenIdConnectProviders.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4cd95123fb961c68740565a1efcaa5e43bd35802/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiWithMultipleOpenIdConnectProviders.json
func ExampleAPIClient_BeginCreateOrUpdate_apiManagementCreateApiWithMultipleOpenIdConnectProviders() {
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.NewAPIClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", "tempgroup", armapimanagement.APICreateOrUpdateParameter{
Properties: &armapimanagement.APICreateOrUpdateProperties{
Description: to.Ptr("apidescription5200"),
AuthenticationSettings: &armapimanagement.AuthenticationSettingsContract{
OpenidAuthenticationSettings: []*armapimanagement.OpenIDAuthenticationSettingsContract{
{
BearerTokenSendingMethods: []*armapimanagement.BearerTokenSendingMethods{
to.Ptr(armapimanagement.BearerTokenSendingMethodsAuthorizationHeader)},
OpenidProviderID: to.Ptr("openidProviderId2283"),
},
{
BearerTokenSendingMethods: []*armapimanagement.BearerTokenSendingMethods{
to.Ptr(armapimanagement.BearerTokenSendingMethodsAuthorizationHeader)},
OpenidProviderID: to.Ptr("openidProviderId2284"),
}},
},
SubscriptionKeyParameterNames: &armapimanagement.SubscriptionKeyParameterNamesContract{
Header: to.Ptr("header4520"),
Query: to.Ptr("query3037"),
},
Path: to.Ptr("newapiPath"),
DisplayName: to.Ptr("apiname1463"),
Protocols: []*armapimanagement.Protocol{
to.Ptr(armapimanagement.ProtocolHTTPS),
to.Ptr(armapimanagement.ProtocolHTTP)},
ServiceURL: to.Ptr("http://newechoapi.cloudapp.net/api"),
},
}, &armapimanagement.APIClientBeginCreateOrUpdateOptions{IfMatch: 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.APIContract = armapimanagement.APIContract{
// Name: to.Ptr("apiid9419"),
// Type: to.Ptr("Microsoft.ApiManagement/service/apis"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419"),
// Properties: &armapimanagement.APIContractProperties{
// Description: to.Ptr("apidescription5200"),
// APIRevision: to.Ptr("1"),
// AuthenticationSettings: &armapimanagement.AuthenticationSettingsContract{
// Openid: &armapimanagement.OpenIDAuthenticationSettingsContract{
// BearerTokenSendingMethods: []*armapimanagement.BearerTokenSendingMethods{
// to.Ptr(armapimanagement.BearerTokenSendingMethodsAuthorizationHeader)},
// OpenidProviderID: to.Ptr("openidProviderId2283"),
// },
// OpenidAuthenticationSettings: []*armapimanagement.OpenIDAuthenticationSettingsContract{
// {
// BearerTokenSendingMethods: []*armapimanagement.BearerTokenSendingMethods{
// to.Ptr(armapimanagement.BearerTokenSendingMethodsAuthorizationHeader)},
// OpenidProviderID: to.Ptr("openidProviderId2283"),
// },
// {
// BearerTokenSendingMethods: []*armapimanagement.BearerTokenSendingMethods{
// to.Ptr(armapimanagement.BearerTokenSendingMethodsAuthorizationHeader)},
// OpenidProviderID: to.Ptr("openidProviderId2284"),
// }},
// },
// IsCurrent: to.Ptr(true),
// IsOnline: to.Ptr(true),
// SubscriptionKeyParameterNames: &armapimanagement.SubscriptionKeyParameterNamesContract{
// Header: to.Ptr("header4520"),
// Query: to.Ptr("query3037"),
// },
// Path: to.Ptr("newapiPath"),
// DisplayName: to.Ptr("apiname1463"),
// Protocols: []*armapimanagement.Protocol{
// to.Ptr(armapimanagement.ProtocolHTTP),
// to.Ptr(armapimanagement.ProtocolHTTPS)},
// ServiceURL: to.Ptr("http://newechoapi.cloudapp.net/api"),
// },
// }
}
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 new or updates existing specified API of the API Management service instance.
*
* @summary Creates new or updates existing specified API of the API Management service instance.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiWithMultipleOpenIdConnectProviders.json
*/
async function apiManagementCreateApiWithMultipleOpenIdConnectProviders() {
const subscriptionId = process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const apiId = "tempgroup";
const parameters = {
path: "newapiPath",
description: "apidescription5200",
authenticationSettings: {
openidAuthenticationSettings: [
{
bearerTokenSendingMethods: ["authorizationHeader"],
openidProviderId: "openidProviderId2283",
},
{
bearerTokenSendingMethods: ["authorizationHeader"],
openidProviderId: "openidProviderId2284",
},
],
},
displayName: "apiname1463",
protocols: ["https", "http"],
serviceUrl: "http://newechoapi.cloudapp.net/api",
subscriptionKeyParameterNames: { header: "header4520", query: "query3037" },
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.api.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
apiId,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
"type": "Microsoft.ApiManagement/service/apis",
"name": "apiid9419",
"properties": {
"displayName": "apiname1463",
"apiRevision": "1",
"description": "apidescription5200",
"serviceUrl": "http://newechoapi.cloudapp.net/api",
"path": "newapiPath",
"protocols": [
"http",
"https"
],
"subscriptionKeyParameterNames": {
"header": "header4520",
"query": "query3037"
},
"isCurrent": true,
"isOnline": true
}
}
location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2022-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
"type": "Microsoft.ApiManagement/service/apis",
"name": "apiid9419",
"properties": {
"displayName": "apiname1463",
"apiRevision": "1",
"description": "apidescription5200",
"serviceUrl": "http://newechoapi.cloudapp.net/api",
"path": "newapiPath",
"protocols": [
"http",
"https"
],
"authenticationSettings": {
"openid": {
"openidProviderId": "openidProviderId2283",
"bearerTokenSendingMethods": [
"authorizationHeader"
]
},
"openidAuthenticationSettings": [
{
"openidProviderId": "openidProviderId2283",
"bearerTokenSendingMethods": [
"authorizationHeader"
]
},
{
"openidProviderId": "openidProviderId2284",
"bearerTokenSendingMethods": [
"authorizationHeader"
]
}
]
},
"subscriptionKeyParameterNames": {
"header": "header4520",
"query": "query3037"
},
"isCurrent": true,
"isOnline": true
}
}
ApiManagementCreateApiWithOpenIdConnect
Sample Request
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2022-08-01
{
"properties": {
"displayName": "Swagger Petstore",
"description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
"serviceUrl": "http://petstore.swagger.io/v2",
"path": "petstore",
"protocols": [
"https"
],
"authenticationSettings": {
"openid": {
"openidProviderId": "testopenid",
"bearerTokenSendingMethods": [
"authorizationHeader"
]
}
},
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
}
}
}
import com.azure.resourcemanager.apimanagement.models.AuthenticationSettingsContract;
import com.azure.resourcemanager.apimanagement.models.BearerTokenSendingMethods;
import com.azure.resourcemanager.apimanagement.models.OpenIdAuthenticationSettingsContract;
import com.azure.resourcemanager.apimanagement.models.Protocol;
import com.azure.resourcemanager.apimanagement.models.SubscriptionKeyParameterNamesContract;
import java.util.Arrays;
/** Samples for Api CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiWithOpenIdConnect.json
*/
/**
* Sample code: ApiManagementCreateApiWithOpenIdConnect.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateApiWithOpenIdConnect(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager
.apis()
.define("tempgroup")
.withExistingService("rg1", "apimService1")
.withDisplayName("Swagger Petstore")
.withServiceUrl("http://petstore.swagger.io/v2")
.withPath("petstore")
.withProtocols(Arrays.asList(Protocol.HTTPS))
.withDescription(
"This is a sample server Petstore server. You can find out more about Swagger at"
+ " [http://swagger.io](http://swagger.io) or on [irc.freenode.net,"
+ " #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to"
+ " test the authorization filters.")
.withAuthenticationSettings(
new AuthenticationSettingsContract()
.withOpenid(
new OpenIdAuthenticationSettingsContract()
.withOpenidProviderId("testopenid")
.withBearerTokenSendingMethods(
Arrays.asList(BearerTokenSendingMethods.AUTHORIZATION_HEADER))))
.withSubscriptionKeyParameterNames(
new SubscriptionKeyParameterNamesContract()
.withHeaderProperty("Ocp-Apim-Subscription-Key")
.withQuery("subscription-key"))
.create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_api_with_open_id_connect.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.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
api_id="tempgroup",
parameters={
"properties": {
"authenticationSettings": {
"openid": {"bearerTokenSendingMethods": ["authorizationHeader"], "openidProviderId": "testopenid"}
},
"description": "This is a sample server Petstore server. You can find out more about Swagger at `http://swagger.io <http://swagger.io>`_ or on `irc.freenode.net, #swagger <http://swagger.io/irc/>`_. For this sample, you can use the api key ``special-key`` to test the authorization filters.",
"displayName": "Swagger Petstore",
"path": "petstore",
"protocols": ["https"],
"serviceUrl": "http://petstore.swagger.io/v2",
"subscriptionKeyParameterNames": {"header": "Ocp-Apim-Subscription-Key", "query": "subscription-key"},
}
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiWithOpenIdConnect.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4cd95123fb961c68740565a1efcaa5e43bd35802/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiWithOpenIdConnect.json
func ExampleAPIClient_BeginCreateOrUpdate_apiManagementCreateApiWithOpenIdConnect() {
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.NewAPIClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", "tempgroup", armapimanagement.APICreateOrUpdateParameter{
Properties: &armapimanagement.APICreateOrUpdateProperties{
Description: to.Ptr("This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters."),
AuthenticationSettings: &armapimanagement.AuthenticationSettingsContract{
Openid: &armapimanagement.OpenIDAuthenticationSettingsContract{
BearerTokenSendingMethods: []*armapimanagement.BearerTokenSendingMethods{
to.Ptr(armapimanagement.BearerTokenSendingMethodsAuthorizationHeader)},
OpenidProviderID: to.Ptr("testopenid"),
},
},
SubscriptionKeyParameterNames: &armapimanagement.SubscriptionKeyParameterNamesContract{
Header: to.Ptr("Ocp-Apim-Subscription-Key"),
Query: to.Ptr("subscription-key"),
},
Path: to.Ptr("petstore"),
DisplayName: to.Ptr("Swagger Petstore"),
Protocols: []*armapimanagement.Protocol{
to.Ptr(armapimanagement.ProtocolHTTPS)},
ServiceURL: to.Ptr("http://petstore.swagger.io/v2"),
},
}, &armapimanagement.APIClientBeginCreateOrUpdateOptions{IfMatch: 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.APIContract = armapimanagement.APIContract{
// Name: to.Ptr("58da4c4ccdae970a08121230"),
// Type: to.Ptr("Microsoft.ApiManagement/service/apis"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/58da4c4ccdae970a08121230"),
// Properties: &armapimanagement.APIContractProperties{
// Description: to.Ptr("This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters."),
// APIRevision: to.Ptr("1"),
// AuthenticationSettings: &armapimanagement.AuthenticationSettingsContract{
// Openid: &armapimanagement.OpenIDAuthenticationSettingsContract{
// BearerTokenSendingMethods: []*armapimanagement.BearerTokenSendingMethods{
// to.Ptr(armapimanagement.BearerTokenSendingMethodsAuthorizationHeader)},
// OpenidProviderID: to.Ptr("testopenid"),
// },
// },
// IsCurrent: to.Ptr(true),
// SubscriptionKeyParameterNames: &armapimanagement.SubscriptionKeyParameterNamesContract{
// Header: to.Ptr("Ocp-Apim-Subscription-Key"),
// Query: to.Ptr("subscription-key"),
// },
// Path: to.Ptr("petstore"),
// DisplayName: to.Ptr("Swagger Petstore"),
// Protocols: []*armapimanagement.Protocol{
// to.Ptr(armapimanagement.ProtocolHTTPS)},
// ServiceURL: to.Ptr("http://petstore.swagger.io/v2"),
// },
// }
}
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 new or updates existing specified API of the API Management service instance.
*
* @summary Creates new or updates existing specified API of the API Management service instance.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateApiWithOpenIdConnect.json
*/
async function apiManagementCreateApiWithOpenIdConnect() {
const subscriptionId = process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const apiId = "tempgroup";
const parameters = {
path: "petstore",
description:
"This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
authenticationSettings: {
openid: {
bearerTokenSendingMethods: ["authorizationHeader"],
openidProviderId: "testopenid",
},
},
displayName: "Swagger Petstore",
protocols: ["https"],
serviceUrl: "http://petstore.swagger.io/v2",
subscriptionKeyParameterNames: {
header: "Ocp-Apim-Subscription-Key",
query: "subscription-key",
},
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.api.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
apiId,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/58da4c4ccdae970a08121230",
"type": "Microsoft.ApiManagement/service/apis",
"name": "58da4c4ccdae970a08121230",
"properties": {
"displayName": "Swagger Petstore",
"apiRevision": "1",
"description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
"serviceUrl": "http://petstore.swagger.io/v2",
"path": "petstore",
"protocols": [
"https"
],
"authenticationSettings": {
"openid": {
"openidProviderId": "testopenid",
"bearerTokenSendingMethods": [
"authorizationHeader"
]
}
},
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"isCurrent": true
}
}
location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2022-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/58da4c4ccdae970a08121230",
"type": "Microsoft.ApiManagement/service/apis",
"name": "58da4c4ccdae970a08121230",
"properties": {
"displayName": "Swagger Petstore",
"apiRevision": "1",
"description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
"serviceUrl": "http://petstore.swagger.io/v2",
"path": "petstore",
"protocols": [
"https"
],
"authenticationSettings": {
"openid": {
"openidProviderId": "testopenid",
"bearerTokenSendingMethods": [
"authorizationHeader"
]
}
},
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"isCurrent": true
}
}
ApiManagementCreateGraphQLApi
Sample Request
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2022-08-01
{
"properties": {
"description": "apidescription5200",
"displayName": "apiname1463",
"type": "graphql",
"serviceUrl": "https://api.spacex.land/graphql",
"path": "graphql-api",
"protocols": [
"http",
"https"
]
}
}
import com.azure.resourcemanager.apimanagement.models.ApiType;
import com.azure.resourcemanager.apimanagement.models.Protocol;
import java.util.Arrays;
/** Samples for Api CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateGraphQLApi.json
*/
/**
* Sample code: ApiManagementCreateGraphQLApi.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateGraphQLApi(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager
.apis()
.define("tempgroup")
.withExistingService("rg1", "apimService1")
.withDisplayName("apiname1463")
.withServiceUrl("https://api.spacex.land/graphql")
.withPath("graphql-api")
.withProtocols(Arrays.asList(Protocol.HTTP, Protocol.HTTPS))
.withDescription("apidescription5200")
.withApiType(ApiType.GRAPHQL)
.create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_graph_ql_api.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.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
api_id="tempgroup",
parameters={
"properties": {
"description": "apidescription5200",
"displayName": "apiname1463",
"path": "graphql-api",
"protocols": ["http", "https"],
"serviceUrl": "https://api.spacex.land/graphql",
"type": "graphql",
}
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateGraphQLApi.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4cd95123fb961c68740565a1efcaa5e43bd35802/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateGraphQLApi.json
func ExampleAPIClient_BeginCreateOrUpdate_apiManagementCreateGraphQlApi() {
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.NewAPIClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", "tempgroup", armapimanagement.APICreateOrUpdateParameter{
Properties: &armapimanagement.APICreateOrUpdateProperties{
APIType: to.Ptr(armapimanagement.APITypeGraphql),
Description: to.Ptr("apidescription5200"),
Path: to.Ptr("graphql-api"),
DisplayName: to.Ptr("apiname1463"),
Protocols: []*armapimanagement.Protocol{
to.Ptr(armapimanagement.ProtocolHTTP),
to.Ptr(armapimanagement.ProtocolHTTPS)},
ServiceURL: to.Ptr("https://api.spacex.land/graphql"),
},
}, &armapimanagement.APIClientBeginCreateOrUpdateOptions{IfMatch: 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.APIContract = armapimanagement.APIContract{
// Name: to.Ptr("apiid9419"),
// Type: to.Ptr("Microsoft.ApiManagement/service/apis"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419"),
// Properties: &armapimanagement.APIContractProperties{
// APIType: to.Ptr(armapimanagement.APITypeGraphql),
// Description: to.Ptr("apidescription5200"),
// APIRevision: to.Ptr("1"),
// IsCurrent: to.Ptr(true),
// IsOnline: to.Ptr(true),
// Path: to.Ptr("graphql-api"),
// DisplayName: to.Ptr("apiname1463"),
// Protocols: []*armapimanagement.Protocol{
// to.Ptr(armapimanagement.ProtocolHTTP),
// to.Ptr(armapimanagement.ProtocolHTTPS)},
// ServiceURL: to.Ptr("https://api.spacex.land/graphql"),
// },
// }
}
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 new or updates existing specified API of the API Management service instance.
*
* @summary Creates new or updates existing specified API of the API Management service instance.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateGraphQLApi.json
*/
async function apiManagementCreateGraphQlApi() {
const subscriptionId = process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const apiId = "tempgroup";
const parameters = {
apiType: "graphql",
path: "graphql-api",
description: "apidescription5200",
displayName: "apiname1463",
protocols: ["http", "https"],
serviceUrl: "https://api.spacex.land/graphql",
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.api.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
apiId,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
"type": "Microsoft.ApiManagement/service/apis",
"name": "apiid9419",
"properties": {
"displayName": "apiname1463",
"apiRevision": "1",
"description": "apidescription5200",
"serviceUrl": "https://api.spacex.land/graphql",
"type": "graphql",
"path": "graphql-api",
"protocols": [
"https",
"https"
],
"authenticationSettings": null,
"subscriptionKeyParameterNames": null,
"isCurrent": true,
"isOnline": true
}
}
location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2022-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
"type": "Microsoft.ApiManagement/service/apis",
"name": "apiid9419",
"properties": {
"displayName": "apiname1463",
"apiRevision": "1",
"description": "apidescription5200",
"serviceUrl": "https://api.spacex.land/graphql",
"type": "graphql",
"path": "graphql-api",
"protocols": [
"http",
"https"
],
"authenticationSettings": null,
"subscriptionKeyParameterNames": null,
"isCurrent": true,
"isOnline": true
}
}
ApiManagementCreateSoapPassThroughApiUsingWsdlImport
Sample Request
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/soapApi?api-version=2022-08-01
{
"properties": {
"format": "wsdl-link",
"value": "http://www.webservicex.net/CurrencyConvertor.asmx?WSDL",
"path": "currency",
"apiType": "soap",
"wsdlSelector": {
"wsdlServiceName": "CurrencyConvertor",
"wsdlEndpointName": "CurrencyConvertorSoap"
}
}
}
import com.azure.resourcemanager.apimanagement.models.ApiCreateOrUpdatePropertiesWsdlSelector;
import com.azure.resourcemanager.apimanagement.models.ContentFormat;
import com.azure.resourcemanager.apimanagement.models.SoapApiType;
/** Samples for Api CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateSoapPassThroughApiUsingWsdlImport.json
*/
/**
* Sample code: ApiManagementCreateSoapPassThroughApiUsingWsdlImport.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateSoapPassThroughApiUsingWsdlImport(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager
.apis()
.define("soapApi")
.withExistingService("rg1", "apimService1")
.withValue("http://www.webservicex.net/CurrencyConvertor.asmx?WSDL")
.withFormat(ContentFormat.WSDL_LINK)
.withWsdlSelector(
new ApiCreateOrUpdatePropertiesWsdlSelector()
.withWsdlServiceName("CurrencyConvertor")
.withWsdlEndpointName("CurrencyConvertorSoap"))
.withSoapApiType(SoapApiType.SOAP)
.withPath("currency")
.create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_soap_pass_through_api_using_wsdl_import.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.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
api_id="soapApi",
parameters={
"properties": {
"apiType": "soap",
"format": "wsdl-link",
"path": "currency",
"value": "http://www.webservicex.net/CurrencyConvertor.asmx?WSDL",
"wsdlSelector": {"wsdlEndpointName": "CurrencyConvertorSoap", "wsdlServiceName": "CurrencyConvertor"},
}
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateSoapPassThroughApiUsingWsdlImport.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4cd95123fb961c68740565a1efcaa5e43bd35802/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateSoapPassThroughApiUsingWsdlImport.json
func ExampleAPIClient_BeginCreateOrUpdate_apiManagementCreateSoapPassThroughApiUsingWsdlImport() {
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.NewAPIClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", "soapApi", armapimanagement.APICreateOrUpdateParameter{
Properties: &armapimanagement.APICreateOrUpdateProperties{
Path: to.Ptr("currency"),
Format: to.Ptr(armapimanagement.ContentFormatWsdlLink),
SoapAPIType: to.Ptr(armapimanagement.SoapAPITypeSoapPassThrough),
Value: to.Ptr("http://www.webservicex.net/CurrencyConvertor.asmx?WSDL"),
WsdlSelector: &armapimanagement.APICreateOrUpdatePropertiesWsdlSelector{
WsdlEndpointName: to.Ptr("CurrencyConvertorSoap"),
WsdlServiceName: to.Ptr("CurrencyConvertor"),
},
},
}, &armapimanagement.APIClientBeginCreateOrUpdateOptions{IfMatch: 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.APIContract = armapimanagement.APIContract{
// Name: to.Ptr("soapApi"),
// Type: to.Ptr("Microsoft.ApiManagement/service/apis"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/soapApi"),
// Properties: &armapimanagement.APIContractProperties{
// APIType: to.Ptr(armapimanagement.APITypeSoap),
// APIRevision: to.Ptr("1"),
// IsCurrent: to.Ptr(true),
// SubscriptionKeyParameterNames: &armapimanagement.SubscriptionKeyParameterNamesContract{
// Header: to.Ptr("Ocp-Apim-Subscription-Key"),
// Query: to.Ptr("subscription-key"),
// },
// Path: to.Ptr("currency"),
// DisplayName: to.Ptr("CurrencyConvertor"),
// Protocols: []*armapimanagement.Protocol{
// to.Ptr(armapimanagement.ProtocolHTTPS)},
// ServiceURL: to.Ptr("http://www.webservicex.net"),
// },
// }
}
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 new or updates existing specified API of the API Management service instance.
*
* @summary Creates new or updates existing specified API of the API Management service instance.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateSoapPassThroughApiUsingWsdlImport.json
*/
async function apiManagementCreateSoapPassThroughApiUsingWsdlImport() {
const subscriptionId = process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const apiId = "soapApi";
const parameters = {
format: "wsdl-link",
path: "currency",
soapApiType: "soap",
value: "http://www.webservicex.net/CurrencyConvertor.asmx?WSDL",
wsdlSelector: {
wsdlEndpointName: "CurrencyConvertorSoap",
wsdlServiceName: "CurrencyConvertor",
},
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.api.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
apiId,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/soapApi",
"type": "Microsoft.ApiManagement/service/apis",
"name": "soapApi",
"properties": {
"displayName": "CurrencyConvertor",
"apiRevision": "1",
"serviceUrl": "http://www.webservicex.net",
"path": "currency",
"protocols": [
"https"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"type": "soap",
"isCurrent": true
}
}
location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2022-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/soapApi",
"type": "Microsoft.ApiManagement/service/apis",
"name": "soapApi",
"properties": {
"displayName": "CurrencyConvertor",
"apiRevision": "1",
"serviceUrl": "http://www.webservicex.net",
"path": "currency",
"protocols": [
"https"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"type": "soap",
"isCurrent": true
}
}
ApiManagementCreateSoapToRestApiUsingWsdlImport
Sample Request
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/soapApi?api-version=2022-08-01
{
"properties": {
"format": "wsdl-link",
"value": "http://www.webservicex.net/CurrencyConvertor.asmx?WSDL",
"path": "currency",
"wsdlSelector": {
"wsdlServiceName": "CurrencyConvertor",
"wsdlEndpointName": "CurrencyConvertorSoap"
}
}
}
import com.azure.resourcemanager.apimanagement.models.ApiCreateOrUpdatePropertiesWsdlSelector;
import com.azure.resourcemanager.apimanagement.models.ContentFormat;
/** Samples for Api CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateSoapToRestApiUsingWsdlImport.json
*/
/**
* Sample code: ApiManagementCreateSoapToRestApiUsingWsdlImport.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateSoapToRestApiUsingWsdlImport(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager
.apis()
.define("soapApi")
.withExistingService("rg1", "apimService1")
.withValue("http://www.webservicex.net/CurrencyConvertor.asmx?WSDL")
.withFormat(ContentFormat.WSDL_LINK)
.withWsdlSelector(
new ApiCreateOrUpdatePropertiesWsdlSelector()
.withWsdlServiceName("CurrencyConvertor")
.withWsdlEndpointName("CurrencyConvertorSoap"))
.withPath("currency")
.create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_soap_to_rest_api_using_wsdl_import.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.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
api_id="soapApi",
parameters={
"properties": {
"format": "wsdl-link",
"path": "currency",
"value": "http://www.webservicex.net/CurrencyConvertor.asmx?WSDL",
"wsdlSelector": {"wsdlEndpointName": "CurrencyConvertorSoap", "wsdlServiceName": "CurrencyConvertor"},
}
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateSoapToRestApiUsingWsdlImport.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4cd95123fb961c68740565a1efcaa5e43bd35802/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateSoapToRestApiUsingWsdlImport.json
func ExampleAPIClient_BeginCreateOrUpdate_apiManagementCreateSoapToRestApiUsingWsdlImport() {
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.NewAPIClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", "soapApi", armapimanagement.APICreateOrUpdateParameter{
Properties: &armapimanagement.APICreateOrUpdateProperties{
Path: to.Ptr("currency"),
Format: to.Ptr(armapimanagement.ContentFormatWsdlLink),
Value: to.Ptr("http://www.webservicex.net/CurrencyConvertor.asmx?WSDL"),
WsdlSelector: &armapimanagement.APICreateOrUpdatePropertiesWsdlSelector{
WsdlEndpointName: to.Ptr("CurrencyConvertorSoap"),
WsdlServiceName: to.Ptr("CurrencyConvertor"),
},
},
}, &armapimanagement.APIClientBeginCreateOrUpdateOptions{IfMatch: 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.APIContract = armapimanagement.APIContract{
// Name: to.Ptr("soapApi"),
// Type: to.Ptr("Microsoft.ApiManagement/service/apis"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/soapApi"),
// Properties: &armapimanagement.APIContractProperties{
// APIRevision: to.Ptr("1"),
// IsCurrent: to.Ptr(true),
// SubscriptionKeyParameterNames: &armapimanagement.SubscriptionKeyParameterNamesContract{
// Header: to.Ptr("Ocp-Apim-Subscription-Key"),
// Query: to.Ptr("subscription-key"),
// },
// Path: to.Ptr("currency"),
// DisplayName: to.Ptr("CurrencyConvertor"),
// Protocols: []*armapimanagement.Protocol{
// to.Ptr(armapimanagement.ProtocolHTTPS)},
// ServiceURL: to.Ptr("http://www.webservicex.net"),
// },
// }
}
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 new or updates existing specified API of the API Management service instance.
*
* @summary Creates new or updates existing specified API of the API Management service instance.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateSoapToRestApiUsingWsdlImport.json
*/
async function apiManagementCreateSoapToRestApiUsingWsdlImport() {
const subscriptionId = process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const apiId = "soapApi";
const parameters = {
format: "wsdl-link",
path: "currency",
value: "http://www.webservicex.net/CurrencyConvertor.asmx?WSDL",
wsdlSelector: {
wsdlEndpointName: "CurrencyConvertorSoap",
wsdlServiceName: "CurrencyConvertor",
},
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.api.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
apiId,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/soapApi",
"type": "Microsoft.ApiManagement/service/apis",
"name": "soapApi",
"properties": {
"displayName": "CurrencyConvertor",
"apiRevision": "1",
"serviceUrl": "http://www.webservicex.net",
"path": "currency",
"protocols": [
"https"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"isCurrent": true
}
}
location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2022-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/soapApi",
"type": "Microsoft.ApiManagement/service/apis",
"name": "soapApi",
"properties": {
"displayName": "CurrencyConvertor",
"apiRevision": "1",
"serviceUrl": "http://www.webservicex.net",
"path": "currency",
"protocols": [
"https"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"isCurrent": true
}
}
ApiManagementCreateWebSocketApi
Sample Request
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2022-08-01
{
"properties": {
"description": "apidescription5200",
"displayName": "apiname1463",
"type": "websocket",
"serviceUrl": "wss://echo.websocket.org",
"path": "newapiPath",
"protocols": [
"wss",
"ws"
]
}
}
import com.azure.resourcemanager.apimanagement.models.ApiType;
import com.azure.resourcemanager.apimanagement.models.Protocol;
import java.util.Arrays;
/** Samples for Api CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateWebsocketApi.json
*/
/**
* Sample code: ApiManagementCreateWebSocketApi.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateWebSocketApi(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager
.apis()
.define("tempgroup")
.withExistingService("rg1", "apimService1")
.withDisplayName("apiname1463")
.withServiceUrl("wss://echo.websocket.org")
.withPath("newapiPath")
.withProtocols(Arrays.asList(Protocol.WSS, Protocol.WS))
.withDescription("apidescription5200")
.withApiType(ApiType.WEBSOCKET)
.create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_websocket_api.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.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
api_id="tempgroup",
parameters={
"properties": {
"description": "apidescription5200",
"displayName": "apiname1463",
"path": "newapiPath",
"protocols": ["wss", "ws"],
"serviceUrl": "wss://echo.websocket.org",
"type": "websocket",
}
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateWebsocketApi.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4cd95123fb961c68740565a1efcaa5e43bd35802/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateWebsocketApi.json
func ExampleAPIClient_BeginCreateOrUpdate_apiManagementCreateWebSocketApi() {
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.NewAPIClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", "tempgroup", armapimanagement.APICreateOrUpdateParameter{
Properties: &armapimanagement.APICreateOrUpdateProperties{
APIType: to.Ptr(armapimanagement.APITypeWebsocket),
Description: to.Ptr("apidescription5200"),
Path: to.Ptr("newapiPath"),
DisplayName: to.Ptr("apiname1463"),
Protocols: []*armapimanagement.Protocol{
to.Ptr(armapimanagement.ProtocolWss),
to.Ptr(armapimanagement.ProtocolWs)},
ServiceURL: to.Ptr("wss://echo.websocket.org"),
},
}, &armapimanagement.APIClientBeginCreateOrUpdateOptions{IfMatch: 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.APIContract = armapimanagement.APIContract{
// Name: to.Ptr("apiid9419"),
// Type: to.Ptr("Microsoft.ApiManagement/service/apis"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419"),
// Properties: &armapimanagement.APIContractProperties{
// APIType: to.Ptr(armapimanagement.APITypeWebsocket),
// Description: to.Ptr("apidescription5200"),
// APIRevision: to.Ptr("1"),
// IsCurrent: to.Ptr(true),
// IsOnline: to.Ptr(true),
// Path: to.Ptr("newapiPath"),
// DisplayName: to.Ptr("apiname1463"),
// Protocols: []*armapimanagement.Protocol{
// to.Ptr(armapimanagement.ProtocolWs),
// to.Ptr(armapimanagement.ProtocolWss)},
// ServiceURL: to.Ptr("wss://echo.websocket.org"),
// },
// }
}
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 new or updates existing specified API of the API Management service instance.
*
* @summary Creates new or updates existing specified API of the API Management service instance.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateWebsocketApi.json
*/
async function apiManagementCreateWebSocketApi() {
const subscriptionId = process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const apiId = "tempgroup";
const parameters = {
apiType: "websocket",
path: "newapiPath",
description: "apidescription5200",
displayName: "apiname1463",
protocols: ["wss", "ws"],
serviceUrl: "wss://echo.websocket.org",
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.api.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
apiId,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
"type": "Microsoft.ApiManagement/service/apis",
"name": "apiid9419",
"properties": {
"displayName": "apiname1463",
"apiRevision": "1",
"description": "apidescription5200",
"serviceUrl": "wss://echo.websocket.org",
"type": "websocket",
"path": "newapiPath",
"protocols": [
"ws",
"wss"
],
"authenticationSettings": null,
"subscriptionKeyParameterNames": null,
"isCurrent": true,
"isOnline": true
}
}
location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2022-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
"type": "Microsoft.ApiManagement/service/apis",
"name": "apiid9419",
"properties": {
"displayName": "apiname1463",
"apiRevision": "1",
"description": "apidescription5200",
"serviceUrl": "wss://echo.websocket.org",
"type": "websocket",
"path": "newapiPath",
"protocols": [
"ws",
"wss"
],
"authenticationSettings": null,
"subscriptionKeyParameterNames": null,
"isCurrent": true,
"isOnline": true
}
}
定义
API 联系人信息
名称 |
类型 |
说明 |
email
|
string
|
联系人/组织的电子邮件地址。 必须采用电子邮件地址的格式
|
name
|
string
|
联系人/组织的标识名称
|
url
|
string
|
指向联系人信息的 URL。 必须采用 URL 的格式
|
ApiContract
API 详细信息。
名称 |
类型 |
说明 |
id
|
string
|
资源的完全限定的资源 ID。 例如 - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
|
name
|
string
|
资源的名称
|
properties.apiRevision
|
string
|
描述 API 的修订。 如果未提供任何值,则会创建默认修订版 1
|
properties.apiRevisionDescription
|
string
|
API 修订的说明。
|
properties.apiVersion
|
string
|
指示 API 的版本标识符(如果 API 已版本控制)
|
properties.apiVersionDescription
|
string
|
API 版本的说明。
|
properties.apiVersionSet
|
ApiVersionSetContractDetails
|
版本集详细信息
|
properties.apiVersionSetId
|
string
|
相关 ApiVersionSet 的资源标识符。
|
properties.authenticationSettings
|
AuthenticationSettingsContract
|
此 API 中包含的身份验证设置的集合。
|
properties.contact
|
ApiContactInformation
|
API 的联系信息。
|
properties.description
|
string
|
API 的说明。 可以包含 HTML 格式标记。
|
properties.displayName
|
string
|
API 名称。 长度必须为 1 到 300 个字符。
|
properties.isCurrent
|
boolean
|
指示 API 修订是否为当前 API 修订。
|
properties.isOnline
|
boolean
|
指示是否可通过网关访问 API 修订。
|
properties.license
|
ApiLicenseInformation
|
API 的许可证信息。
|
properties.path
|
string
|
相对 URL,用于唯一标识此 API 及其在 API 管理服务实例中的所有资源路径。 可将其追加到在服务实例创建过程中指定的 API 终结点基 URL,构成此 API 的公共 URL。
|
properties.protocols
|
Protocol[]
|
说明可在哪些协议上调用此 API 中的操作。
|
properties.serviceUrl
|
string
|
实现此 API 的后端服务的绝对 URL。 长度不能超过 2000 个字符。
|
properties.sourceApiId
|
string
|
源 API 的 API 标识符。
|
properties.subscriptionKeyParameterNames
|
SubscriptionKeyParameterNamesContract
|
提供 API 的协议。
|
properties.subscriptionRequired
|
boolean
|
指定访问 API 是否需要 API 订阅或产品订阅。
|
properties.termsOfServiceUrl
|
string
|
API 服务条款的 URL。 必须采用 URL 的格式。
|
properties.type
|
ApiType
|
API 的类型。
|
type
|
string
|
资源类型。 例如“Microsoft.Compute/virtualMachines”或“Microsoft.Storage/storageAccounts”
|
ApiCreateOrUpdateParameter
API 创建或更新参数。
名称 |
类型 |
说明 |
apiRevision
|
string
|
描述 API 的修订。 如果未提供任何值,则会创建默认修订版 1
|
apiRevisionDescription
|
string
|
API 修订版的说明。
|
apiVersion
|
string
|
指示 API 的版本标识符(如果 API 已版本控制)
|
apiVersionDescription
|
string
|
API 版本的说明。
|
apiVersionSetId
|
string
|
相关 ApiVersionSet 的资源标识符。
|
authenticationSettings
|
AuthenticationSettingsContract
|
此 API 中包含的身份验证设置的集合。
|
contact
|
ApiContactInformation
|
API 的联系信息。
|
description
|
string
|
API 的说明。 可以包含 HTML 格式标记。
|
isCurrent
|
boolean
|
指示 API 修订是否为当前 API 修订。
|
isOnline
|
boolean
|
指示是否可通过网关访问 API 修订。
|
license
|
ApiLicenseInformation
|
API 的许可证信息。
|
properties.apiType
|
SoapApiType
|
要创建的 API 的类型。
http 创建 REST API
soap 创建 SOAP 传递 API
websocket 创建 websocket API
graphql 创建 GraphQL API。
|
properties.apiVersionSet
|
ApiVersionSetContractDetails
|
版本集详细信息
|
properties.displayName
|
string
|
API 名称。 长度必须为 1 到 300 个字符。
|
properties.format
|
ContentFormat
|
要导入 API 的内容的格式。
|
properties.path
|
string
|
相对 URL,用于唯一标识此 API 及其在 API 管理服务实例中的所有资源路径。 可将其追加到在服务实例创建过程中指定的 API 终结点基 URL,构成此 API 的公共 URL。
|
properties.protocols
|
Protocol[]
|
说明可在哪些协议上调用此 API 中的操作。
|
properties.serviceUrl
|
string
|
实现此 API 的后端服务的绝对 URL。 长度不能超过 2000 个字符。
|
properties.sourceApiId
|
string
|
源 API 的 API 标识符。
|
properties.translateRequiredQueryParameters
|
TranslateRequiredQueryParametersConduct
|
将所需查询参数转换为模板参数的策略。 默认情况下,值为“template”。 可能的值:“template”、“query”
|
properties.value
|
string
|
导入 API 时的内容值。
|
properties.wsdlSelector
|
WsdlSelector
|
将 WSDL 导入限制为文档子集的条件。
|
subscriptionKeyParameterNames
|
SubscriptionKeyParameterNamesContract
|
提供 API 的协议。
|
subscriptionRequired
|
boolean
|
指定访问 API 是否需要 API 订阅或产品订阅。
|
termsOfServiceUrl
|
string
|
指向 API 服务条款的 URL。 必须采用 URL 的格式。
|
type
|
ApiType
|
API 的类型。
|
API 许可证信息
名称 |
类型 |
说明 |
name
|
string
|
用于 API 的许可证名称
|
url
|
string
|
用于 API 的许可证的 URL。 必须采用 URL 的格式
|
ApiType
API 的类型。
名称 |
类型 |
说明 |
graphql
|
string
|
|
http
|
string
|
|
soap
|
string
|
|
websocket
|
string
|
|
ApiVersionSetContractDetails
API 版本集包含一组与 API 版本相关的通用配置
名称 |
类型 |
说明 |
description
|
string
|
API 版本集的说明。
|
id
|
string
|
现有 API 版本集的标识符。 省略此值以创建新的版本集。
|
name
|
string
|
API 版本集的显示名称。
|
versionHeaderName
|
string
|
HTTP 标头参数的名称,如果 versioningScheme 设置为 header ,则指示 API 版本。
|
versionQueryName
|
string
|
如果 versioningScheme 设置为 query ,则指示 API 版本的查询参数的名称。
|
versioningScheme
|
versioningScheme
|
一个 值,该值确定 API 版本标识符在 HTTP 请求中的位置。
|
AuthenticationSettingsContract
API 身份验证设置。
bearerTokenSendingMethods
如何将令牌发送到服务器。
名称 |
类型 |
说明 |
authorizationHeader
|
string
|
访问令牌将使用持有者架构在授权标头中传输
|
query
|
string
|
访问令牌将作为查询参数传输。
|
ContentFormat
要导入 API 的内容的格式。
名称 |
类型 |
说明 |
graphql-link
|
string
|
托管在可公开访问的 Internet 地址上的 GraphQL API 终结点。
|
openapi
|
string
|
内容是内联的,内容类型是 OpenAPI 3.0 YAML 文档。
|
openapi+json
|
string
|
内容是内联的,内容类型是 OpenAPI 3.0 JSON 文档。
|
openapi+json-link
|
string
|
OpenAPI 3.0 JSON 文档托管在可公开访问的 Internet 地址上。
|
openapi-link
|
string
|
OpenAPI 3.0 YAML 文档托管在可公开访问的 Internet 地址上。
|
swagger-json
|
string
|
内容是内联的,内容类型是 OpenAPI 2.0 JSON 文档。
|
swagger-link-json
|
string
|
OpenAPI 2.0 JSON 文档托管在可公开访问的 Internet 地址上。
|
wadl-link-json
|
string
|
WADL 文档托管在可公开访问的 Internet 地址上。
|
wadl-xml
|
string
|
内容是内联的,内容类型是 WADL 文档。
|
wsdl
|
string
|
内容是内联的,文档是 WSDL/Soap 文档。
|
wsdl-link
|
string
|
WSDL 文档托管在可公开访问的 Internet 地址上。
|
ErrorFieldContract
错误字段协定。
名称 |
类型 |
说明 |
code
|
string
|
属性级错误代码。
|
message
|
string
|
属性级错误的可读表示形式。
|
target
|
string
|
属性名称。
|
ErrorResponse
错误响应。
名称 |
类型 |
说明 |
error.code
|
string
|
服务定义的错误代码。 此代码用作响应中指定的 HTTP 错误代码的子状态。
|
error.details
|
ErrorFieldContract[]
|
在发生验证错误的情况下,在请求中发送的无效字段列表。
|
error.message
|
string
|
错误的用户可读表示形式。
|
OAuth2AuthenticationSettingsContract
API OAuth2 身份验证设置详细信息。
名称 |
类型 |
说明 |
authorizationServerId
|
string
|
OAuth 授权服务器标识符。
|
scope
|
string
|
操作范围。
|
OpenIdAuthenticationSettingsContract
API OAuth2 身份验证设置详细信息。
Protocol
说明可在哪些协议上调用此 API 中的操作。
名称 |
类型 |
说明 |
http
|
string
|
|
https
|
string
|
|
ws
|
string
|
|
wss
|
string
|
|
SoapApiType
要创建的 API 的类型。
http
创建 REST API
soap
创建 SOAP 传递 API
websocket
创建 websocket API
graphql
创建 GraphQL API。
名称 |
类型 |
说明 |
graphql
|
string
|
导入具有GraphQL前端的 API。
|
http
|
string
|
导入具有 RESTful 前端的 SOAP API。
|
soap
|
string
|
导入具有 SOAP 前端的 SOAP API。
|
websocket
|
string
|
导入具有 Websocket 前端的 API。
|
SubscriptionKeyParameterNamesContract
订阅密钥参数名称详细信息。
名称 |
类型 |
说明 |
header
|
string
|
订阅密钥标头名称。
|
query
|
string
|
订阅密钥查询字符串参数名称。
|
TranslateRequiredQueryParametersConduct
将所需查询参数转换为模板参数的策略。 默认情况下,值为“template”。 可能的值:“template”、“query”
名称 |
类型 |
说明 |
query
|
string
|
保留所需的查询参数,因为它们 () 未完成任何转换。
|
template
|
string
|
将所需的查询参数转换为模板参数。 默认值
|
versioningScheme
一个 值,该值确定 API 版本标识符在 HTTP 请求中的位置。
名称 |
类型 |
说明 |
Header
|
string
|
API 版本在 HTTP 标头中传递。
|
Query
|
string
|
API 版本在查询参数中传递。
|
Segment
|
string
|
API 版本在路径段中传递。
|
WsdlSelector
将 WSDL 导入限制为文档子集的条件。
名称 |
类型 |
说明 |
wsdlEndpointName
|
string
|
要从 WSDL 导入的终结点 (端口) 的名称
|
wsdlServiceName
|
string
|
要从 WSDL 导入的服务的名称
|