nat

package
v0.0.1-test Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 25, 2025 License: MPL-2.0 Imports: 27 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewCtyunDNats

func NewCtyunDNats() datasource.DataSource

func NewCtyunDnatResource

func NewCtyunDnatResource() resource.Resource

func NewCtyunNatResource

func NewCtyunNatResource() resource.Resource

func NewCtyunNats

func NewCtyunNats() datasource.DataSource

func NewCtyunSNats

func NewCtyunSNats() datasource.DataSource

func NewCtyunSnatResource

func NewCtyunSnatResource() resource.Resource

Types

type CtyunDNatConfig

type CtyunDNatConfig struct {
	RegionID     types.String     `tfsdk:"region_id"`
	NatGateWayID types.String     `tfsdk:"nat_gateway_id"`
	Dnats        []CtyunDNatModel `tfsdk:"dnats"`
}

type CtyunDNatModel

type CtyunDNatModel struct {
	CreateTime                types.String `tfsdk:"create_time"`                  //创建时间
	Description               types.String `tfsdk:"description"`                  //描述信息
	ID                        types.String `tfsdk:"id"`                           //dnatID 值
	DNatID                    types.String `tfsdk:"dnat_id"`                      //dnatID 值
	IpExpireTime              types.String `tfsdk:"ip_expire_time"`               //ip到期时间
	ExtendID                  types.String `tfsdk:"extend_id"`                    //弹性 IP id
	ExternalIp                types.String `tfsdk:"external_ip"`                  //弹性 IP 地址
	ExternalPort              types.Int64  `tfsdk:"external_port"`                //外部访问端口
	InternalPort              types.Int64  `tfsdk:"internal_port"`                //内部访问端口
	InternalIP                types.String `tfsdk:"internal_ip"`                  //内网 IP 地址
	Protocol                  types.String `tfsdk:"protocol"`                     //TCP:转发TCP协议的报文 UDP:转发UDP协议的报文
	State                     types.String `tfsdk:"state"`                        //运行状态: ACTIVE / FREEZING / CREATING
	VirtualMachineDisplayName types.String `tfsdk:"virtual_machine_display_name"` //虚拟机展示名称
	VirtualMachineId          types.String `tfsdk:"instance_id"`                  //虚拟机id
	VirtualMachineName        types.String `tfsdk:"virtual_machine_name"`         //虚拟机名称
}

type CtyunDnatConfig

type CtyunDnatConfig struct {
	ID           types.String `tfsdk:"id"`
	RegionID     types.String `tfsdk:"region_id"`      //区域id
	NatGatewayID types.String `tfsdk:"nat_gateway_id"` //要查询的私网NAT的ID
	DNatID       types.String `tfsdk:"dnat_id"`        //DNAT规则的ID
	ExternalID   types.String `tfsdk:"external_id"`    //中转IP ID
	ExternalIP   types.String `tfsdk:"external_ip"`    //中转IP
	ExternalPort types.Int32  `tfsdk:"external_port"`  //外部端口
	InternalIP   types.String `tfsdk:"internal_ip"`    //内部IP
	InternalPort types.Int32  `tfsdk:"internal_port"`  //内部端口
	Protocol     types.String `tfsdk:"protocol"`       //协议: tcp/udp
	State        types.String `tfsdk:"state"`          //DNAT状态: running代表运行中, freeze代表已冻结, expired代表已到期
	Description  types.String `tfsdk:"description"`    //描述
	InstanceID   types.String `tfsdk:"instance_id"`
	DnatType     types.String `tfsdk:"dnat_type"`
	ServerType   types.String `tfsdk:"server_type"`    //当 virtualMachineType 为 1 时,serverType 必传,支持: VM / BM (仅支持大写)
	CreatedAt    types.String `tfsdk:"created_at"`     //创建时间
	IpExpireTime types.String `tfsdk:"ip_expire_time"` //ip到期时间
}

type CtyunNatConfig

