Create an instance by calling an API operation

更新时间:
复制 MD 格式

Before you can use the Global Traffic Manager (GTM) service, you must create an instance. You can create an instance in the console or by calling an API operation. This topic describes how to create an instance by calling an API operation. For information about how to create an instance in the console, see Create an instance.

Prerequisites

Instance creation and renewal use the Alibaba Cloud Billing Management API. Therefore, your API calls must follow the specifications of the Alibaba Cloud Billing Management API.

Instance creation service

For more information, see Instance creation service.

SDK

  • Maven dependency:

<dependencies>
    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>aliyun-java-sdk-bssopenapi</artifactId>
        <version>1.6.6</version>
    </dependency>

    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>aliyun-java-sdk-core</artifactId>
        <version>4.4.6</version>
    </dependency>
</dependencies>

For other languages, see SDK list.

Important

The RegionId is fixed to cn-hangzhou for the Alibaba Cloud China site and ap-southeast-1 for the Alibaba Cloud International site.

Create a Global Traffic Manager instance

Description: Call the CreateInstance operation to create a GTM instance.

API operation name: CreateInstance

Parameters:

The following table describes the parameters and their valid values.

Mapping between parameters and modules on the purchase page:

Name

Type

Required

Description

Details

ProductCode

String

Yes

Product code

The product code. Set the value to dns.

ProductType

String

Yes

Product type

The value for the product code is dns_gtm_public_cn.

Product code. The value is dns_gtm_public_intl.

SubscriptionType

String

Yes

Billing method

The billing method. Valid values:

Subscription

Period

Integer

Yes

Subscription Period

This parameter is required when you create a subscription instance. The unit is month. For annually paid products, enter a multiple of 12.

Parameter.1.Code

String

Yes

Edition

PackageEdition

Parameter.1.Value

String

Yes

The purchased edition

standard (Standard Edition)

ultimate (Ultimate Edition)

Parameter.2.Code

String

Yes

Probe Task Package

HealthcheckTaskCount

Parameter.2.Value

String

Yes

Number of detection task packages purchased

Default value: 0

Minimum value: 0

Step size: 100

Maximum value: 100000

Parameter.3.Code

String

Yes

Domestic SMS notification package

SmsNotificationCount

Parameter.3.Value

String

Yes

The number of purchased domestic SMS notification packages

Default value: 0

Minimum value: 0

Step size: 1000

Maximum value: 100000

RenewalStatus

String

No

Auto-renewal status

AutoRenewal: enables auto-renewal. ManualRenewal: enables manual renewal.

Default value: ManualRenewal

RenewPeriod

Integer

No

The auto-renewal period. Unit: month.

This parameter is required when you set RenewalStatus to AutoRenewal.

Request examples

https://business.aliyuncs.com/?Action=CreateInstance
&Parameter.1.Code=PackageEdition
&Parameter.1.Value=standard
&Parameter.2.Code=HealthcheckTaskCount
&Parameter.2.Value=0
&Parameter.3.Code=SmsNotificationCount
&Parameter.3.Value=0
&Period=1
&ProductCode=dns
&ProductType=dns_gtm_public_cn
&SubscriptionType=Subscription

Example call:

package alidnstest.domainmanager;

import com.alibaba.fastjson.JSON;
import com.aliyuncs.bssopenapi.model.v20171214.CreateInstanceRequest;
import com.aliyuncs.bssopenapi.model.v20171214.CreateInstanceResponse;
import com.aliyuncs.exceptions.ClientException;
import org.testng.annotations.Test;
import org.testng.collections.Lists;
import utils.AlidnsTestBase;

public class InstanceCreate extends AlidnsTestBase {

    @Test
    public void createInstanceTest() {
        CreateInstanceRequest request = new CreateInstanceRequest();
        request.setProductCode("dns");
        request.setProductType("dns_gtm_public_cn");
        request.setSubscriptionType("Subscription");
        request.setPeriod(1);
        CreateInstanceRequest.Parameter parameters1 = new CreateInstanceRequest.Parameter();
        parameters1.setCode("PackageEdition");
        parameters1.setValue("standard");

        CreateInstanceRequest.Parameter parameters2 = new CreateInstanceRequest.Parameter();
        parameters2.setCode("HealthcheckTaskCount");
        parameters2.setValue("0");

        CreateInstanceRequest.Parameter parameters3 = new CreateInstanceRequest.Parameter();
        parameters3.setCode("SmsNotificationCount");
        parameters3.setValue("0");

        request.setParameters(Lists.newArrayList(parameters1,parameters2,parameters3));
        try {
            CreateInstanceResponse response = client.getAcsResponse(request);
            System.out.println(JSON.toJSON(response));
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }
}