alicloud logo
Alibaba Cloud v3.34.0, Mar 17 23

alicloud.vpc.getNatGateways

This data source provides a list of Nat Gateways owned by an Alibaba Cloud account.

NOTE: Available in 1.37.0+.

Example Usage

Coming soon!

Coming soon!

package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.AlicloudFunctions;
import com.pulumi.alicloud.inputs.GetZonesArgs;
import com.pulumi.alicloud.vpc.Network;
import com.pulumi.alicloud.vpc.NetworkArgs;
import com.pulumi.alicloud.vpc.NatGateway;
import com.pulumi.alicloud.vpc.NatGatewayArgs;
import com.pulumi.alicloud.vpc.VpcFunctions;
import com.pulumi.alicloud.vpc.inputs.GetNatGatewaysArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        final var config = ctx.config();
        final var name = config.get("name").orElse("natGatewaysDatasource");
        final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()
            .availableResourceCreation("VSwitch")
            .build());

        var fooNetwork = new Network("fooNetwork", NetworkArgs.builder()        
            .cidrBlock("172.16.0.0/12")
            .vpcName(name)
            .build());

        var fooNatGateway = new NatGateway("fooNatGateway", NatGatewayArgs.builder()        
            .natGateName(name)
            .specification("Small")
            .vpcId(fooNetwork.id())
            .build());

        final var fooNatGateways = VpcFunctions.getNatGateways(GetNatGatewaysArgs.builder()
            .ids(fooNatGateway.id())
            .nameRegex(fooNatGateway.name())
            .vpcId(fooNetwork.id())
            .build());

    }
}

Coming soon!

Coming soon!

configuration:
  name:
    type: string
    default: natGatewaysDatasource
resources:
  fooNetwork:
    type: alicloud:vpc:Network
    properties:
      cidrBlock: 172.16.0.0/12
      vpcName: ${name}
  fooNatGateway:
    type: alicloud:vpc:NatGateway
    properties:
      natGateName: ${name}
      specification: Small
      vpcId: ${fooNetwork.id}
variables:
  default:
    fn::invoke:
      Function: alicloud:getZones
      Arguments:
        availableResourceCreation: VSwitch
  fooNatGateways:
    fn::invoke:
      Function: alicloud:vpc:getNatGateways
      Arguments:
        ids:
          - ${fooNatGateway.id}
        nameRegex: ${fooNatGateway.name}
        vpcId: ${fooNetwork.id}

Using getNatGateways

Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

function getNatGateways(args: GetNatGatewaysArgs, opts?: InvokeOptions): Promise<GetNatGatewaysResult>
function getNatGatewaysOutput(args: GetNatGatewaysOutputArgs, opts?: InvokeOptions): Output<GetNatGatewaysResult>
def get_nat_gateways(dry_run: Optional[bool] = None,
                     enable_details: Optional[bool] = None,
                     ids: Optional[Sequence[str]] = None,
                     name_regex: Optional[str] = None,
                     nat_gateway_name: Optional[str] = None,
                     nat_type: Optional[str] = None,
                     output_file: Optional[str] = None,
                     page_number: Optional[int] = None,
                     page_size: Optional[int] = None,
                     payment_type: Optional[str] = None,
                     resource_group_id: Optional[str] = None,
                     specification: Optional[str] = None,
                     status: Optional[str] = None,
                     tags: Optional[Mapping[str, Any]] = None,
                     vpc_id: Optional[str] = None,
                     opts: Optional[InvokeOptions] = None) -> GetNatGatewaysResult
def get_nat_gateways_output(dry_run: Optional[pulumi.Input[bool]] = None,
                     enable_details: Optional[pulumi.Input[bool]] = None,
                     ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                     name_regex: Optional[pulumi.Input[str]] = None,
                     nat_gateway_name: Optional[pulumi.Input[str]] = None,
                     nat_type: Optional[pulumi.Input[str]] = None,
                     output_file: Optional[pulumi.Input[str]] = None,
                     page_number: Optional[pulumi.Input[int]] = None,
                     page_size: Optional[pulumi.Input[int]] = None,
                     payment_type: Optional[pulumi.Input[str]] = None,
                     resource_group_id: Optional[pulumi.Input[str]] = None,
                     specification: Optional[pulumi.Input[str]] = None,
                     status: Optional[pulumi.Input[str]] = None,
                     tags: Optional[pulumi.Input[Mapping[str, Any]]] = None,
                     vpc_id: Optional[pulumi.Input[str]] = None,
                     opts: Optional[InvokeOptions] = None) -> Output[GetNatGatewaysResult]
