github.com/chnsz/golangsdk@v0.0.0-20240506093406-85a3fbfa605b/openstack/nat/v2/dnats/results.go (about)

     1  package dnats
     2  
     3  // Rule is a struct that represents the DNAT rule detail.
     4  type Rule struct {
     5  	// The ID of the DNAT rule.
     6  	ID string `json:"id"`
     7  	// The project ID.
     8  	TenantId string `json:"tenant_id"`
     9  	// The description of the DNAT rule.
    10  	Description string `json:"description"`
    11  	// The port ID of network.
    12  	PortId string `json:"port_id"`
    13  	// The private IP address of a user.
    14  	PrivateIp string `json:"private_ip"`
    15  	// The ID of the gateway to which the DNAT rule belongs.
    16  	GatewayId string `json:"nat_gateway_id"`
    17  	// The IDs of floating IP connected by DNAT rule.
    18  	FloatingIpId string `json:"floating_ip_id"`
    19  	// The floating IP address connected by DNAT rule.
    20  	FloatingIpAddress string `json:"floating_ip_address"`
    21  	// The ID of the global EIP connected by the DNAT rule.
    22  	GlobalEipId string `json:"global_eip_id"`
    23  	// The global EIP address connected by the DNAT rule.
    24  	GlobalEipAddress string `json:"global_eip_address"`
    25  	// The current status of the DNAT rule.
    26  	Status string `json:"status"`
    27  	// The frozen status.
    28  	AdminStateUp bool `json:"admin_state_up"`
    29  	// The port used by Floating IP provide services for external systems.
    30  	InternalServicePort int `json:"internal_service_port"`
    31  	// The port used by ECSs or BMSs to provide services for external systems.
    32  	ExternalServicePort int `json:"external_service_port"`
    33  	// The port range used by Floating IP provide services for external systems.
    34  	InternalServicePortRange string `json:"internal_service_port_range"`
    35  	// The port range used by ECSs or BMSs to provide services for external systems.
    36  	EXternalServicePortRange string `json:"external_service_port_range"`
    37  	// The protocol type. The valid values are 'udp', 'tcp' and 'any'.
    38  	Protocol string `json:"protocol"`
    39  	// The creation time of the dnat rule.
    40  	CreatedAt string `json:"created_at"`
    41  }
    42  
    43  type createResp struct {
    44  	// The DNAT rule detail.
    45  	Rule Rule `json:"dnat_rule"`
    46  }
    47  
    48  type queryResp struct {
    49  	// The DNAT rule detail.
    50  	Rule Rule `json:"dnat_rule"`
    51  }
    52  
    53  type updateResp struct {
    54  	// The DNAT rule detail.
    55  	Rule Rule `json:"dnat_rule"`
    56  }