Documentation
¶
Overview ¶
Use this data source to query instances types.
Example Usage ¶
```hcl data "zenlayercloud_bmc_instance_types" "foo" {
}
data "zenlayercloud_bmc_instance_types" "sel" { availability_zone = "SEL-A" instance_charge_type = "PREPAID" exclude_sold_out = true }
```
Use this data source to query DDoS IP instances.
Example Usage ¶
```hcl
data "zenlayercloud_bmc_ddos_ips" "foo" { availability_zone = "SEL-A" }
```
Use this data source to query eip instances.
Example Usage ¶
```hcl
data "zenlayercloud_bmc_eips" "foo" { availability_zone = "SEL-A" }
```
Use this data source to query images.
Example Usage ¶
```hcl
data "zenlayercloud_bmc_images" "foo" { catalog = "centos" instance_type_id = "S9I" }
```
Use this data source to query bmc instances.
Example Usage ¶
```hcl
data "zenlayercloud_bmc_instances" "foo" { availability_zone = "SEL-A" }
```
Use this data source to query vpc subnets information.
Example Usage ¶
```hcl
variable "availability_zone" { default = "SEL-A" }
resource "zenlayercloud_bmc_subnet" "foo" { availability_zone = var.availability_zone name = "subnet_test" cidr_block = "10.0.0.0/16" }
data "zenlayercloud_bmc_subnets" "id_subnets" { subnet_id = zenlayercloud_bmc_subnet.foo.id }
data "zenlayercloud_bmc_subnets" "name_subnets" { subnet_name = zenlayercloud_bmc_subnet.foo.name }
Use this data source to get the available regions for vpc.
Example Usage ¶
```hcl
data "zenlayercloud_bmc_vpc_regions" "sel-region" { availability_zone = "SEL-A" }
```
Use this data source to query vpc information.
Example Usage ¶
```hcl data "zenlayercloud_bmc_vpc_regions" "region" { }
resource "zenlayercloud_bmc_vpc" "foo" { region = data.zenlayercloud_bmc_vpc_regions.region.vpc_regions.0.region name = "test_vpc" cidr_block = "10.0.0.0/16" }
data "zenlayercloud_bmc_vpcs" "foo" { } ```
Use this data source to get all bmc available zones.
Example Usage ¶
```hcl data "zenlayercloud_bmc_zones" "all" { }
data "zenlayercloud_bmc_zones" "sel" { name_regex = "SEL*" }
```
Use this data source to query vm disk information.
Example Usage ¶
```hcl data "zenlayercloud_disks" "all" { }
filter system disk ¶
data "zenlayercloud_disks" "system_disk" { disk_type = "SYSTEM" }
#filter with name regex
data "zenlayercloud_disks" "name_disk" { name_regex = "disk20*" }
```
Use this data source to query images.
Example Usage ¶
```hcl
data "zenlayercloud_images" "foo" { availability_zone = "FRA-A" category = "CentOS" image_type = ["PUBLIC_IMAGE"] }
```
Use this data source to query instances type.
Example Usage ¶
```hcl data "zenlayercloud_instance_types" "foo" {
}
data "zenlayercloud_instance_types" "sel1c1g" { availability_zone = "SEL-A" cpu_count = 1 memory = 1 }
```
Use this data source to query SSH key pair list.
Example Usage ¶
```hcl data "zenlayercloud_key_pairs" "all" { }
data "zenlayercloud_key_pairs" "myname" { key_name = "myname" }
```
Use this data source to query cloud regions.
Example Usage ¶
```hcl
data "zenlayercloud_sdn_cloud_regions" "google_regions" { cloud_type = "GOOGLE" }
```
Use this data source to query layer 3 cloud routers.
Example Usage ¶
```hcl data "zenlayercloud_sdn_cloud_routers" "all" {
}
```
Use this data source to get all sdn data centers available.
Example Usage ¶
```hcl data "zenlayercloud_sdn_datacenters" "all" { }
data "zenlayercloud_sdn_datacenters" "sel" { name_regex = "SEL*" }
```
Use this data source to query datacenter ports.
Example Usage ¶
```hcl
data "zenlayercloud_sdn_ports" "foo" { datacenter = "SIN1" }
```
Use this data source to query layer 2 private connect.
Example Usage ¶
```hcl data "zenlayercloud_sdn_private_connects" "all" {
}
data "zenlayercloud_sdn_private_connects" "byIds" { connect_ids = ["xxxxxxx"] }
```
Use this data source to query detailed information of security groups.
Example Usage ¶
```hcl data "zenlayercloud_security_groups" "sg1" { }
data "zenlayercloud_security_groups" "sg2" { name = "example_name" }
```
Use this data source to query subnets information.
Example Usage ¶
```hcl
variable "availability_zone" { default = "SEL-A" }
resource "zenlayercloud_subnet" "foo" { availability_zone = var.availability_zone name = "subnet_test" cidr_block = "10.0.0.0/24" }
filter by subnet id ¶
data "zenlayercloud_subnets" "id_subnets" { subnet_id = zenlayercloud_subnet.foo.id }
filter by subnet name ¶
data "zenlayercloud_subnets" "name_subnets" { subnet_name = zenlayercloud_subnet.foo.name }
```
Use this data source to get all zga available accelerate regions by origin_region_id.
Example Usage ```hcl
data "zenlayercloud_zga_origin_regions" "DE" { name_regex = "DE" } data "zenlayercloud_zga_accelerate_regions" "all" { origin_region_id = data.zenlayercloud_zga_origin_regions.DE.regions.0.id } data "zenlayercloud_zga_accelerate_regions" "FR" { origin_region_id = "FR" name_regex = "US*" }
```
Use this data source to get all zga accelerator.
Example Usage ```hcl data "zenlayercloud_zga_accelerators" "all" { } ```
Use this data source to get all zga certificates.
Example Usage ```hcl data "zenlayercloud_zga_certificates" "all" { } ```
Use this data source to get all zga available origin regions.
Example Usage ```hcl
data "zenlayercloud_zga_origin_regions" "all" { } data "zenlayercloud_zga_origin_regions" "fr" { name_regex = "FR*" }
```
Use this data source to get all vm available zones.
Example Usage ¶
```hcl data "zenlayercloud_zones" "all" { }
data "zenlayercloud_zones" "sel" { name_regex = "SEL*" }
```
The ZenlayerCloud provider is used to interact with many resources supported by [ZenlayerCloud](https://console.zenlayer.com). The provider needs to be configured with the proper credentials before it can be used.
Use the navigation on the left to read about the available resources.
Example Usage ¶
```hcl
terraform { required_providers { zenlayercloud = { source = "zenlayer/zenlayercloud" } } }
Configure the Zenlayer Cloud Provider ¶
provider "zenlayercloud" { access_key_id = var.access_key_id access_key_password = var.access_key_password }
```
Resources List ¶
Provider Data Sources ¶
Zenlayer Virtual Machine(VM)
Data Source zenlayercloud_zones zenlayercloud_images zenlayercloud_instance_types zenlayercloud_security_groups zenlayercloud_instance_types zenlayercloud_disks zenlayercloud_subnets zenlayercloud_key_pairs Resource zenlayercloud_image zenlayercloud_security_group zenlayercloud_security_group_attachment zenlayercloud_security_group_rule zenlayercloud_instance zenlayercloud_disk zenlayercloud_disk_attachment zenlayercloud_subnet zenlayercloud_key_pair
Bare Metal Cloud(BMC)
Data Source zenlayercloud_bmc_zones zenlayercloud_bmc_instance_types zenlayercloud_bmc_images zenlayercloud_bmc_instances zenlayercloud_bmc_eips zenlayercloud_bmc_ddos_ips zenlayercloud_bmc_vpc_regions zenlayercloud_bmc_vpcs zenlayercloud_bmc_subnets Resource zenlayercloud_bmc_instance zenlayercloud_bmc_ddos_ip zenlayercloud_bmc_ddos_ip_association zenlayercloud_bmc_eip zenlayercloud_bmc_eip_association zenlayercloud_bmc_vpc zenlayercloud_bmc_subnet
Cloud Networking(SDN)
Data Source zenlayercloud_sdn_datacenters zenlayercloud_sdn_ports zenlayercloud_sdn_private_connects zenlayercloud_sdn_cloud_regions Resource zenlayercloud_sdn_port zenlayercloud_sdn_private_connect
Zenlayer Global Accelerator(ZGA)
Data Source zenlayercloud_zga_certificates zenlayercloud_zga_origin_regions zenlayercloud_zga_accelerate_regions zenlayercloud_zga_accelerators Resource zenlayercloud_zga_certificate zenlayercloud_zga_accelerator
Provides an DDoS IP resource.
Example Usage ¶
```hcl
variable "availability_zone" { default = "SEL-A" }
resource "zenlayercloud_bmc_ddos_ip" "foo" { availability_zone = var.availability_zone }
```
Import ¶
EIP can be imported using the id, e.g.
``` $ terraform import zenlayercloud_bmc_ddos_ip.foo 123123xxxx ```
Provides an DDoS IP resource associated with BMC instance.
Example Usage ¶
```hcl
resource "zenlayercloud_bmc_ddos_ip_association" "foo" { ddos_ip_id = "ddosIpIdxxxxxx" instance_id = "instanceIdxxxxxx" }
```
Import ¶
DDoS IP association can be imported using the id, e.g.
``` $ terraform import zenlayercloud_bmc_ddos_ip_association.bar ddosIpIdxxxxxx:instanceIdxxxxxxx ```
Provides an EIP resource.
Example Usage ¶
```hcl
variable "availability_zone" { default = "SEL-A" }
resource "zenlayercloud_bmc_eip" "foo" { availability_zone = var.availability_zone }
```
Import ¶
EIP can be imported using the id, e.g.
``` $ terraform import zenlayercloud_bmc_eip.foo 123123xxxx ```
Provides an eip resource associated with BMC instance.
Example Usage ¶
```hcl
resource "zenlayercloud_bmc_eip_association" "foo" { eip_id = "eipxxxxxx" instance_id = "instanceIdxxxxxx" }
```
Import ¶
Eip association can be imported using the id, e.g.
``` $ terraform import zenlayercloud_bmc_eip_association.bar eipIdxxxxxx:instanceIdxxxxxxx ```
Provides a BMC instance resource.
~> **NOTE:** You can launch an BMC instance for a private network via specifying parameter `subnet_id`.
~> **NOTE:** At present, 'PREPAID' instance cannot be deleted and must wait it to be outdated and released automatically.
Example Usage ¶
```hcl
data "zenlayercloud_bmc_zones" "default" {
}
data "zenlayercloud_bmc_instance_types" "default" { availability_zone = data.zenlayercloud_bmc_zones.default.zones.0.id }
Get a centos image which also supported to install on given instance type ¶
data "zenlayercloud_bmc_images" "default" { catalog = "centos" instance_type_id = data.zenlayercloud_bmc_instance_types.default.instance_types.0.id }
resource "zenlayercloud_bmc_subnet" "default" { availability_zone = data.zenlayercloud_bmc_zones.default.zones.0.id name = "test-subnet" cidr_block = "10.0.10.0/24" }
Create a web server ¶
resource "zenlayercloud_bmc_instance" "web" { availability_zone = data.zenlayercloud_bmc_zones.default.zones.0.id image_id = data.zenlayercloud_bmc_images.default.images.0.image_id internet_charge_type = "ByBandwidth" instance_type_id = data.zenlayercloud_bmc_instance_types.default.instance_types.0.id password = "Example~123" instance_name = "web" subnet_id = zenlayercloud_bmc_subnet.default.id }
```
Import ¶
BMC instance can be imported using the id, e.g.
``` terraform import zenlayercloud_bmc_instance.foo 123123xxx ```
Provide a resource to create a VPC subnet.
Example Usage ¶
```hcl
variable "region" { default = "SEL1" }
variable "availability_zone" { default = "SEL-A" }
resource "zenlayercloud_bmc_vpc" "foo" { region = var.region name = "test-vpc" cidr_block = "10.0.0.0/16" }
resource "zenlayercloud_bmc_subnet" "subnet_with_vpc" { availability_zone = var.availability_zone name = "test-subnet" vpc_id = zenlayercloud_bmc_vpc.foo.id cidr_block = "10.0.10.0/24" }
resource "zenlayercloud_bmc_subnet" "subnet" { availability_zone = var.availability_zone name = "test-subnet" cidr_block = "10.0.10.0/24" }
```
Import ¶
Vpc subnet instance can be imported, e.g.
``` $ terraform import zenlayercloud_bmc_subnet.subnet subnet_id ```
Provide a resource to create a VPC.
Example Usage ¶
```hcl data "zenlayercloud_bmc_vpc_regions" "default_region" {
}
resource "zenlayercloud_bmc_vpc" "foo" { region = data.zenlayercloud_bmc_vpc_regions.default_region.regions.0.id cidr_block = "10.0.0.0/26" }
```
Import ¶
Vpc instance can be imported, e.g.
``` $ terraform import zenlayercloud_bmc_vpc.test vpc-id ```
Provide a resource to create data disk.
Example Usage ¶
```hcl
resource "zenlayercloud_disk" "foo" { availability_zone = "SEL-A" name = "SEL-20G" disk_size = 20 }
```
Import ¶
Disk instance can be imported, e.g.
``` $ terraform import zenlayercloud_disk.test disk-id ```
Provide a resource to create data disk.
Example Usage ¶
```hcl
resource "zenlayercloud_disk_attachment" "foo" { disk_id = "diskxxxx" instance_id = "instancexxxx" }
```
Import ¶
Disk attachment can be imported, e.g.
``` $ terraform import zenlayercloud_disk_attachment.foo disk-id:instance-id ```
Provides a resource to manage image.
~> **NOTE:** You have to keep the instance power off if the image is created from instance.
Example Usage ¶
```hcl
resource "zenlayercloud_image" "foo" { image_name = "web-image-centos" instance_id = "xxxxxx" image_description = "create a image by the web server" }
```
Import ¶
Image can be imported, e.g.
``` $ terraform import zenlayercloud_image.foo img-xxxxxxx ```
Provides a instance resource.
~> **NOTE:** You can launch an instance for a private network via specifying parameter `subnet_id`.
~> **NOTE:** At present, 'PREPAID' instance cannot be deleted and must wait it to be outdated and released automatically.
Example Usage ¶
```hcl
data "zenlayercloud_zones" "default" {
}
data "zenlayercloud_instance_types" "default" { availability_zone = data.zenlayercloud_zones.default.zones.0.id }
Get a centos image which also supported to install on given instance type ¶
data "zenlayercloud_images" "default" { availability_zone = data.zenlayercloud_zones.default.zones.0.id category = "CentOS" }
resource "zenlayercloud_subnet" "default" { name = "test-subnet" cidr_block = "10.0.10.0/24" }
Create a web server ¶
resource "zenlayercloud_instance" "web" { availability_zone = data.zenlayercloud_zones.default.zones.0.id image_id = data.zenlayercloud_images.default.images.0.image_id internet_charge_type = "ByBandwidth" instance_type = data.zenlayercloud_instance_types.default.instance_types.0.id password = "Example~123" instance_name = "web" subnet_id = zenlayercloud_subnet.default.id system_disk_size = 100 }
```
Import ¶
Instance can be imported using the id, e.g.
``` terraform import zenlayercloud_instance.foo 123123xxx ```
Provides a resource to manage key pair.
~> **NOTE:** This request is to import an SSH key pair to be used for later instance login..
~> **NOTE:** A key pair name and several public SSH keys are required.
Example Usage ¶
```hcl
resource "zenlayercloud_key_pair" "foo" { key_name = "my_key" public_key = "ssh-rsa XXXXXXXXXXXX key" key_description = "create a key pair" }
```
Import ¶
Key pair can be imported, e.g.
``` $ terraform import zenlayercloud_key_pair.foo key-xxxxxxx ```
Provides a resource to manage datacenter port.
Example Usage ¶
```hcl
resource "zenlayercloud_sdn_port" "foo" { name = "my_name" datacenter = "xxxxx-xxxxx-xxxxx" remarks = "Test" port_type = "1G" business_entity_name = "John" }
```
Import ¶
Port can be imported, e.g.
``` $ terraform import zenlayercloud_sdn_port.foo xxxxxx ```
Provides a resource to manage layer 2 private connect.
Example Usage ¶
```hcl
resource "zenlayercloud_sdn_private_connect" "aws-port-test" { connect_name = "Test" connect_bandwidth = 20 endpoints { port_id = "xxxxxxxxx" endpoint_type = "TENCENT" vlan_id = "1019" } endpoints { datacenter = "SOF1" cloud_region = "eu-west-1" cloud_account = "123412341234" endpoint_type = "AWS" vlan_id = "1457" }
resource "zenlayercloud_sdn_private_connect" "aws-tencent-test" { connect_name = "Test" connect_bandwidth = 20 endpoints { datacenter = "HKG2" cloud_region = "ap-hongkong-a-kc" cloud_account = "123412341234" endpoint_type = "TENCENT" vlan_id = "1019" } endpoints { datacenter = "SOF1" cloud_region = "eu-west-1" cloud_account = "123412341234" endpoint_type = "AWS" vlan_id = "1457" }
```
Import ¶
Private Connect can be imported, e.g.
``` $ terraform import zenlayercloud_sdn_private_connect.foo xxxxxx ```
Provides a resource to create security group.
Example Usage ¶
```hcl
resource "zenlayercloud_security_group" "foo" { name = "example-name" description = "example purpose" }
```
Import ¶
Security group can be imported, e.g.
``` $ terraform import zenlayercloud_security_group.security_group security_group_id ```
Provides a resource to create a security group attachment ¶
Example Usage ¶
```hcl
resource "zenlayercloud_security_group_attachment" "foo" { security_group_id = "12364246" instance_id = "62343412426423623" }
```
Import ¶
Security group attachment can be imported using the id, e.g.
``` terraform import zenlayercloud_security_group_attachment.security_group_attachment securityGroupId:instanceId ```
Provides a resource to create security group rule.
~> **NOTE:** Single security rule is hardly ordered, use zenlayercloud_security_group_rule_set instead.
Example Usage ¶
```hcl
resource "zenlayercloud_security_group" "foo" { name = "example-name" description = "example purpose" } resource "zenlayercloud_security_group_rule" "bar" { security_group_id = zenlayercloud_security_group.foo.id direction = "ingress" policy = "accept" cidr_ip = "10.0.0.0/16" ip_protocol = "tcp" port_range = "80" }
```
Provide a resource to create a subnet.
Example Usage ¶
```hcl
variable "availability_zone" { default = "SEL-A" }
resource "zenlayercloud_subnet" "foo" { availability_zone = var.availability_zone name = "test-subnet" cidr_block = "10.0.0.0/24" }
```
Import ¶
Subnet instance can be imported, e.g.
``` $ terraform import zenlayercloud_subnet.subnet subnet_id ```
Provides a accelerator resource.
~> **NOTE:** Only L4 listener can be configured when domain is null.
~> **NOTE:** The Domain is not allowed to be the same as origin, otherwise a loop will be formed, making acceleration unusable.
Example Usage ```hcl
resource "zenlayercloud_zga_certificate" "default" { certificate = <<EOF
-----BEGIN CERTIFICATE----- [......] # cert contents -----END CERTIFICATE----- EOF
key = <<EOF
-----BEGIN RSA PRIVATE KEY----- [......] # key contents -----END RSA PRIVATE KEY----- EOF
lifecycle { create_before_destroy = true } } resource "zenlayercloud_zga_accelerator" "default" { accelerator_name = "accelerator_test" charge_type = "ByTrafficPackage" domain = "test.com" relate_domains = ["a.test.com"] origin_region_id = "DE" origin = ["10.10.10.10"] backup_origin = ["10.10.10.14"] certificate_id = resource.zenlayercloud_zga_certificate.default.id accelerate_regions { accelerate_region_id = "KR" } accelerate_regions { accelerate_region_id = "US" } l4_listeners { protocol = "udp" port_range = "53/54" back_port_range = "53/54" } l4_listeners { port = 80 back_port = 80 protocol = "tcp" } l7_listeners { port = 443 back_port = 80 protocol = "https" back_protocol = "http" } l7_listeners { port_range = "8888/8890" back_port_range = "8888/8890" protocol = "http" back_protocol = "http" } protocol_opts { websocket = true gzip = false } access_control { enable = true rules { listener = "https:443" directory = "/" policy = "deny" cidr_ip = ["10.10.10.10"] } rules { listener = "udp:53/54" directory = "/" policy = "accept" cidr_ip = ["10.10.10.11/8"] } } }
``` Import
Accelerator can be imported using the id, e.g.
``` terraform import zenlayercloud_zga_accelerator.default acceleratorId ```
Provides a certificate resource.
~> **NOTE:** Modification of the certificate and key is not supported. If you want to change it, you need to create a new certificate.
~> **NOTE:** When the certificate and key are set to empty strings, the Update will not take effect.
Example Usage ```hcl
resource "zenlayercloud_zga_certificate" "default" { certificate = <<EOF
-----BEGIN CERTIFICATE----- [......] # cert contents -----END CERTIFICATE----- EOF
key = <<EOF
-----BEGIN RSA PRIVATE KEY----- [......] # key contents -----END RSA PRIVATE KEY----- EOF
label = "certificate" lifecycle { create_before_destroy = true } }
``` Import
Certificate can be imported using the id, e.g.
``` terraform import zenlayercloud_zga_certificate.default certificateId ```
Index ¶
- Constants
- Variables
- func AccessControlValidFunc(_ context.Context, diff *schema.ResourceDiff, _ interface{}) error
- func BuildDdosIpState(bmcService BmcService, ddosIpId string, ctx context.Context, ...) *resource.StateChangeConf
- func BuildDiskState(vmService *VmService, diskId string, ctx context.Context, ...) *resource.StateChangeConf
- func BuildEipState(bmcService BmcService, eipId string, ctx context.Context, ...) *resource.StateChangeConf
- func BuildImageState(vmService VmService, imageId string, ctx context.Context, ...) *resource.StateChangeConf
- func DomainAcceleratorValidFunc() schema.CustomizeDiffFunc
- func Error(msg string, args ...interface{}) error
- func IPAcceleratorValidFunc() schema.CustomizeDiffFunc
- func InterfaceSliceToString(slice []interface{}) string
- func IsAcListener(i interface{}, k string) (warnings []string, errors []error)
- func IsContains(array interface{}, value interface{}) bool
- func IsOperating(status string) bool
- func IsPortRange(i interface{}, k string) (warnings []string, errors []error)
- func ParsePort(data map[string]interface{}) (bport, eport int, err error)
- func ParseResourceId(id string, length int) (parts []string, err error)
- func PortCheckValidFunc(_ context.Context, diff *schema.ResourceDiff, _ interface{}) error
- func ProtocolOptsCheckValidFunc(_ context.Context, diff *schema.ResourceDiff, _ interface{}) error
- func Provider() *schema.Provider
- func QueryAllPaginatedResource[T any](ctx context.Context, queryFunc QueryPaginatedFunc[T]) ([]T, error)
- func SharpenAccelerateRegion(d *schema.ResourceData) []zga.AccelerateRegion
- func SharpenAccessControl(d *schema.ResourceData) (exist bool, enable bool, result []zga.AccessControlRule)
- func SharpenDomain(d *schema.ResourceData) *zga.Domain
- func SharpenHealthCheck(d *schema.ResourceData) *zga.HealthCheck
- func SharpenL4Listeners(d *schema.ResourceData) []*zga.AccelerationRuleL4Listener
- func SharpenL7Listeners(d *schema.ResourceData) []*zga.AccelerationRuleL7Listener
- func SharpenOrigin(d *schema.ResourceData) zga.Origin
- func SharpenProtocolOpts(d *schema.ResourceData) *zga.AccelerationRuleProtocolOpts
- func StateTrimSpace(v interface{}) string
- func String(s string) int
- type AcceleratorsFilter
- type BmcService
- func (s *BmcService) AssociateSubnetInstance(ctx context.Context, instanceId string, subnetId string) error
- func (s *BmcService) DeleteInstance(ctx context.Context, instanceId string) (err error)
- func (s *BmcService) DeleteSubnet(ctx context.Context, subnetId string) (err error)
- func (s *BmcService) DeleteVpc(ctx context.Context, vpcId string) error
- func (s *BmcService) DescribeDdosIpAddressById(ctx context.Context, ddosIpId string) (eip *bmc.DdosIpAddress, err error)
- func (s *BmcService) DescribeDdosIpAddressesByFilter(filter *DDosIpFilter) (ddosIpAddress []*bmc.DdosIpAddress, err error)
- func (s *BmcService) DescribeEipAddressById(ctx context.Context, eipId string) (eip *bmc.EipAddress, err error)
- func (s *BmcService) DescribeEipAddressesByFilter(filter *EipFilter) (eipAddresses []*bmc.EipAddress, err error)
- func (s *BmcService) DescribeInstanceById(ctx context.Context, instanceId string) (instance *bmc.InstanceInfo, err error)
- func (s *BmcService) DescribeInstanceInternetStatus(ctx context.Context, instanceId string) (*bmc.InstanceInternetStatus, error)
- func (s *BmcService) DescribeInstancesByFilter(instanceFilter *InstancesFilter) (instances []*bmc.InstanceInfo, err error)
- func (s *BmcService) DescribeSubnetById(ctx context.Context, subnetId string) (subnet *bmc.Subnet, err error)
- func (s *BmcService) DescribeSubnets(ctx context.Context, filter *SubnetFilter) (subnets []*bmc.Subnet, err error)
- func (s *BmcService) DescribeVpcById(ctx context.Context, vpcId string) (vpc *bmc.VpcInfo, err error)
- func (s *BmcService) DescribeVpcsByFilter(ctx context.Context, filter *VpcFilter) (vpcs []*bmc.VpcInfo, err error)
- func (s *BmcService) DescribeZones(ctx context.Context) (zones []*bmc.ZoneInfo, err error)
- func (s *BmcService) DestroyInstance(ctx context.Context, instanceId string) (err error)
- func (s *BmcService) DisassociateSubnetInstance(ctx context.Context, instanceId string, subnetId string) error
- func (s *BmcService) InstanceDdosIpStateRefreshFunc(ctx context.Context, eipId string) resource.StateRefreshFunc
- func (s *BmcService) InstanceEipStateRefreshFunc(ctx context.Context, eipId string) resource.StateRefreshFunc
- func (s *BmcService) InstanceNetworkStateRefreshFunc(ctx context.Context, instanceId string, condition NetworkStateCondition) resource.StateRefreshFunc
- func (s *BmcService) InstanceStateRefreshFunc(ctx context.Context, instanceId string, failStates []string) resource.StateRefreshFunc
- func (s *BmcService) InstanceSubnetStateRefreshFunc(ctx context.Context, instanceId string, subnetId string) resource.StateRefreshFunc
- func (s *BmcService) ModifyDdosIpResourceGroup(ctx context.Context, ddpsIp string, resourceGroupId string) error
- func (s *BmcService) ModifyEipResourceGroup(ctx context.Context, eipId string, resourceGroupId string) error
- func (s *BmcService) ModifyInstanceName(ctx context.Context, instanceId string, instanceName string) error
- func (s *BmcService) ModifyInstanceResourceGroup(ctx context.Context, instanceId string, resourceGroupId string) error
- func (s *BmcService) ModifySubnetName(ctx context.Context, subnetId string, subnetName string) error
- func (s *BmcService) ModifySubnetResourceGroupById(ctx context.Context, subnetId string, resourceGroupId string) error
- func (s *BmcService) ModifyVpcName(ctx context.Context, vpcId string, vpcName string) error
- func (s *BmcService) ModifyVpcResourceGroup(ctx context.Context, vpcId string, resourceGroupId string) error
- func (s *BmcService) ReleaseDDoSIpAddressById(ctx context.Context, ddosIpId string) (err error)
- func (s *BmcService) ReleaseEipAddressById(ctx context.Context, eipId string) (err error)
- func (s *BmcService) SubnetStateRefreshFunc(ctx context.Context, subnetId string, failStates []string) resource.StateRefreshFunc
- func (s *BmcService) TerminateDDoSIpAddress(ctx context.Context, ddosIpId string) (err error)
- func (s *BmcService) TerminateEipAddress(ctx context.Context, eipId string) (err error)
- func (s *BmcService) VpcStateRefreshFunc(ctx context.Context, vpcId string, failStates []string) resource.StateRefreshFunc
- type CertificatesFilter
- type CloudRegionFilter
- type CloudRouterFilter
- type DDosIpFilter
- type EipFilter
- type GoRoutineLimit
- type InstancesFilter
- type NetworkStateCondition
- type PortFilter
- type PrivateConnectFilter
- type QueryPaginatedFunc
- type SdnService
- func (s *SdnService) DeletePortById(ctx context.Context, portId string) (err error)
- func (s *SdnService) DeletePrivateConnectById(ctx context.Context, connectId string) (err error)
- func (s *SdnService) DescribeCloudRegions(filter CloudRegionFilter) ([]*sdn.CloudRegion, error)
- func (s *SdnService) DescribeCloudRoutersByFilter(filter *CloudRouterFilter) (cloudRouters []*sdn.CloudRouter, err error)
- func (s *SdnService) DescribeDatacenters(ctx context.Context) ([]*sdn.DatacenterInfo, error)
- func (s *SdnService) DescribePortById(ctx context.Context, portId string) (instance *sdn.PortInfo, err error)
- func (s *SdnService) DescribePortsByFilter(portFilter *PortFilter) (instances []*sdn.PortInfo, err error)
- func (s *SdnService) DescribePrivateConnectById(ctx context.Context, connectId string) (connect *sdn.PrivateConnect, err error)
- func (s *SdnService) DescribePrivateConnectsByFilter(filter *PrivateConnectFilter) (privateConnects []*sdn.PrivateConnect, err error)
- func (s *SdnService) DestroyPort(ctx context.Context, portId string) (err error)
- func (s *SdnService) DestroyPrivateConnect(ctx context.Context, connectId string) (err error)
- func (s *SdnService) ModifyPort(ctx context.Context, portId, portName, remarks, businessEntityName string) error
- func (s *SdnService) ModifyPrivateConnectBandwidth(ctx context.Context, connectId string, bandwidth int) error
- func (s *SdnService) ModifyPrivateConnectName(ctx context.Context, connectId string, name string) error
- func (s *SdnService) PortStateRefreshFunc(ctx context.Context, portId string, failStates []string) resource.StateRefreshFunc
- func (s *SdnService) PrivateConnectStateRefreshFunc(ctx context.Context, connectId string, failStates []string) resource.StateRefreshFunc
- type SecurityGroupFilter
- type SubnetFilter
- type VmDiskFilter
- type VmImageFilter
- type VmNetworkStateCondition
- type VmService
- func (s *VmService) CreateSecurityGroupRule(ctx context.Context, info securityGroupRuleBasicInfo) (ruleId string, err error)
- func (s *VmService) DeleteDisk(ctx context.Context, diskId string) (err error)
- func (s *VmService) DeleteImage(ctx context.Context, imageId string) error
- func (s *VmService) DeleteInstance(ctx context.Context, instanceId string) (err error)
- func (s *VmService) DeleteKeyPair(keyId string) error
- func (s *VmService) DeleteSecurityGroup(ctx context.Context, securityGroupId string) (err error)
- func (s *VmService) DeleteSubnet(ctx context.Context, subnetId string) (err error)
- func (s *VmService) DescribeDiskById(ctx context.Context, diskId string) (*vm.DiskInfo, error)
- func (s *VmService) DescribeDisks(ctx context.Context, filter *VmDiskFilter) (disks []*vm.DiskInfo, err error)
- func (s *VmService) DescribeImageById(ctx context.Context, imageId string) (image *vm.DescribeImageResponseParams, err error)
- func (s *VmService) DescribeImagesByFilter(filter *VmImageFilter) (images []*vm.ImageInfo, err error)
- func (s *VmService) DescribeInstanceById(ctx context.Context, instanceId string) (instance *vm.InstanceInfo, err error)
- func (s *VmService) DescribeInstanceInternetStatus(ctx context.Context, instanceId string) (*vm.DescribeInstanceInternetStatusResponseParams, error)
- func (s *VmService) DescribeKeyPairById(ctx context.Context, keyId string) (keyPair *vm.KeyPair, err error)
- func (s *VmService) DescribeKeyPairs(ctx context.Context, request *vm.DescribeKeyPairsRequest) (keyPairs []*vm.KeyPair, err error)
- func (s *VmService) DescribeSecurityGroupById(ctx context.Context, securityGroupId string) (securityGroup *vm.SecurityGroupInfo, err error)
- func (s *VmService) DescribeSecurityGroupRule(ruleId string) (securityGroupId string, rule *vm.RuleInfo, err error)
- func (s *VmService) DescribeSecurityGroupsByFilter(filter *SecurityGroupFilter) (securityGroups []*vm.SecurityGroupInfo, err error)
- func (s *VmService) DescribeSubnetById(ctx context.Context, subnetId string) (subnet *vm.SubnetInfo, err error)
- func (s *VmService) DescribeSubnets(ctx context.Context, filter *VmSubnetFilter) (subnets []*vm.SubnetInfo, err error)
- func (s *VmService) DescribeZones(ctx context.Context) (zones []*vm.ZoneInfo, err error)
- func (s *VmService) DestroyInstance(ctx context.Context, instanceId string) (err error)
- func (s *VmService) DiskStateRefreshFunc(ctx context.Context, diskId string, failStates []string) resource.StateRefreshFunc
- func (s *VmService) ImageStateRefreshFunc(ctx context.Context, imageId string) resource.StateRefreshFunc
- func (s *VmService) InstanceNetworkStateRefreshFunc(ctx context.Context, instanceId string, condition VmNetworkStateCondition) resource.StateRefreshFunc
- func (s *VmService) InstanceStateRefreshFunc(ctx context.Context, instanceId string, failStates []string) resource.StateRefreshFunc
- func (s *VmService) ModifyDiskName(ctx context.Context, diskId string, diskName string) error
- func (s *VmService) ModifyDiskResourceGroupId(ctx context.Context, diskId string, resourceGroupId string) error
- func (s *VmService) ModifyImage(ctx context.Context, imageId string, imageName string, imageDesc string) error
- func (s *VmService) ModifyInstanceName(ctx context.Context, instanceId string, instanceName string) error
- func (s *VmService) ModifyInstanceResourceGroup(ctx context.Context, instanceId string, resourceGroupId string) error
- func (s *VmService) ModifyKeyPair(ctx context.Context, keyId string, keyDesc *string) error
- func (s *VmService) ModifySecurityGroupAttribute(ctx context.Context, securityGroupId string, securityGroupName string, ...) error
- func (s *VmService) ModifySubnetName(ctx context.Context, subnetId string, subnetName string) error
- func (s *VmService) ReleaseDisk(ctx context.Context, diskId string) (err error)
- func (s *VmService) SubnetStateRefreshFunc(ctx context.Context, subnetId string, failStates []string) resource.StateRefreshFunc
- type VmSubnetFilter
- type VpcFilter
- type ZgaService
- func (s *ZgaService) AcceleratorStateRefreshFunc(ctx context.Context, acceleratorId string, failStates []string) resource.StateRefreshFunc
- func (s *ZgaService) CloseAcceleratorAccessControl(ctx context.Context, acceleratorId string) error
- func (s *ZgaService) DeleteAcceleratorById(ctx context.Context, acceleratorId string) error
- func (s *ZgaService) DeleteCertificatesById(ctx context.Context, certificateId string) error
- func (s *ZgaService) DescribeAccelerateRegions(ctx context.Context, originRegionId string) ([]*zga.Region, error)
- func (s *ZgaService) DescribeAcceleratorById(ctx context.Context, acceleratorId string) (*zga.AcceleratorInfo, error)
- func (s *ZgaService) DescribeAcceleratorsByFilter(ctx context.Context, filter *AcceleratorsFilter) ([]*zga.AcceleratorInfo, error)
- func (s *ZgaService) DescribeCertificateById(ctx context.Context, certificateId string) (*zga.CertificateInfo, error)
- func (s *ZgaService) DescribeCertificatesByFilter(ctx context.Context, filter *CertificatesFilter) ([]*zga.CertificateInfo, error)
- func (s *ZgaService) DescribeOriginRegions(ctx context.Context) ([]zga.Region, error)
- func (s *ZgaService) ModifyAcceleratorAccRegions(ctx context.Context, acceleratorId string, accRegions []zga.AccelerateRegion) error
- func (s *ZgaService) ModifyAcceleratorAccessControl(ctx context.Context, acceleratorId string, rules []zga.AccessControlRule) error
- func (s *ZgaService) ModifyAcceleratorCertificateId(ctx context.Context, acceleratorId string, certificateId string) error
- func (s *ZgaService) ModifyAcceleratorDomain(ctx context.Context, acceleratorId string, domain zga.Domain) error
- func (s *ZgaService) ModifyAcceleratorHealthCheck(ctx context.Context, acceleratorId string, healthCheck zga.HealthCheck) error
- func (s *ZgaService) ModifyAcceleratorListener(ctx context.Context, acceleratorId string, ...) error
- func (s *ZgaService) ModifyAcceleratorName(ctx context.Context, acceleratorId string, name string) error
- func (s *ZgaService) ModifyAcceleratorOrigin(ctx context.Context, acceleratorId string, origin zga.Origin) error
- func (s *ZgaService) ModifyAcceleratorProtocolOpts(ctx context.Context, acceleratorId string, ...) error
- func (s *ZgaService) OpenAcceleratorAccessControl(ctx context.Context, acceleratorId string) error
Constants ¶
const ( PROVIDER_WRITE_RETRY_TIMEOUT = "ZENLAYERCLOUD_WRITE_RETRY_TIMEOUT" PROVIDER_READ_RETRY_TIMEOUT = "ZENLAYERCLOUD_READ_RETRY_TIMEOUT" PROVIDER_BMC_CREATE_TIMEOUT = "ZENLAYERCLOUD_BMC_CREATE_TIMEOUT" PROVIDER_BMC_UPDATE_TIMEOUT = "ZENLAYERCLOUD_BMC_UPDATE_TIMEOUT" PROVIDER_VM_CREATE_TIMEOUT = "ZENLAYERCLOUD_VM_CREATE_TIMEOUT" PROVIDER_VM_UPDATE_TIMEOUT = "ZENLAYERCLOUD_VM_UPDATE_TIMEOUT" PROVIDER_ZGA_CREATE_TIMEOUT = "ZENLAYERCLOUD_ZGA_CREATE_TIMEOUT" PROVIDER_ZGA_UPDATE_TIMEOUT = "ZENLAYERCLOUD_ZGA_UPDATE_TIMEOUT" )
const ( ServiceNotAvailable = "SERVICE_TEMPORARY_UNAVAILABLE" InternalServerError = "INTERNAL_SERVER_ERROR" ReadTimedOut = "REQUEST_TIMED_OUT" ResourceNotFound = "OPERATION_FAILED_RESOURCE_NOT_FOUND" )
const ( ResourceTypeInstance = "instance" ResourceTypeEip = "eip" ResourceTypeDdosIp = "ddos_ip" ResourceTypeSubnet = "subnet" ResourceTypeCidrIPv4 = "cidr_ipv4" ResourceTypeCidrIPv6 = "cidr_ipv6" BmcChargeTypePostpaid = "POSTPAID" BmcChargeTypePrepaid = "PREPAID" BmcInternetChargeTypeBandwidth = "ByBandwidth" BmcInternetChargeTypeTrafficPackage = "ByTrafficPackage" BmcInternetChargeTypeInstanceBandwidth95 = "ByInstanceBandwidth95" BmcInternetChargeTypeClusterBandwidth95 = "ByClusterBandwidth95" BmcInstanceStatusPending = "PENDING" BmcInstanceStatusCreating = "CREATING" BmcInstanceStatusCreateFailed = "CREATE_FAILED" BmcInstanceStatusInstalling = "INSTALLING" BmcInstanceStatusInstallFailed = "INSTALL_FAILED" BmcInstanceStatusRunning = "RUNNING" BMC_INSTANCE_STATUS_STOPPED = "STOPPED" BmcInstanceStatusBooting = "BOOTING" BmcInstanceStatusStopping = "STOPPING" BmcInstanceStatusRecycle = "RECYCLE" BmcInstanceStatusRecycling = "RECYCLING" BmcSubnetStatusAvailable = "AVAILABLE" BmcSubnetStatusCreating = "CREATING" BmcSubnetStatusPending = "PENDING" BmcSubnetStatusDeleting = "DELETING" BmcSubnetStatusCreateFailed = "CREATE_FAILED" BmcSubnetStatusAssociate = "ASSOCIATING" BmcSubnetInstanceStatusBinding = "BINDING" BmcSubnetInstanceStatusUnbinding = "UNBINDING" BmcSubnetInstanceStatusBound = "BOUND" BmcVpcStatusCreating = "CREATING" BmcVpcStatusCreateFailed = "CREATE_FAILED" BmcVpcStatusCreateAvailable = "AVAILABLE" BmcVpcStatusDeleting = "DELETING" BmcEipStatusCreating = "CREATING" BmcEipStatusCreateFailed = "CREATE_FAILED" BmcEipStatusAssociating = "ASSOCIATING" BmcEipStatusUnAssociating = "UNASSOCIATING" BmcEipStatusAssociated = "ASSOCIATED" BmcEipStatusAvailable = "AVAILABLE" BmcEipStatusReleasing = "RELEASING" BmcEipStatusRecycle = "RECYCLE" BmcEipStatusRecycling = "RECYCLING" ImageTypePublic = "PUBLIC_IMAGE" ImageTypeCustom = "CUSTOM_IMAGE" )
const ( SdnStatusCreating = "CREATING" SdnStatusDeleting = "DELETING" SdnStatusUpdating = "UPDATING" SdnStatusRunning = "RUNNING" SdnStatusRecovering = "RECOVERING" SdnStatusRecycle = "RECYCLED" SdnStatusReleasing = "DESTROYING" )
const ( ROUTE_TYPE_BGP = "BGP" ROUTE_TYPE_STATIC = "STATIC" )
const ( POINT_TYPE_PORT = "PORT" POINT_TYPE_TENCENT = "TENCENT" POINT_TYPE_AWS = "AWS" POINT_TYPE_GOOGLE = "GOOGLE" POINT_TYPE_VPC = "VPC" )
const ( PRODUCT_PRIVATE_CONNECT = "PrivateConnect" PRODUCT_CLOUD_ROUTER = "CloudRouter" )
const ( VmChargeTypePostpaid = "POSTPAID" VmChargeTypePrepaid = "PREPAID" VmInternetChargeTypeBandwidth = "ByBandwidth" VmInternetChargeTypeTrafficPackage = "ByTrafficPackage" VmInternetChargeTypeInstanceBandwidth95 = "ByInstanceBandwidth95" VmInternetChargeTypeClusterBandwidth95 = "ByClusterBandwidth95" VmInstanceStatusPending = "PENDING" VmInstanceStatusDeloying = "DEPLOYING" VmInstanceStatusCreateFailed = "CREATE_FAILED" VmInstanceStatusRebuilding = "REBUILDING" VmInstanceStatusStopped = "STOPPED" VmInstanceStatusRunning = "RUNNING" VmInstanceStatusBooting = "BOOTING" VmInstanceStatusStopping = "STOPPING" VmInstanceStatusReleasing = "RELEASING" VmInstanceStatusRecycle = "RECYCLE" VmInstanceStatusRecycling = "RECYCLING" VmImageTypePublic = "PUBLIC_IMAGE" VmImageTypeCustom = "CUSTOM_IMAGE" ImageStatusAvailable = "AVAILABLE" VmImageStatusCreating = "CREATING" VmSubnetStatusCreating = "Creating" VmSubnetStatusAvailable = "Available" VmSubnetStatusFailed = "Failed" VmDiskStatusInUse = "IN_USE" VmDiskStatusAvailable = "AVAILABLE" VmDiskStatusAttaching = "ATTACHING" VmDiskStatusDetaching = "DETACHING" VmDiskStatusCreating = "CREATING" VmDiskStatusDeleting = "DELETING" VmDiskStatusRecycle = "RECYCLED" VmDiskStatusRecycling = "RECYCLING" )
const ( ZgaAcceleratorChargeTypeBandwidth = "ByBandwidth" ZgaAcceleratorChargeTypeTrafficPackage = "ByTrafficPackage" ZgaAcceleratorChargeTypeBandwidth95 = "ByBandwidth95" ZgaAcceleratorChargeTypeTraffic = "ByTraffic" ZgaAcceleratorStatusAccelerating = "Accelerating" ZgaAcceleratorStatusNotAccelerate = "NotAccelerate" ZgaAcceleratorStatusDeploying = "Deploying" ZgaAcceleratorStatusStopAccelerate = "StopAccelerate" ZgaAcceleratorStatusAccelerateFailure = "AccelerateFailure" ZgaTCPL4Protocol = "tcp" ZgaUDPL4Protocol = "udp" ZgaHTTPL7Protocol = "http" ZgaHTTPSL7Protocol = "https" ZgaAccessControlAllListener = "all" )
const ( PROVIDER_SECRET_KEY_ID = "ZENLAYERCLOUD_ACCESS_KEY_ID" PROVIDER_SECRET_KEY_PASSWORD = "ZENLAYERCLOUD_ACCESS_KEY_PASSWORD" PROVIDER_CLIENT_TIMEOUT = "ZENLAYERCLOUD_CLIENT_TIMEOUT" PROVIDER_SCHEME = "ZENLAYERCLOUD_SCHEME" PROVIDER_DOMAIN = "ZENLAYERCLOUD_DOMAIN" )
const InstanceSubnetStatusNotBind = "NotBind"
const NetworkStatusFail = "Fail"
const NetworkStatusOK = "OK"
const NetworkStatusPending = "Pending"
const VmNetworkStatusFail = "Fail"
const VmNetworkStatusOK = "OK"
const VmNetworkStatusPending = "Pending"
Variables ¶
var ( ImageTypes = []string{ ImageTypePublic, ImageTypeCustom, } ImageCatalogs = []string{ "centos", "windows", "ubuntu", "debian", "esxi", } OsTypes = []string{ "windows", "linux", } BmcChargeTypes = []string{ BmcChargeTypePostpaid, BmcChargeTypePrepaid, } BmcInternetChargeTypes = []string{ BmcInternetChargeTypeBandwidth, BmcInternetChargeTypeTrafficPackage, BmcInternetChargeTypeInstanceBandwidth95, BmcInternetChargeTypeClusterBandwidth95, } InstanceOperatingStatus = []string{ BmcInstanceStatusPending, BmcInstanceStatusStopping, BmcInstanceStatusBooting, BmcInstanceStatusInstalling, BmcInstanceStatusRecycling, } SubnetOperatingStatus = []string{ BmcSubnetStatusCreating, BmcSubnetStatusPending, BmcSubnetStatusAssociate, } VpcOperatingStatus = []string{ BmcVpcStatusDeleting, BmcVpcStatusCreating, } EipOperatingStatus = []string{ BmcEipStatusCreating, BmcEipStatusAssociating, BmcEipStatusUnAssociating, BmcEipStatusReleasing, } )
var ( SecurityGroupRuleDirection = []string{ "ingress", "egress", } SecurityGroupRuleIpProtocol = []string{ "tcp", "udp", "icmp", "all", } SecurityGroupRulePolicy = []string{ "accept", } VmImageTypes = []string{ VmImageTypePublic, VmImageTypeCustom, } ImageCategories = []string{ "CentOS", "Windows", "Ubuntu", "Debian", } VmOsTypes = []string{ "windows", "linux", } VmChargeTypes = []string{ VmChargeTypePostpaid, VmChargeTypePrepaid, } VmInternetChargeTypes = []string{ VmInternetChargeTypeBandwidth, VmInternetChargeTypeTrafficPackage, VmInternetChargeTypeInstanceBandwidth95, VmInternetChargeTypeClusterBandwidth95, } VmInstanceOperatingStatus = []string{ VmInstanceStatusPending, VmInstanceStatusDeloying, VmInstanceStatusStopping, VmInstanceStatusBooting, VmInstanceStatusReleasing, VmInstanceStatusRebuilding, VmInstanceStatusRecycling, } )
var CLOUD_ENDPOINT_TYPES = []string{POINT_TYPE_TENCENT, POINT_TYPE_AWS, POINT_TYPE_GOOGLE}
var EDGE_POINT_TYPES = []string{POINT_TYPE_VPC, POINT_TYPE_PORT, POINT_TYPE_TENCENT, POINT_TYPE_AWS, POINT_TYPE_GOOGLE}
var ENDPOINT_TYPES = []string{POINT_TYPE_PORT, POINT_TYPE_TENCENT, POINT_TYPE_AWS, POINT_TYPE_GOOGLE}
var PRODUCT_TYPES = []string{PRODUCT_PRIVATE_CONNECT, PRODUCT_CLOUD_ROUTER}
var ROUTE_TYPES = []string{ROUTE_TYPE_BGP, ROUTE_TYPE_STATIC}
var ( SdnOperatingStatus = []string{ SdnStatusCreating, SdnStatusDeleting, SdnStatusUpdating, SdnStatusRecovering, SdnStatusReleasing, } )
Functions ¶
func AccessControlValidFunc ¶ added in v0.1.11
func AccessControlValidFunc(_ context.Context, diff *schema.ResourceDiff, _ interface{}) error
func BuildDdosIpState ¶
func BuildDdosIpState(bmcService BmcService, ddosIpId string, ctx context.Context, d *schema.ResourceData) *resource.StateChangeConf
func BuildDiskState ¶ added in v0.1.4
func BuildDiskState(vmService *VmService, diskId string, ctx context.Context, d *schema.ResourceData) *resource.StateChangeConf
func BuildEipState ¶
func BuildEipState(bmcService BmcService, eipId string, ctx context.Context, d *schema.ResourceData) *resource.StateChangeConf
func BuildImageState ¶ added in v0.1.4
func BuildImageState(vmService VmService, imageId string, ctx context.Context, d *schema.ResourceData) *resource.StateChangeConf
func DomainAcceleratorValidFunc ¶ added in v0.1.11
func DomainAcceleratorValidFunc() schema.CustomizeDiffFunc
func IPAcceleratorValidFunc ¶ added in v0.1.11
func IPAcceleratorValidFunc() schema.CustomizeDiffFunc
func InterfaceSliceToString ¶ added in v0.1.11
func InterfaceSliceToString(slice []interface{}) string
func IsAcListener ¶ added in v0.1.11
func IsContains ¶
func IsContains(array interface{}, value interface{}) bool
func IsOperating ¶ added in v0.1.10
func IsPortRange ¶ added in v0.1.11
func PortCheckValidFunc ¶ added in v0.1.11
func PortCheckValidFunc(_ context.Context, diff *schema.ResourceDiff, _ interface{}) error
func ProtocolOptsCheckValidFunc ¶ added in v0.1.11
func ProtocolOptsCheckValidFunc(_ context.Context, diff *schema.ResourceDiff, _ interface{}) error
func QueryAllPaginatedResource ¶ added in v0.1.11
func QueryAllPaginatedResource[T any](ctx context.Context, queryFunc QueryPaginatedFunc[T]) ([]T, error)
func SharpenAccelerateRegion ¶ added in v0.1.11
func SharpenAccelerateRegion(d *schema.ResourceData) []zga.AccelerateRegion
func SharpenAccessControl ¶ added in v0.1.11
func SharpenAccessControl(d *schema.ResourceData) (exist bool, enable bool, result []zga.AccessControlRule)
func SharpenDomain ¶ added in v0.1.11
func SharpenDomain(d *schema.ResourceData) *zga.Domain
func SharpenHealthCheck ¶ added in v0.1.11
func SharpenHealthCheck(d *schema.ResourceData) *zga.HealthCheck
func SharpenL4Listeners ¶ added in v0.1.11
func SharpenL4Listeners(d *schema.ResourceData) []*zga.AccelerationRuleL4Listener
func SharpenL7Listeners ¶ added in v0.1.11
func SharpenL7Listeners(d *schema.ResourceData) []*zga.AccelerationRuleL7Listener
func SharpenOrigin ¶ added in v0.1.11
func SharpenOrigin(d *schema.ResourceData) zga.Origin
func SharpenProtocolOpts ¶ added in v0.1.11
func SharpenProtocolOpts(d *schema.ResourceData) *zga.AccelerationRuleProtocolOpts
func StateTrimSpace ¶ added in v0.1.11
func StateTrimSpace(v interface{}) string
Types ¶
type AcceleratorsFilter ¶ added in v0.1.11
type BmcService ¶
type BmcService struct {
// contains filtered or unexported fields
}
func (*BmcService) AssociateSubnetInstance ¶
func (*BmcService) DeleteInstance ¶
func (s *BmcService) DeleteInstance(ctx context.Context, instanceId string) (err error)
func (*BmcService) DeleteSubnet ¶
func (s *BmcService) DeleteSubnet(ctx context.Context, subnetId string) (err error)
func (*BmcService) DeleteVpc ¶
func (s *BmcService) DeleteVpc(ctx context.Context, vpcId string) error
func (*BmcService) DescribeDdosIpAddressById ¶
func (s *BmcService) DescribeDdosIpAddressById(ctx context.Context, ddosIpId string) (eip *bmc.DdosIpAddress, err error)
func (*BmcService) DescribeDdosIpAddressesByFilter ¶
func (s *BmcService) DescribeDdosIpAddressesByFilter(filter *DDosIpFilter) (ddosIpAddress []*bmc.DdosIpAddress, err error)
func (*BmcService) DescribeEipAddressById ¶
func (s *BmcService) DescribeEipAddressById(ctx context.Context, eipId string) (eip *bmc.EipAddress, err error)
func (*BmcService) DescribeEipAddressesByFilter ¶
func (s *BmcService) DescribeEipAddressesByFilter(filter *EipFilter) (eipAddresses []*bmc.EipAddress, err error)
func (*BmcService) DescribeInstanceById ¶
func (s *BmcService) DescribeInstanceById(ctx context.Context, instanceId string) (instance *bmc.InstanceInfo, err error)
func (*BmcService) DescribeInstanceInternetStatus ¶
func (s *BmcService) DescribeInstanceInternetStatus(ctx context.Context, instanceId string) (*bmc.InstanceInternetStatus, error)
func (*BmcService) DescribeInstancesByFilter ¶
func (s *BmcService) DescribeInstancesByFilter(instanceFilter *InstancesFilter) (instances []*bmc.InstanceInfo, err error)
func (*BmcService) DescribeSubnetById ¶
func (*BmcService) DescribeSubnets ¶
func (s *BmcService) DescribeSubnets(ctx context.Context, filter *SubnetFilter) (subnets []*bmc.Subnet, err error)
func (*BmcService) DescribeVpcById ¶
func (*BmcService) DescribeVpcsByFilter ¶
func (*BmcService) DescribeZones ¶
func (*BmcService) DestroyInstance ¶
func (s *BmcService) DestroyInstance(ctx context.Context, instanceId string) (err error)
func (*BmcService) DisassociateSubnetInstance ¶
func (*BmcService) InstanceDdosIpStateRefreshFunc ¶
func (s *BmcService) InstanceDdosIpStateRefreshFunc(ctx context.Context, eipId string) resource.StateRefreshFunc
func (*BmcService) InstanceEipStateRefreshFunc ¶
func (s *BmcService) InstanceEipStateRefreshFunc(ctx context.Context, eipId string) resource.StateRefreshFunc
func (*BmcService) InstanceNetworkStateRefreshFunc ¶
func (s *BmcService) InstanceNetworkStateRefreshFunc(ctx context.Context, instanceId string, condition NetworkStateCondition) resource.StateRefreshFunc
func (*BmcService) InstanceStateRefreshFunc ¶
func (s *BmcService) InstanceStateRefreshFunc(ctx context.Context, instanceId string, failStates []string) resource.StateRefreshFunc
func (*BmcService) InstanceSubnetStateRefreshFunc ¶
func (s *BmcService) InstanceSubnetStateRefreshFunc(ctx context.Context, instanceId string, subnetId string) resource.StateRefreshFunc
func (*BmcService) ModifyDdosIpResourceGroup ¶
func (*BmcService) ModifyEipResourceGroup ¶
func (*BmcService) ModifyInstanceName ¶
func (*BmcService) ModifyInstanceResourceGroup ¶
func (*BmcService) ModifySubnetName ¶
func (*BmcService) ModifySubnetResourceGroupById ¶
func (*BmcService) ModifyVpcName ¶
func (*BmcService) ModifyVpcResourceGroup ¶
func (*BmcService) ReleaseDDoSIpAddressById ¶
func (s *BmcService) ReleaseDDoSIpAddressById(ctx context.Context, ddosIpId string) (err error)
func (*BmcService) ReleaseEipAddressById ¶
func (s *BmcService) ReleaseEipAddressById(ctx context.Context, eipId string) (err error)
func (*BmcService) SubnetStateRefreshFunc ¶
func (s *BmcService) SubnetStateRefreshFunc(ctx context.Context, subnetId string, failStates []string) resource.StateRefreshFunc
func (*BmcService) TerminateDDoSIpAddress ¶
func (s *BmcService) TerminateDDoSIpAddress(ctx context.Context, ddosIpId string) (err error)
func (*BmcService) TerminateEipAddress ¶
func (s *BmcService) TerminateEipAddress(ctx context.Context, eipId string) (err error)
func (*BmcService) VpcStateRefreshFunc ¶
func (s *BmcService) VpcStateRefreshFunc(ctx context.Context, vpcId string, failStates []string) resource.StateRefreshFunc
type CertificatesFilter ¶ added in v0.1.11
type CloudRegionFilter ¶ added in v0.1.10
type CloudRegionFilter struct {
// contains filtered or unexported fields
}
type CloudRouterFilter ¶ added in v0.1.10
type CloudRouterFilter struct {
CloudRouterIds []string
}
type DDosIpFilter ¶
type GoRoutineLimit ¶
type GoRoutineLimit struct { Count int Chan chan struct{} }
func NewGoRoutine ¶
func NewGoRoutine(num int) *GoRoutineLimit
func (*GoRoutineLimit) Run ¶
func (g *GoRoutineLimit) Run(f func())
type InstancesFilter ¶
type NetworkStateCondition ¶
type NetworkStateCondition interface {
// contains filtered or unexported methods
}
type PortFilter ¶ added in v0.1.10
type PrivateConnectFilter ¶ added in v0.1.10
type PrivateConnectFilter struct {
ConnectIds []string
}
type QueryPaginatedFunc ¶ added in v0.1.11
type SdnService ¶ added in v0.1.10
type SdnService struct {
// contains filtered or unexported fields
}
func (*SdnService) DeletePortById ¶ added in v0.1.10
func (s *SdnService) DeletePortById(ctx context.Context, portId string) (err error)
func (*SdnService) DeletePrivateConnectById ¶ added in v0.1.10
func (s *SdnService) DeletePrivateConnectById(ctx context.Context, connectId string) (err error)
func (*SdnService) DescribeCloudRegions ¶ added in v0.1.10
func (s *SdnService) DescribeCloudRegions(filter CloudRegionFilter) ([]*sdn.CloudRegion, error)
func (*SdnService) DescribeCloudRoutersByFilter ¶ added in v0.1.10
func (s *SdnService) DescribeCloudRoutersByFilter(filter *CloudRouterFilter) (cloudRouters []*sdn.CloudRouter, err error)
func (*SdnService) DescribeDatacenters ¶ added in v0.1.10
func (s *SdnService) DescribeDatacenters(ctx context.Context) ([]*sdn.DatacenterInfo, error)
func (*SdnService) DescribePortById ¶ added in v0.1.10
func (*SdnService) DescribePortsByFilter ¶ added in v0.1.10
func (s *SdnService) DescribePortsByFilter(portFilter *PortFilter) (instances []*sdn.PortInfo, err error)
func (*SdnService) DescribePrivateConnectById ¶ added in v0.1.10
func (s *SdnService) DescribePrivateConnectById(ctx context.Context, connectId string) (connect *sdn.PrivateConnect, err error)
func (*SdnService) DescribePrivateConnectsByFilter ¶ added in v0.1.10
func (s *SdnService) DescribePrivateConnectsByFilter(filter *PrivateConnectFilter) (privateConnects []*sdn.PrivateConnect, err error)
func (*SdnService) DestroyPort ¶ added in v0.1.10
func (s *SdnService) DestroyPort(ctx context.Context, portId string) (err error)
func (*SdnService) DestroyPrivateConnect ¶ added in v0.1.10
func (s *SdnService) DestroyPrivateConnect(ctx context.Context, connectId string) (err error)
func (*SdnService) ModifyPort ¶ added in v0.1.10
func (s *SdnService) ModifyPort(ctx context.Context, portId, portName, remarks, businessEntityName string) error
func (*SdnService) ModifyPrivateConnectBandwidth ¶ added in v0.1.10
func (*SdnService) ModifyPrivateConnectName ¶ added in v0.1.10
func (*SdnService) PortStateRefreshFunc ¶ added in v0.1.10
func (s *SdnService) PortStateRefreshFunc(ctx context.Context, portId string, failStates []string) resource.StateRefreshFunc
func (*SdnService) PrivateConnectStateRefreshFunc ¶ added in v0.1.10
func (s *SdnService) PrivateConnectStateRefreshFunc(ctx context.Context, connectId string, failStates []string) resource.StateRefreshFunc
type SecurityGroupFilter ¶ added in v0.1.4
type SubnetFilter ¶
type VmDiskFilter ¶ added in v0.1.4
type VmImageFilter ¶ added in v0.1.4
type VmImageFilter struct {
// contains filtered or unexported fields
}
type VmNetworkStateCondition ¶ added in v0.1.4
type VmNetworkStateCondition interface {
// contains filtered or unexported methods
}
type VmService ¶ added in v0.1.4
type VmService struct {
// contains filtered or unexported fields
}
func (*VmService) CreateSecurityGroupRule ¶ added in v0.1.4
func (*VmService) DeleteDisk ¶ added in v0.1.4
func (*VmService) DeleteImage ¶ added in v0.1.4
func (*VmService) DeleteInstance ¶ added in v0.1.4
func (*VmService) DeleteKeyPair ¶ added in v0.1.7
func (*VmService) DeleteSecurityGroup ¶ added in v0.1.4
func (*VmService) DeleteSubnet ¶ added in v0.1.4
func (*VmService) DescribeDiskById ¶ added in v0.1.4
func (*VmService) DescribeDisks ¶ added in v0.1.4
func (*VmService) DescribeImageById ¶ added in v0.1.4
func (*VmService) DescribeImagesByFilter ¶ added in v0.1.4
func (s *VmService) DescribeImagesByFilter(filter *VmImageFilter) (images []*vm.ImageInfo, err error)
func (*VmService) DescribeInstanceById ¶ added in v0.1.4
func (*VmService) DescribeInstanceInternetStatus ¶ added in v0.1.4
func (*VmService) DescribeKeyPairById ¶ added in v0.1.7
func (*VmService) DescribeKeyPairs ¶ added in v0.1.7
func (*VmService) DescribeSecurityGroupById ¶ added in v0.1.4
func (*VmService) DescribeSecurityGroupRule ¶ added in v0.1.4
func (*VmService) DescribeSecurityGroupsByFilter ¶ added in v0.1.4
func (s *VmService) DescribeSecurityGroupsByFilter(filter *SecurityGroupFilter) (securityGroups []*vm.SecurityGroupInfo, err error)
func (*VmService) DescribeSubnetById ¶ added in v0.1.4
func (*VmService) DescribeSubnets ¶ added in v0.1.4
func (s *VmService) DescribeSubnets(ctx context.Context, filter *VmSubnetFilter) (subnets []*vm.SubnetInfo, err error)
func (*VmService) DescribeZones ¶ added in v0.1.4
func (*VmService) DestroyInstance ¶ added in v0.1.4
func (*VmService) DiskStateRefreshFunc ¶ added in v0.1.4
func (*VmService) ImageStateRefreshFunc ¶ added in v0.1.4
func (*VmService) InstanceNetworkStateRefreshFunc ¶ added in v0.1.4
func (s *VmService) InstanceNetworkStateRefreshFunc(ctx context.Context, instanceId string, condition VmNetworkStateCondition) resource.StateRefreshFunc
func (*VmService) InstanceStateRefreshFunc ¶ added in v0.1.4
func (*VmService) ModifyDiskName ¶ added in v0.1.4
func (*VmService) ModifyDiskResourceGroupId ¶ added in v0.1.5
func (*VmService) ModifyImage ¶ added in v0.1.4
func (*VmService) ModifyInstanceName ¶ added in v0.1.4
func (*VmService) ModifyInstanceResourceGroup ¶ added in v0.1.4
func (*VmService) ModifyKeyPair ¶ added in v0.1.7
func (*VmService) ModifySecurityGroupAttribute ¶ added in v0.1.4
func (*VmService) ModifySubnetName ¶ added in v0.1.4
func (*VmService) ReleaseDisk ¶ added in v0.1.4
func (*VmService) SubnetStateRefreshFunc ¶ added in v0.1.4
type VmSubnetFilter ¶ added in v0.1.4
type ZgaService ¶ added in v0.1.11
type ZgaService struct {
// contains filtered or unexported fields
}
func NewZgaService ¶ added in v0.1.11
func NewZgaService(client *connectivity.ZenlayerCloudClient) *ZgaService
func (*ZgaService) AcceleratorStateRefreshFunc ¶ added in v0.1.11
func (s *ZgaService) AcceleratorStateRefreshFunc(ctx context.Context, acceleratorId string, failStates []string) resource.StateRefreshFunc
func (*ZgaService) CloseAcceleratorAccessControl ¶ added in v0.1.11
func (s *ZgaService) CloseAcceleratorAccessControl(ctx context.Context, acceleratorId string) error
func (*ZgaService) DeleteAcceleratorById ¶ added in v0.1.11
func (s *ZgaService) DeleteAcceleratorById(ctx context.Context, acceleratorId string) error
func (*ZgaService) DeleteCertificatesById ¶ added in v0.1.11
func (s *ZgaService) DeleteCertificatesById(ctx context.Context, certificateId string) error
func (*ZgaService) DescribeAccelerateRegions ¶ added in v0.1.11
func (*ZgaService) DescribeAcceleratorById ¶ added in v0.1.11
func (s *ZgaService) DescribeAcceleratorById(ctx context.Context, acceleratorId string) (*zga.AcceleratorInfo, error)
func (*ZgaService) DescribeAcceleratorsByFilter ¶ added in v0.1.11
func (s *ZgaService) DescribeAcceleratorsByFilter(ctx context.Context, filter *AcceleratorsFilter) ([]*zga.AcceleratorInfo, error)
func (*ZgaService) DescribeCertificateById ¶ added in v0.1.11
func (s *ZgaService) DescribeCertificateById(ctx context.Context, certificateId string) (*zga.CertificateInfo, error)
func (*ZgaService) DescribeCertificatesByFilter ¶ added in v0.1.11
func (s *ZgaService) DescribeCertificatesByFilter(ctx context.Context, filter *CertificatesFilter) ([]*zga.CertificateInfo, error)
func (*ZgaService) DescribeOriginRegions ¶ added in v0.1.11
func (*ZgaService) ModifyAcceleratorAccRegions ¶ added in v0.1.11
func (s *ZgaService) ModifyAcceleratorAccRegions(ctx context.Context, acceleratorId string, accRegions []zga.AccelerateRegion) error
func (*ZgaService) ModifyAcceleratorAccessControl ¶ added in v0.1.11
func (s *ZgaService) ModifyAcceleratorAccessControl(ctx context.Context, acceleratorId string, rules []zga.AccessControlRule) error
func (*ZgaService) ModifyAcceleratorCertificateId ¶ added in v0.1.11
func (*ZgaService) ModifyAcceleratorDomain ¶ added in v0.1.11
func (*ZgaService) ModifyAcceleratorHealthCheck ¶ added in v0.1.11
func (s *ZgaService) ModifyAcceleratorHealthCheck(ctx context.Context, acceleratorId string, healthCheck zga.HealthCheck) error
func (*ZgaService) ModifyAcceleratorListener ¶ added in v0.1.11
func (s *ZgaService) ModifyAcceleratorListener(ctx context.Context, acceleratorId string, l4Listeners []*zga.AccelerationRuleL4Listener, l7Listener []*zga.AccelerationRuleL7Listener) error
func (*ZgaService) ModifyAcceleratorName ¶ added in v0.1.11
func (*ZgaService) ModifyAcceleratorOrigin ¶ added in v0.1.11
func (*ZgaService) ModifyAcceleratorProtocolOpts ¶ added in v0.1.11
func (s *ZgaService) ModifyAcceleratorProtocolOpts(ctx context.Context, acceleratorId string, protocolOps zga.AccelerationRuleProtocolOpts) error
func (*ZgaService) OpenAcceleratorAccessControl ¶ added in v0.1.11
func (s *ZgaService) OpenAcceleratorAccessControl(ctx context.Context, acceleratorId string) error
Source Files
¶
- common.go
- data_source_zc_bmc_Instance_types.go
- data_source_zc_bmc_ddos_ips.go
- data_source_zc_bmc_eips.go
- data_source_zc_bmc_images.go
- data_source_zc_bmc_instances.go
- data_source_zc_bmc_subnets.go
- data_source_zc_bmc_vpc_regions.go
- data_source_zc_bmc_vpcs.go
- data_source_zc_bmc_zones.go
- data_source_zc_disks.go
- data_source_zc_images.go
- data_source_zc_instance_types.go
- data_source_zc_key_pairs.go
- data_source_zc_sdn_cloud_regions.go
- data_source_zc_sdn_cloud_routers.go
- data_source_zc_sdn_datacenters.go
- data_source_zc_sdn_ports.go
- data_source_zc_sdn_private_connects.go
- data_source_zc_security_groups.go
- data_source_zc_subnets.go
- data_source_zc_zga_accelerate_regions.go
- data_source_zc_zga_accelerators.go
- data_source_zc_zga_certificates.go
- data_source_zc_zga_origin_regions.go
- data_source_zc_zones.go
- errors.go
- extension_bmc.go
- extension_sdn.go
- extension_vm.go
- extension_zga.go
- provider.go
- resource_zc_bmc_ddos_ip.go
- resource_zc_bmc_ddos_ip_association.go
- resource_zc_bmc_eip.go
- resource_zc_bmc_eip_association.go
- resource_zc_bmc_instance.go
- resource_zc_bmc_subnet.go
- resource_zc_bmc_vpc.go
- resource_zc_disk.go
- resource_zc_disk_attachment.go
- resource_zc_image.go
- resource_zc_instance.go
- resource_zc_key_pair.go
- resource_zc_sdn_port.go
- resource_zc_sdn_private_connect.go
- resource_zc_security_group.go
- resource_zc_security_group_attachment.go
- resource_zc_security_group_rule.go
- resource_zc_subnet.go
- resource_zc_zga_accelerator.go
- resource_zc_zga_certificate.go
- service_zenlayer_bmc.go
- service_zenlayer_sdn.go
- service_zenlayer_vm.go
- service_zenlayer_zga.go
- validators.go