All Products
Search
Document Center

Resource Orchestration Service:DATASOURCE::VPC::NatGateway

Last Updated:Oct 14, 2024

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:

  • Never (default): does not refresh data source resources when the stack is updated.

  • Always: refreshes data source resources when the stack is updated.

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"
        ]
      }
    }
  }
}