func GetNatGateways(ctx *Context, args *GetNatGatewaysArgs, opts ...InvokeOption) (*GetNatGatewaysResult, error)
func GetNatGatewaysOutput(ctx *Context, args *GetNatGatewaysOutputArgs, opts ...InvokeOption) GetNatGatewaysResultOutput

> Note: This function is named GetNatGateways in the Go SDK.

public static class GetNatGateways 
{
    public static Task<GetNatGatewaysResult> InvokeAsync(GetNatGatewaysArgs args, InvokeOptions? opts = null)
    public static Output<GetNatGatewaysResult> Invoke(GetNatGatewaysInvokeArgs args, InvokeOptions? opts = null)
}
public static CompletableFuture<GetNatGatewaysResult> getNatGateways(GetNatGatewaysArgs args, InvokeOptions options)
// Output-based functions aren't available in Java yet
fn::invoke:
  function: alicloud:vpc/getNatGateways:getNatGateways
  arguments:
    # arguments dictionary

The following arguments are supported:

DryRun bool

Specifies whether to only precheck the request.

EnableDetails bool

Default to false. Set it to true can output more details about resource attributes.

Ids List<string>

A list of NAT gateways IDs.

NameRegex string

A regex string to filter nat gateways by name.

NatGatewayName string

The name of NAT gateway.

NatType string

The nat type of NAT gateway. Valid values Enhanced and Normal.

OutputFile string
PageNumber int
PageSize int
PaymentType string

The payment type of NAT gateway. Valid values PayAsYouGo and Subscription.

ResourceGroupId string

The resource group id of NAT gateway.

Specification string

The specification of NAT gateway. Valid values Middle, Large, Small and XLarge.1. Default value is Small.

Status string

The status of NAT gateway. Valid values Available, Converting, Creating, Deleting and Modifying.

Tags Dictionary<string, object>

The tags of NAT gateway.

VpcId string

The ID of the VPC.

DryRun bool

Specifies whether to only precheck the request.

EnableDetails bool

Default to false. Set it to true can output more details about resource attributes.

Ids []string

A list of NAT gateways IDs.

NameRegex string

A regex string to filter nat gateways by name.

NatGatewayName string

The name of NAT gateway.

NatType string

The nat type of NAT gateway. Valid values Enhanced and Normal.

OutputFile string
PageNumber int
PageSize int
PaymentType string

The payment type of NAT gateway. Valid values PayAsYouGo and Subscription.

ResourceGroupId string

The resource group id of NAT gateway.

Specification string

The specification of NAT gateway. Valid values Middle, Large, Small and XLarge.1. Default value is Small.

Status string

The status of NAT gateway. Valid values Available, Converting, Creating, Deleting and Modifying.

Tags map[string]interface{}

The tags of NAT gateway.

VpcId string

The ID of the VPC.

dryRun Boolean

Specifies whether to only precheck the request.

enableDetails Boolean

Default to false. Set it to true can output more details about resource attributes.

ids List<String>

A list of NAT gateways IDs.

nameRegex String

A regex string to filter nat gateways by name.

natGatewayName String

The name of NAT gateway.

natType String

The nat type of NAT gateway. Valid values Enhanced and Normal.

outputFile String
pageNumber Integer
pageSize Integer
paymentType String

The payment type of NAT gateway. Valid values PayAsYouGo and Subscription.

resourceGroupId String

The resource group id of NAT gateway.

specification String

The specification of NAT gateway. Valid values Middle, Large, Small and XLarge.1. Default value is Small.

status String

The status of NAT gateway. Valid values Available, Converting, Creating, Deleting and Modifying.

tags Map<String,Object>

The tags of NAT gateway.

vpcId String

The ID of the VPC.

dryRun boolean

Specifies whether to only precheck the request.