type CtyunNatConfig struct {
	ID              types.String `tfsdk:"id"`
	RegionID        types.String `tfsdk:"region_id"`         //区域id
	VpcID           types.String `tfsdk:"vpc_id"`            //需要创建 NAT 网关的 VPC 的 ID
	Spec            types.Int32  `tfsdk:"spec"`              //规格 1~4, 1表示小型, 2表示中型, 3表示大型, 4表示超大型
	Name            types.String `tfsdk:"name"`              //支持拉丁字母、中文、数字,下划线,连字符,中文 / 英文字母开头,不能以 http: / https: 开头,长度 2 - 32
	Description     types.String `tfsdk:"description"`       //支持拉丁字母、中文、数p字, 特殊字符:~!@#$%^&*()_-+= <>?:,'{},.,/;'[]·~!@#¥%……&*() ——-+={}
	CycleType       types.String `tfsdk:"cycle_type"`        //订购类型:month(包月) / year(包年)/ on_demand(按需)
	CycleCount      types.Int64  `tfsdk:"cycle_count"`       //订购时长, 当 cycleType = month, 支持订购 1 - 11 个月; 当 cycleType = year, 支持订购 1 - 3 年
	AzName          types.String `tfsdk:"az_name"`           //可用区名称
	PayVoucherPrice types.String `tfsdk:"pay_voucher_price"` //代金券金额,支持到小数点后两位
	ProjectID       types.String `tfsdk:"project_id"`        //企业项目,不传默认为 0
	MasterOrderID   types.String `tfsdk:"master_order_id"`   //订单id
	NatGatewayID    types.String `tfsdk:"nat_gateway_id"`    //网关 ID
	VpcName         types.String `tfsdk:"vpc_name"`          //NAT所属的专有网络名字
	VpcCidr         types.String `tfsdk:"vpc_cidr"`          //当前网关所属的vpc cidr
	CreationTime    types.String `tfsdk:"creation_time"`     //NAT网关的创建时间
	ExpiredTime     types.String `tfsdk:"expired_time"`      //NAT网关实例的过期时间
}

type CtyunNatsConfig

type CtyunNatsConfig struct {
	RegionID     types.String     `tfsdk:"region_id"`      //区域id
	NatGatewayID types.String     `tfsdk:"nat_gateway_id"` //要查询的NAT网关的ID。
	PageNumber   types.Int32      `tfsdk:"page_number"`    //	列表的页码,默认值为1。
	PageNo       types.Int32      `tfsdk:"page_no"`        //列表的页码,默认值为 1, 推荐使用该字段, pageNumber 后续会废弃
	PageSize     types.Int32      `tfsdk:"page_size"`      //分页查询时每页的行数,最大值为50,默认值为10。
	Nats         []CtyunNatsModel `tfsdk:"nats"`           // 获取的nat列表
}

type CtyunNatsModel

type CtyunNatsModel struct {
	ID           types.String `tfsdk:"id"`             //nat网关id
	Name         types.String `tfsdk:"name"`           //nat网关名称
	Description  types.String `tfsdk:"description"`    //ctvpc 网关描述
	Status       types.Int32  `tfsdk:"status"`         //ctvpc 网关状态: 0 表示创建中,2 表示运行中,3 表示冻结
	NatGatewayID types.String `tfsdk:"nat_gateway_id"` //ctvpc 网关 id
	ZoneID       types.String `tfsdk:"zone_id"`        //可用区 ID
	State        types.String `tfsdk:"state"`          //NAT网关运行状态: running 表示运行中, creating 表示创建中, expired 表示已过期, freeze 表示已冻结
	VpcID        types.String `tfsdk:"vpc_id"`         //虚拟私有云 id
	VpcName      types.String `tfsdk:"vpc_name"`       //虚拟私有云名字
	ExpireTime   types.String `tfsdk:"expire_time"`    //过期时间
	CreationTime types.String `tfsdk:"creation_time"`  //创建时间
	ProjectID    types.String `tfsdk:"project_id"`     //项目 ID
}

type CtyunSNatsConfig

