github.com/chnsz/golangsdk@v0.0.0-20240506093406-85a3fbfa605b/openstack/nat/v3/gateways/results.go (about) 1 package gateways 2 3 import "github.com/chnsz/golangsdk/openstack/common/tags" 4 5 // Gateway is the structure represents the private NAT gateway details. 6 type Gateway struct { 7 // The ID of the private NAT gateway. 8 ID string `json:"id"` 9 // The project ID to which the private NAT gateway belongs. 10 ProjectId string `json:"project_id"` 11 // The name of the private NAT gateway. 12 // The valid length is limited from `1` to `64`, only letters, digits, hyphens (-) and underscores (_) are allowed. 13 Name string `json:"name"` 14 // The description of the private NAT gateway, which contain maximum of `255` characters, and 15 // angle brackets (<) and (>) are not allowed. 16 Description string `json:"description"` 17 // The specification of the private NAT gateway. 18 // The valid values are as follows: 19 // + **Small**: Small type, which supports up to `20` rules, `200 Mbit/s` bandwidth, `20,000` PPS and `2,000` SNAT 20 // connections. 21 // + **Medium**: Medium type, which supports up to `50` rules, `500 Mbit/s` bandwidth, `50,000` PPS and `5,000` SNAT 22 // connections. 23 // + **Large**: Large type, which supports up to `200` rules, `2 Gbit/s` bandwidth, `200,000` PPS and `20,000` SNAT 24 // connections. 25 // + **Extra-Large**: Extra-large type, which supports up to `500` rules, `5 Gbit/s` bandwidth, `500,000` PPS and 26 // `50,000` SNAT connections. 27 Spec string `json:"spec"` 28 // The current status of the private NAT gateway. 29 Status string `json:"status"` 30 // The creation time of the private NAT gateway. 31 CreatedAt string `json:"created_at"` 32 // The latest update time of the private NAT gateway. 33 UpdatedAt string `json:"updated_at"` 34 // The VPC configuration of the private NAT gateway. 35 DownLinkVpcs []DownLinkVpcResp `json:"downlink_vpcs"` 36 // The key/value pairs to associate with the NAT geteway. 37 Tags []tags.ResourceTag `json:"tags"` 38 // The enterprise project ID to which the private NAT gateway belongs. 39 EnterpriseProjectId string `json:"enterprise_project_id"` 40 } 41 42 // DownLinkVpcResp is an object that represents the VPC configuration to which private NAT gateway belongs. 43 type DownLinkVpcResp struct { 44 // The subnet ID to which the private NAT gateway belongs. 45 SubnetId string `json:"virsubnet_id"` 46 // The VPC ID to which the private NAT gateway belongs. 47 VpcId string `json:"vpc_id"` 48 } 49 50 type createResp struct { 51 // The gateway detail. 52 Gateway Gateway `json:"gateway"` 53 } 54 55 type queryResp struct { 56 // The gateway detail. 57 Gateway Gateway `json:"gateway"` 58 } 59 60 type updateResp struct { 61 // The gateway detail. 62 Gateway Gateway `json:"gateway"` 63 }