enableDetails boolean

Default to false. Set it to true can output more details about resource attributes.

ids string[]

A list of NAT gateways IDs.

nameRegex string

A regex string to filter nat gateways by name.

natGatewayName string

The name of NAT gateway.

natType string

The nat type of NAT gateway. Valid values Enhanced and Normal.

outputFile string
pageNumber number
pageSize number
paymentType string

The payment type of NAT gateway. Valid values PayAsYouGo and Subscription.

resourceGroupId string

The resource group id of NAT gateway.

specification string

The specification of NAT gateway. Valid values Middle, Large, Small and XLarge.1. Default value is Small.

status string

The status of NAT gateway. Valid values Available, Converting, Creating, Deleting and Modifying.

tags {[key: string]: any}

The tags of NAT gateway.

vpcId string

The ID of the VPC.

dry_run bool

Specifies whether to only precheck the request.

enable_details bool

Default to false. Set it to true can output more details about resource attributes.

ids Sequence[str]

A list of NAT gateways IDs.

name_regex str

A regex string to filter nat gateways by name.

nat_gateway_name str

The name of NAT gateway.

nat_type str

The nat type of NAT gateway. Valid values Enhanced and Normal.

output_file str
page_number int
page_size int
payment_type str

The payment type of NAT gateway. Valid values PayAsYouGo and Subscription.

resource_group_id str

The resource group id of NAT gateway.

specification str

The specification of NAT gateway. Valid values Middle, Large, Small and XLarge.1. Default value is Small.

status str

The status of NAT gateway. Valid values Available, Converting, Creating, Deleting and Modifying.

tags Mapping[str, Any]

The tags of NAT gateway.

vpc_id str

The ID of the VPC.

dryRun Boolean

Specifies whether to only precheck the request.

enableDetails Boolean

Default to false. Set it to true can output more details about resource attributes.

ids List<String>

A list of NAT gateways IDs.

nameRegex String

A regex string to filter nat gateways by name.

natGatewayName String

The name of NAT gateway.

natType String

The nat type of NAT gateway. Valid values Enhanced and Normal.

outputFile String
pageNumber Number
pageSize Number
paymentType String

The payment type of NAT gateway. Valid values PayAsYouGo and Subscription.

resourceGroupId String

The resource group id of NAT gateway.

specification String

The specification of NAT gateway. Valid values Middle, Large, Small and XLarge.1. Default value is Small.

status String

The status of NAT gateway. Valid values Available, Converting, Creating, Deleting and Modifying.

tags Map<Any>

The tags of NAT gateway.

vpcId String

The ID of the VPC.

getNatGateways Result

The following output properties are available:

Gateways List<Pulumi.AliCloud.Vpc.Outputs.GetNatGatewaysGateway>

A list of Nat gateways. Each element contains the following attributes:

Id string

The provider-assigned unique ID for this managed resource.

Ids List<string>

(Optional) A list of Nat gateways IDs.

Names List<string>

A list of Nat gateways names.

TotalCount int
DryRun bool
EnableDetails bool
NameRegex string
NatGatewayName string

The name of the NAT gateway.

NatType string

The type of the NAT gateway.

OutputFile string
PageNumber int
PageSize int
PaymentType string

The billing method of the NAT gateway.

ResourceGroupId string

The ID of the resource group.

Specification string

The specification of the NAT gateway.

Status string

The status of the NAT gateway.

Tags Dictionary<string, object>

The tags of NAT gateway.

VpcId string

The ID of the VPC.

Gateways []GetNatGatewaysGateway

A list of Nat gateways. Each element contains the following attributes:

Id string

The provider-assigned unique ID for this managed resource.

Ids []string

(Optional) A list of Nat gateways IDs.

Names []string

A list of Nat gateways names.

TotalCount int
DryRun bool
EnableDetails bool
NameRegex string
NatGatewayName string

The name of the NAT gateway.

NatType string

The type of the NAT gateway.

OutputFile string
PageNumber int
PageSize int
PaymentType string

The billing method of the NAT gateway.

ResourceGroupId string

The ID of the resource group.

Specification string

The specification of the NAT gateway.

Status string

The status of the NAT gateway.

Tags map[string]interface{}