type CtyunSNatsConfig struct {
	RegionID     types.String      `tfsdk:"region_id"`      //区域id
	NatGateWayID types.String      `tfsdk:"nat_gateway_id"` //要查询的NAT网关的ID。
	SNatID       types.String      `tfsdk:"snat_id"`        // snat id
	SubNetID     types.String      `tfsdk:"subnet_id"`      // 子网id
	PageNumber   types.Int64       `tfsdk:"page_number"`    //	列表的页码,默认值为1。
	PageSize     types.Int64       `tfsdk:"page_size"`      //分页查询时每页的行数,最大值为50,默认值为10。
	Snats        []CtyunSNatsModel `tfsdk:"snats"`
}

type CtyunSNatsEipModel

type CtyunSNatsEipModel struct {
	EipID     types.String `tfsdk:"eip_id"`     //弹性 IP id
	IpAddress types.String `tfsdk:"ip_address"` //弹性 IP 地址
}

type CtyunSNatsModel

type CtyunSNatsModel struct {
	SNatID       types.String         `tfsdk:"snat_id"`        //snat id
	Description  types.String         `tfsdk:"description"`    //描述信息
	SubNetCidr   types.String         `tfsdk:"subnet_cidr"`    //要查询的NAT网关所属VPC子网的cidr
	SubNetType   types.Int32          `tfsdk:"subnet_type"`    //子网类型:1-有vpcID的子网,0-自定义
	CreationTime types.String         `tfsdk:"creation_time"`  //创建时间
	Eips         []CtyunSNatsEipModel `tfsdk:"eips"`           //绑定的 eip 信息
	SubnetID     types.String         `tfsdk:"subnet_id"`      //子网 ID
	NatGatewayID types.String         `tfsdk:"nat_gateway_id"` //ctvpc 网关 ID
}

type CtyunSnatConfig

type CtyunSnatConfig struct {
	ID             types.String `tfsdk:"id"`
	RegionID       types.String `tfsdk:"region_id"`        //区域id
	NatGatewayID   types.String `tfsdk:"nat_gateway_id"`   //NAT网关ID
	SourceSubnetID types.String `tfsdk:"source_subnet_id"` //子网id,【非自定义情况必传 sourceCIDR和sourceSubnetID二选一必传】| 5fe30709-93ef-522f-a1a0-d8c8f6803e0d
	SourceCIDR     types.String `tfsdk:"source_cidr"`      //自定义输入VPC、交换机或ECS实例的网段,还可以输入任意网段。【自定义子网信息必传】】
	SnatIps        types.Set    `tfsdk:"snat_ips"`         //弹性公网IP集合
	Description    types.String `tfsdk:"description"`      //支持拉丁字母、中文、数字, 特殊字符:~!@#$%^&()_-+= <>?:"{},./;'[]·~!@#¥%……&() ——-+={}
	SNatID         types.String `tfsdk:"snat_id"`          //snat id
	SubnetType     types.Int32  `tfsdk:"subnet_type"`      //子网类型:1-有vpcID的子网,0-自定义
	CreateTime     types.String `tfsdk:"create_time"`      //创建时间
	Eips           types.List   `tfsdk:"eips"`             //绑定的 eip 信息
}

type CtyunSnatEipsList

type CtyunSnatEipsList struct {
	EipID     types.String `tfsdk:"eip_id"`     //弹性 IP id
	IpAddress types.String `tfsdk:"ip_address"` //弹性 IP 地址
}

type DnatLoopCreateResponse

type DnatLoopCreateResponse struct {
	DNatID types.String
	Status types.String
}

type LoopOrderResponse

type LoopOrderResponse struct {
	NatGatewayId         types.String
	MasterOrderId        types.String // 主订单id
	MasterOrderNO        types.String
	MasterResourceStatus types.String
	MasterResourceID     types.String
	RegionID             types.String
}

type SNatLoopCreateResponse

type SNatLoopCreateResponse struct {
	SNatID types.String
	Status types.String
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL