Updated on 2022-02-22 GMT+08:00

NAT.SNatRule

Element Description

The NAT.SNatRule element is used to create a source NAT rule, which specifies the network segment for accessing the external network.

Element Properties

Table 1 Property Description

Property

Mandatory

Descripiton

subnetId

Yes

ID of the subnet to which the SNatRule belongs

Type: Cloud.VPC.Subnet.Id

Description: You can obtain a subnet ID from the VPC console or connect to the SNatRule.Subnet to automatically generate one.

Value Constraint: The value must satisfy the UUID rule and contain a maximum of 64 characters.

Suggestion: 1. Use the get_input function to set this field, and then the value can be automatically selected on the AOS console. 2. Connect to a subnet and use the get_reference function to obtain the subnet ID.

floatingIpId

Yes

User EIP ID

Type: Cloud.VPC.EIP.Id

Value Description: Use the ID of an existing or new public elastic IP address.

Suggestion: 1. Use the get_attribute function to obtain the ID of the elastic public IP address created by the template. 2. On the public elastic IP address page, obtain the ID of the created IP address.

natGatewayId

Yes

ID of the NAT gateway

Type: string

Value Description: Obtain the NAT gateway ID from the NAT service or put SNatRule in NatGateWay to obtain the NAT gateway ID.

Value Constraint: The value must satisfy the UUID rule and contain a maximum of 64 characters.

Suggestion: 1. Use the get_input function to set this field, and then the value can be automatically selected on the AOS console. 2. Put SNatRule in NatGateWay and use the get_reference function to obtain the NAT gateway ID.

Relationships Between Elements

Table 2 Relationship description

Description

Target

Connected

VPC.Subnet

Inclusion

NAT.Instance

Connected

VPC.EIP

Return Value

Property

Type

Description

refID

string

NAT sNatRule ID

Blueprint Example

tosca_definitions_version: cloud_tosca_version_1_0
node_templates:
  nat:
    type: Cloud.NAT.Instance
    properties:
      subnetId:
        get_input: nat_subnetId
      flavor: small
      vpcId:
        get_input: nat_vpcId
      name:
        get_input: nat_name
  snatrule:
    type: Cloud.NAT.SNatRule
    properties:
      subnetId:
        get_input: snatrule_subnetId
      floatingIpId:
        get_input: snatrule_floatingIpId
      natGatewayId:
        get_reference: nat
    requirements:
      - natGatewayId:
          node: nat
inputs:
  nat_subnetId:
    description: ID of the subnet to which the NAT gateway belongs
    label: ''
  nat_vpcId:
    description: ID of the VPC to which the NAT gateway belongs
    label: ''
  nat_name:
    description: NAT name
    label: ''
  snatrule_subnetId:
    description: ID of the subnet to which the source NAT rule belongs
    label: ''
  snatrule_floatingIpId:
    description: ID of the user's elastic IP address
    label: ''