The tags of NAT gateway.

VpcId string

The ID of the VPC.

gateways List<GetNatGatewaysGateway>

A list of Nat gateways. Each element contains the following attributes:

id String

The provider-assigned unique ID for this managed resource.

ids List<String>

(Optional) A list of Nat gateways IDs.

names List<String>

A list of Nat gateways names.

totalCount Integer
dryRun Boolean
enableDetails Boolean
nameRegex String
natGatewayName String

The name of the NAT gateway.

natType String

The type of the NAT gateway.

outputFile String
pageNumber Integer
pageSize Integer
paymentType String

The billing method of the NAT gateway.

resourceGroupId String

The ID of the resource group.

specification String

The specification of the NAT gateway.

status String

The status of the NAT gateway.

tags Map<String,Object>

The tags of NAT gateway.

vpcId String

The ID of the VPC.

gateways GetNatGatewaysGateway[]

A list of Nat gateways. Each element contains the following attributes:

id string

The provider-assigned unique ID for this managed resource.

ids string[]

(Optional) A list of Nat gateways IDs.

names string[]

A list of Nat gateways names.

totalCount number
dryRun boolean
enableDetails boolean
nameRegex string
natGatewayName string

The name of the NAT gateway.

natType string

The type of the NAT gateway.

outputFile string
pageNumber number
pageSize number
paymentType string

The billing method of the NAT gateway.

resourceGroupId string

The ID of the resource group.

specification string

The specification of the NAT gateway.

status string

The status of the NAT gateway.

tags {[key: string]: any}

The tags of NAT gateway.

vpcId string

The ID of the VPC.

gateways Sequence[GetNatGatewaysGateway]

A list of Nat gateways. Each element contains the following attributes:

id str

The provider-assigned unique ID for this managed resource.

ids Sequence[str]

(Optional) A list of Nat gateways IDs.

names Sequence[str]

A list of Nat gateways names.

total_count int
dry_run bool
enable_details bool
name_regex str
nat_gateway_name str

The name of the NAT gateway.

nat_type str

The type of the NAT gateway.

output_file str
page_number int
page_size int
payment_type str

The billing method of the NAT gateway.

resource_group_id str

The ID of the resource group.

specification str

The specification of the NAT gateway.

status str

The status of the NAT gateway.

tags Mapping[str, Any]

The tags of NAT gateway.

vpc_id str

The ID of the VPC.

gateways List<Property Map>

A list of Nat gateways. Each element contains the following attributes:

id String

The provider-assigned unique ID for this managed resource.

ids List<String>

(Optional) A list of Nat gateways IDs.

names List<String>

A list of Nat gateways names.

totalCount Number
dryRun Boolean
enableDetails Boolean
nameRegex String
natGatewayName String

The name of the NAT gateway.

natType String

The type of the NAT gateway.

outputFile String
pageNumber Number
pageSize Number
paymentType String

The billing method of the NAT gateway.

resourceGroupId String

The ID of the resource group.

specification String

The specification of the NAT gateway.

status String

The status of the NAT gateway.

tags Map<Any>

The tags of NAT gateway.

vpcId String

The ID of the VPC.

Supporting Types

GetNatGatewaysGateway

BusinessStatus string

The state of the NAT gateway.

DeletionProtection bool

Indicates whether deletion protection is enabled.

Description string

The description of the NAT gateway.

EcsMetricEnabled bool

Indicates whether the traffic monitoring feature is enabled.

ExpiredTime string

The time when the NAT gateway expires.

ForwardTableIds List<string>

The ID of the DNAT table.

Id string

The ID of the NAT gateway.

InternetChargeType string

The metering method of the NAT gateway.

IpLists List<string>

The ip address of the bind eip.

Name string

Name of the NAT gateway.

NatGatewayId string

The ID of the NAT gateway.

NatGatewayName string

The name of NAT gateway.

NatType string

The nat type of NAT gateway. Valid values Enhanced and Normal.

NetworkType string

(Available in 1.137.0+) Indicates the type of the created NAT gateway. Valid values internet and intranet.

PaymentType string

The payment type of NAT gateway. Valid values PayAsYouGo and Subscription.

ResourceGroupId string

