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.
Client initialization: For more information, see Install the latest Java SDK.
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();
}
}
}