DATASOURCE::VPC::NatGateway is used to query the information about a NAT gateway.
Syntax
{
"Type": "DATASOURCE::VPC::NatGateway",
"Properties": {
"NatGatewayId": String,
"RefreshOptions": String
}
}
Properties
Property | Type | Required | Editable | Description | Constraint |
NatGatewayId | String | Yes | Yes | The ID of the NAT gateway. | None. |
RefreshOptions | String | No | Yes | The refresh policy for data source resources when the stack is updated. | Valid values:
|
Return values
Fn::GetAtt
Description: the description of the NAT gateway.
NatGatewayName: the name of the NAT gateway.
EipBindMode: the mode in which the NAT gateway is associated with an elastic IP address (EIP).
ForwardTableIds: the ID of the DNAT table.
CreateTime: the time when the NAT gateway was created.
IpLists: the IP addresses of the NAT gateway.
SecurityProtectionEnabled: indicates whether the firewall feature is enabled.
DeletionProtection: indicates whether the deletion protection feature is enabled.
AutoPay: indicates whether the automatic payment feature is enabled.
BusinessStatus: the service status of the NAT gateway.
NatType: the type of the NAT gateway.
InternetChargeType: the billing method of the NAT gateway.
NatGatewayPrivateInfo: the private network information about the enhanced Internet NAT gateway.
VpcId: the ID of the virtual private cloud (VPC) in which the NAT gateway is deployed.
SnatTableIds: the ID of the SNAT table.
NetworkType: the type of the NAT gateway.
ExpiredTime: the time when the NAT gateway expires.
IcmpReplyEnabled: indicates whether the Internet Control Message Protocol (ICMP) non-retrieval feature is enabled.
PaymentType: the billing method of the NAT gateway.
Spec: the specifications of the Internet NAT gateway.
NatGatewayId: the ID of the NAT gateway.
Examples
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
NatGatewayId:
Type: String
Description:
en: The ID of the NAT gateway.
Required: true
Resources:
ExtensionDataSource:
Type: DATASOURCE::VPC::NatGateway
Properties:
NatGatewayId:
Ref: NatGatewayId
Outputs:
Description:
Description: The description of the NAT gateway.
Value:
Fn::GetAtt:
- ExtensionDataSource
- Description
NatGatewayName:
Description: The name of the NAT gateway. The name must be 1 to 128 characters in length, and cannot start with http:// or https://. If this parameter is not set, the system automatically assigns a name to the NAT gateway.
Value:
Fn::GetAtt:
- ExtensionDataSource
- NatGatewayName
EipBindMode:
Description: |-
The mode in which the NAT gateway is associated with an elastic IP address (EIP). Valid values:
* MULTI_BINDED: multi-EIP-to-ENI mode* NAT: NAT mode, which is compatible with IPv4 addresses.
Value:
Fn::GetAtt:
- ExtensionDataSource
- EipBindMode
ForwardTableIds:
Description: The ID of the Destination Network Address Translation (DNAT) table.
Value:
Fn::GetAtt:
- ExtensionDataSource
- ForwardTableIds
CreateTime:
Description: The time when the NAT gateway was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.
Value:
Fn::GetAtt:
- ExtensionDataSource
- CreateTime
IpLists:
Description: The list of elastic IP addresses (EIPs) that are associated with the Internet NAT gateway.
Value:
Fn::GetAtt:
- ExtensionDataSource
- IpLists
SecurityProtectionEnabled:
Description: |-
Indicates whether the firewall feature is enabled. Valid values:
false: no
true: yes
Value:
Fn::GetAtt:
- ExtensionDataSource
- SecurityProtectionEnabled
DeletionProtection:
Description: |-
Indicates whether the deletion protection feature is enabled. Valid values:
* true: yes
* false: no
Value:
Fn::GetAtt:
- ExtensionDataSource
- DeletionProtection
AutoPay:
Description: |-
Indicates whether automatic payment is enabled. Valid values:
* false: no
true: yes
Value:
Fn::GetAtt:
- ExtensionDataSource
- AutoPay
BusinessStatus:
Description: |-
The status of the NAT gateway. Valid values:
* Normal: normal
* FinancialLocked: locked due to overdue payments
Value:
Fn::GetAtt:
- ExtensionDataSource
- BusinessStatus
NatType:
Description: The type of the NAT gateway. The value is set to Enhanced (enhanced NAT gateway).
Value:
Fn::GetAtt:
- ExtensionDataSource
- NatType
InternetChargeType:
Description: |-
The metering method of the NAT gateway. Valid values:
* PayBySpec: pay-by-specification
* PayByLcu: pay-by-CU
Value:
Fn::GetAtt:
- ExtensionDataSource
- InternetChargeType
NatGatewayPrivateInfo:
Description: The private network information about the enhanced Internet NAT gateway.
Value:
Fn::GetAtt:
- ExtensionDataSource
- NatGatewayPrivateInfo
VpcId:
Description: The ID of the VPC where the NAT gateway is deployed.
Value:
Fn::GetAtt:
- ExtensionDataSource
- VpcId
SnatTableIds:
Description: The ID of the SNAT table of the NAT gateway.
Value:
Fn::GetAtt:
- ExtensionDataSource
- SnatTableIds
NetworkType:
Description: |-
The type of NAT gateway. Valid values:
* internet: an Internet NAT gateway
* intranet: a VPC NAT gateway
Value:
Fn::GetAtt:
- ExtensionDataSource
- NetworkType
ExpiredTime:
Description: The time when the NAT gateway expires.
Value:
Fn::GetAtt:
- ExtensionDataSource
- ExpiredTime
IcmpReplyEnabled:
Description: |-
Indicates whether the ICMP non-retrieval feature is enabled. Valid values:
* true: yes
* false: no
Value:
Fn::GetAtt:
- ExtensionDataSource
- IcmpReplyEnabled
PaymentType:
Description: 'The billing method of the NAT gateway. Valid values: PrePaid: subscription PostPaid: pay-as-you-go.'
Value:
Fn::GetAtt:
- ExtensionDataSource
- PaymentType
Spec:
Description: The size of the NAT gateway. An empty value is returned for the parameter. If InternetChargeType is set to PayByLcu, an empty value is returned.
Value:
Fn::GetAtt:
- ExtensionDataSource
- Spec
NatGatewayId:
Description: The ID of the NAT gateway.
Value:
Fn::GetAtt:
- ExtensionDataSource
- NatGatewayId
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"NatGatewayId": {
"Type": "String",
"Description": {
"en": "The ID of the NAT gateway."
},
"Required": true
}
},
"Resources": {
"ExtensionDataSource": {
"Type": "DATASOURCE::VPC::NatGateway",
"Properties": {
"NatGatewayId": {
"Ref": "NatGatewayId"
}
}
}
},
"Outputs": {
"Description": {
"Description": "The description of the NAT gateway.",
"Value": {
"Fn::GetAtt": [
"ExtensionDataSource",
"Description"
]
}
},
"NatGatewayName": {
"Description": "The name of the NAT gateway. The name must be 1 to 128 characters in length, and cannot start with http:// or https://. If this parameter is not set, the system automatically assigns a name to the NAT gateway.",
"Value": {
"Fn::GetAtt": [
"ExtensionDataSource",
"NatGatewayName"
]
}
},
"EipBindMode": {
"Description": "The mode in which the NAT gateway is associated with an elastic IP address (EIP). Valid values:\n* MULTI_BINDED: multi-EIP-to-ENI mode* NAT: NAT mode, which is compatible with IPv4 addresses.",
"Value": {
"Fn::GetAtt": [
"ExtensionDataSource",
"EipBindMode"
]
}
},
"ForwardTableIds": {
"Description": "The ID of the Destination Network Address Translation (DNAT) table.",
"Value": {
"Fn::GetAtt": [
"ExtensionDataSource",
"ForwardTableIds"
]
}
},
"CreateTime": {
"Description": "The time when the NAT gateway was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.",
"Value": {
"Fn::GetAtt": [
"ExtensionDataSource",
"CreateTime"
]
}
},
"IpLists": {
"Description": "The list of elastic IP addresses (EIPs) that are associated with the Internet NAT gateway.",
"Value": {
"Fn::GetAtt": [
"ExtensionDataSource",
"IpLists"
]
}
},
"SecurityProtectionEnabled": {
"Description": "Indicates whether the firewall feature is enabled. Valid values:\nfalse: no\ntrue: yes",
"Value": {
"Fn::GetAtt": [
"ExtensionDataSource",
"SecurityProtectionEnabled"
]
}
},
"DeletionProtection": {
"Description": "Indicates whether the deletion protection feature is enabled. Valid values:\n* true: yes\n* false: no",
"Value": {
"Fn::GetAtt": [
"ExtensionDataSource",
"DeletionProtection"
]
}
},
"AutoPay": {
"Description": "Indicates whether automatic payment is enabled. Valid values:\n* false: no\ntrue: yes",
"Value": {
"Fn::GetAtt": [
"ExtensionDataSource",
"AutoPay"
]
}
},
"BusinessStatus": {
"Description": "The status of the NAT gateway. Valid values:\n* Normal: normal\n* FinancialLocked: locked due to overdue payments",
"Value": {
"Fn::GetAtt": [
"ExtensionDataSource",
"BusinessStatus"
]
}
},
"NatType": {
"Description": "The type of the NAT gateway. The value is set to Enhanced (enhanced NAT gateway).",
"Value": {
"Fn::GetAtt": [
"ExtensionDataSource",
"NatType"
]
}
},
"InternetChargeType": {
"Description": "The metering method of the NAT gateway. Valid values:\n* PayBySpec: pay-by-specification\n* PayByLcu: pay-by-CU",
"Value": {
"Fn::GetAtt": [
"ExtensionDataSource",
"InternetChargeType"
]
}
},
"NatGatewayPrivateInfo": {
"Description": "The private network information about the enhanced Internet NAT gateway.",
"Value": {
"Fn::GetAtt": [
"ExtensionDataSource",
"NatGatewayPrivateInfo"
]
}
},
"VpcId": {
"Description": "The ID of the VPC where the NAT gateway is deployed.",
"Value": {
"Fn::GetAtt": [
"ExtensionDataSource",
"VpcId"
]
}
},
"SnatTableIds": {
"Description": "The ID of the SNAT table of the NAT gateway.",
"Value": {
"Fn::GetAtt": [
"ExtensionDataSource",
"SnatTableIds"
]
}
},
"NetworkType": {
"Description": "The type of NAT gateway. Valid values:\n* internet: an Internet NAT gateway\n* intranet: a VPC NAT gateway",
"Value": {
"Fn::GetAtt": [
"ExtensionDataSource",
"NetworkType"
]
}
},
"ExpiredTime": {
"Description": "The time when the NAT gateway expires.",
"Value": {
"Fn::GetAtt": [
"ExtensionDataSource",
"ExpiredTime"
]
}
},
"IcmpReplyEnabled": {
"Description": "Indicates whether the ICMP non-retrieval feature is enabled. Valid values:\n* true: yes\n* false: no",
"Value": {
"Fn::GetAtt": [
"ExtensionDataSource",
"IcmpReplyEnabled"
]
}
},
"PaymentType": {
"Description": "The billing method of the NAT gateway. Valid values: PrePaid: subscription PostPaid: pay-as-you-go.",
"Value": {
"Fn::GetAtt": [
"ExtensionDataSource",
"PaymentType"
]
}
},
"Spec": {
"Description": "The size of the NAT gateway. An empty value is returned for the parameter. If InternetChargeType is set to PayByLcu, an empty value is returned.",
"Value": {
"Fn::GetAtt": [
"ExtensionDataSource",
"Spec"
]
}
},
"NatGatewayId": {
"Description": "The ID of the NAT gateway.",
"Value": {
"Fn::GetAtt": [
"ExtensionDataSource",
"NatGatewayId"
]
}
}
}
}