The resource group id of NAT gateway.

SnatTableIds List<string>

The ID of the SNAT table that is associated with the NAT gateway.

Spec string

The specification of the NAT gateway.

Specification string

The specification of NAT gateway. Valid values Middle, Large, Small and XLarge.1. Default value is Small.

Status string

The status of NAT gateway. Valid values Available, Converting, Creating, Deleting and Modifying.

Tags Dictionary<string, object>

The tags of NAT gateway.

VpcId string

The ID of the VPC.

VswitchId string

The ID of the vSwitch to which the NAT gateway belongs.

BusinessStatus string

The state of the NAT gateway.

DeletionProtection bool

Indicates whether deletion protection is enabled.

Description string

The description of the NAT gateway.

EcsMetricEnabled bool

Indicates whether the traffic monitoring feature is enabled.

ExpiredTime string

The time when the NAT gateway expires.

ForwardTableIds []string

The ID of the DNAT table.

Id string

The ID of the NAT gateway.

InternetChargeType string

The metering method of the NAT gateway.

IpLists []string

The ip address of the bind eip.

Name string

Name of the NAT gateway.

NatGatewayId string

The ID of the NAT gateway.

NatGatewayName string

The name of NAT gateway.

NatType string

The nat type of NAT gateway. Valid values Enhanced and Normal.

NetworkType string

(Available in 1.137.0+) Indicates the type of the created NAT gateway. Valid values internet and intranet.

PaymentType string

The payment type of NAT gateway. Valid values PayAsYouGo and Subscription.

ResourceGroupId string

The resource group id of NAT gateway.

SnatTableIds []string

The ID of the SNAT table that is associated with the NAT gateway.

Spec string

The specification of the NAT gateway.

Specification string

The specification of NAT gateway. Valid values Middle, Large, Small and XLarge.1. Default value is Small.

Status string

The status of NAT gateway. Valid values Available, Converting, Creating, Deleting and Modifying.

Tags map[string]interface{}

The tags of NAT gateway.

VpcId string

The ID of the VPC.

VswitchId string

The ID of the vSwitch to which the NAT gateway belongs.

businessStatus String

The state of the NAT gateway.

deletionProtection Boolean

Indicates whether deletion protection is enabled.

description String

The description of the NAT gateway.

ecsMetricEnabled Boolean

Indicates whether the traffic monitoring feature is enabled.

expiredTime String

The time when the NAT gateway expires.

forwardTableIds List<String>

The ID of the DNAT table.

id String

The ID of the NAT gateway.

internetChargeType String

The metering method of the NAT gateway.

ipLists List<String>

The ip address of the bind eip.

name String

Name of the NAT gateway.

natGatewayId String

The ID of the NAT gateway.

natGatewayName String

The name of NAT gateway.

natType String

The nat type of NAT gateway. Valid values Enhanced and Normal.

networkType String

(Available in 1.137.0+) Indicates the type of the created NAT gateway. Valid values internet and intranet.

paymentType String

The payment type of NAT gateway. Valid values PayAsYouGo and Subscription.

resourceGroupId String

The resource group id of NAT gateway.

snatTableIds List<String>

The ID of the SNAT table that is associated with the NAT gateway.

spec String

The specification of the NAT gateway.

specification String

The specification of NAT gateway. Valid values Middle, Large, Small and XLarge.1. Default value is Small.

status String

The status of NAT gateway. Valid values Available, Converting, Creating, Deleting and Modifying.

tags Map<String,Object>

The tags of NAT gateway.

vpcId String

The ID of the VPC.

vswitchId String

The ID of the vSwitch to which the NAT gateway belongs.

businessStatus string

The state of the NAT gateway.

deletionProtection boolean

Indicates whether deletion protection is enabled.

description string

The description of the NAT gateway.

ecsMetricEnabled boolean

Indicates whether the traffic monitoring feature is enabled.

expiredTime string

The time when the NAT gateway expires.

forwardTableIds string[]

The ID of the DNAT table.

id string

The ID of the NAT gateway.

internetChargeType string

The metering method of the NAT gateway.

ipLists string[]

The ip address of the bind eip.

name string

Name of the NAT gateway.

natGatewayId string

The ID of the NAT gateway.

natGatewayName string

The name of NAT gateway.

natType string

The nat type of NAT gateway. Valid values Enhanced and Normal.

networkType string

(Available in 1.137.0+) Indicates the type of the created NAT gateway. Valid values internet and intranet.

paymentType string

The payment type of NAT gateway. Valid values PayAsYouGo and Subscription.

resourceGroupId string

The resource group id of NAT gateway.

snatTableIds string[]

The ID of the SNAT table that is associated with the NAT gateway.

spec string

The specification of the NAT gateway.

specification string

The specification of NAT gateway. Valid values Middle, Large, Small and XLarge.1. Default value is Small.

status string

The status of NAT gateway. Valid values Available, Converting, Creating, Deleting and Modifying.

tags {[key: string]: any}

The tags of NAT gateway.

vpcId string

The ID of the VPC.

vswitchId string

The ID of the vSwitch to which the NAT gateway belongs.

business_status str

The state of the NAT gateway.

deletion_protection bool

Indicates whether deletion protection is enabled.

description str

The description of the NAT gateway.

ecs_metric_enabled bool

Indicates whether the traffic monitoring feature is enabled.

expired_time str

The time when the NAT gateway expires.

forward_table_ids Sequence[str]

The ID of the DNAT table.

id str

The ID of the NAT gateway.

internet_charge_type str

The metering method of the NAT gateway.

ip_lists Sequence[str]

The ip address of the bind eip.

name str

Name of the NAT gateway.

nat_gateway_id str

The ID of the NAT gateway.

nat_gateway_name str

The name of NAT gateway.

nat_type str

The nat type of NAT gateway. Valid values Enhanced and Normal.

network_type str

(Available in 1.137.0+) Indicates the type of the created NAT gateway. Valid values internet and intranet.

payment_type str

The payment type of NAT gateway. Valid values PayAsYouGo and Subscription.

resource_group_id str

The resource group id of NAT gateway.

snat_table_ids Sequence[str]

The ID of the SNAT table that is associated with the NAT gateway.

spec str

The specification of the NAT gateway.

specification str

The specification of NAT gateway. Valid values Middle, Large, Small and XLarge.1. Default value is Small.

status str

The status of NAT gateway. Valid values Available, Converting, Creating, Deleting and Modifying.

tags Mapping[str, Any]

The tags of NAT gateway.

vpc_id str

The ID of the VPC.

vswitch_id str

The ID of the vSwitch to which the NAT gateway belongs.

businessStatus String

The state of the NAT gateway.

deletionProtection Boolean

Indicates whether deletion protection is enabled.

description String

The description of the NAT gateway.

ecsMetricEnabled Boolean

Indicates whether the traffic monitoring feature is enabled.

expiredTime String

The time when the NAT gateway expires.

forwardTableIds List<String>

The ID of the DNAT table.

id String

The ID of the NAT gateway.

internetChargeType String

The metering method of the NAT gateway.

ipLists List<String>

The ip address of the bind eip.

name String

Name of the NAT gateway.

natGatewayId String

The ID of the NAT gateway.

natGatewayName String

The name of NAT gateway.

natType String

The nat type of NAT gateway. Valid values Enhanced and Normal.

networkType String

(Available in 1.137.0+) Indicates the type of the created NAT gateway. Valid values internet and intranet.

paymentType String

The payment type of NAT gateway. Valid values PayAsYouGo and Subscription.

resourceGroupId String

The resource group id of NAT gateway.

snatTableIds List<String>

The ID of the SNAT table that is associated with the NAT gateway.

spec String

The specification of the NAT gateway.

specification String

The specification of NAT gateway. Valid values Middle, Large, Small and XLarge.1. Default value is Small.

status String

The status of NAT gateway. Valid values Available, Converting, Creating, Deleting and Modifying.

tags Map<Any>

The tags of NAT gateway.

vpcId String

The ID of the VPC.

vswitchId String

The ID of the vSwitch to which the NAT gateway belongs.

Package Details

Repository
Alibaba Cloud pulumi/pulumi-alicloud
License
Apache-2.0
Notes

This Pulumi package is based on the alicloud Terraform Provider.