zenlayercloud

package
v0.2.22 Latest Latest
Warning

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

Go to latest
Published: Mar 12, 2026 License: Apache-2.0 Imports: 34 Imported by: 0

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 information about BMC instance hardware health status.

~> **NOTE:** Different hardware vendors use different starting indices for CPU numbering (some start from 0, others from 1). The attribute names (e.g., cpu0_temp, cpu1_temp, cpu2_temp) retain the original vendor's numbering style.

Example Usage

```hcl

data "zenlayercloud_bmc_instance_health_status" "foo" {
  instance_id = "<instanceId>"
}

```

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 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 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 query vm disk information.

Example Usage

```hcl data "zenlayercloud_zvm_disks" "all" { }

filter system disk

data "zenlayercloud_zvm_disks" "system_disk" {
  disk_type = "SYSTEM"
}

#filter with name regex

data "zenlayercloud_zvm_disks" "name_disk" {
  name_regex = "disk20*"
}

```

Use this data source to query images.

Example Usage

```hcl

data "zenlayercloud_zvm_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_zvm_instance_types" "foo" {

}

data "zenlayercloud_zvm_instance_types" "sel1c1g" {
  availability_zone = "SEL-A"
  cpu_count   		= 1
  memory	        = 1
}

```

Use this data source to query detailed information of security groups.

Example Usage

```hcl data "zenlayercloud_zvm_security_groups" "sg1" { }

data "zenlayercloud_zvm_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_zvm_subnet" "foo" {
  availability_zone = var.availability_zone
  name       		= "subnet_test"
  cidr_block 		= "10.0.0.0/24"
}

filter by subnet id

data "zenlayercloud_zvm_subnets" "id_subnets" {
  subnet_id = zenlayercloud_zvm_subnet.foo.id
}

filter by subnet name

data "zenlayercloud_zvm_subnets" "name_subnets" {
  subnet_name = zenlayercloud_zvm_subnet.foo.name
}

```

Use this data source to get all vm available zones.

Example Usage

```hcl data "zenlayercloud_zvm_zones" "all" { }

data "zenlayercloud_zvm_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(ZVM)

  Data Source
	zenlayercloud_zvm_zones
	zenlayercloud_zvm_images
	zenlayercloud_zvm_instance_types
	zenlayercloud_zvm_security_groups
	zenlayercloud_zvm_instance_types
	zenlayercloud_zvm_disks
	zenlayercloud_zvm_subnets

  Resource
	zenlayercloud_zvm_image
	zenlayercloud_zvm_security_group
	zenlayercloud_zvm_security_group_attachment
	zenlayercloud_zvm_security_group_rule
	zenlayercloud_zvm_instance
	zenlayercloud_zvm_disk
	zenlayercloud_zvm_disk_attachment
	zenlayercloud_zvm_subnet

Bare Metal Cloud(BMC)

  Data Source
	zenlayercloud_bmc_zones
	zenlayercloud_bmc_instance_types
    zenlayercloud_bmc_images
	zenlayercloud_bmc_instances
	zenlayercloud_bmc_instance_health_status
	zenlayercloud_bmc_eips
	zenlayercloud_bmc_vpc_regions
	zenlayercloud_bmc_vpcs
	zenlayercloud_bmc_subnets

  Resource
	zenlayercloud_bmc_instance
	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

Zenlayer Elastic Compute(ZEC)

  Data Source
	zenlayercloud_zec_vpcs
	zenlayercloud_zec_vpc_routes
	zenlayercloud_zec_subnets
	zenlayercloud_zec_dhcp_options_sets
	zenlayercloud_zec_images
	zenlayercloud_zec_disks
	zenlayercloud_zec_disk_snapshots
	zenlayercloud_zec_disk_snapshot_policies
	zenlayercloud_zec_cidrs
	zenlayercloud_zec_eips
	zenlayercloud_zec_instances
	zenlayercloud_zec_vnics
	zenlayercloud_zec_nat_gateways
	zenlayercloud_zec_nat_gateway_snats
	zenlayercloud_zec_nat_gateway_dnats
	zenlayercloud_zec_border_gateways

  Resource
	zenlayercloud_zec_vpc
	zenlayercloud_zec_security_group
	zenlayercloud_zec_security_group_rule_set
	zenlayercloud_zec_vpc_security_group_attachment
	zenlayercloud_zec_vpc_route
	zenlayercloud_zec_subnet
	zenlayercloud_zec_dhcp_options_set
	zenlayercloud_zec_dhcp_options_set_attachment
	zenlayercloud_zec_vnic
	zenlayercloud_zec_vnic_attachment
	zenlayercloud_zec_vnic_ipv4
	zenlayercloud_zec_cidr
	zenlayercloud_zec_eip
	zenlayercloud_zec_eip_association
	zenlayercloud_zec_instance
	zenlayercloud_zec_disk
	zenlayercloud_zec_disk_attachment
	zenlayercloud_zec_disk_snapshot
	zenlayercloud_zec_disk_snapshot_policy
	zenlayercloud_zec_disk_snapshot_policy_attachment
	zenlayercloud_zec_nat_gateway
	zenlayercloud_zec_nat_gateway_snat
	zenlayercloud_zec_nat_gateway_dnat

Zenlayer Load Balancing(ZLB)

  Data Source
	zenlayercloud_zlb_regions
	zenlayercloud_zlb_instances
	zenlayercloud_zlb_listeners
	zenlayercloud_zlb_backends

  Resource
	zenlayercloud_zlb_instance
	zenlayercloud_zlb_listener
	zenlayercloud_zlb_backend

Zenlayer Private DNS(ZDNS)

  Data Source
	zenlayercloud_zdns_zones
	zenlayercloud_zdns_zone_records

  Resource
	zenlayercloud_zdns_zone
	zenlayercloud_zdns_zone_record
	zenlayercloud_zdns_zone_vpc_set_attachment

Traffic

  Data Source
	zenlayercloud_traffic_bandwidth_cluster_areas
	zenlayercloud_traffic_bandwidth_clusters

  Resource
	zenlayercloud_traffic_bandwidth_cluster

Keypair

  Data Source
	zenlayercloud_key_pairs

  Resource
	zenlayercloud_key_pair

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
  tags = {
    "group"  = "test"
  }
}

```

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. Executing terraform destroy will only cancel the subscription, and the instance will not be immediately destroyed. It will be automatically destroyed after expiration.

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
  tags = {
	"group"  = "test"
  }
}

```

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"
  tags = {
    "group"  = "test"
  }
}

```

Import

Vpc instance can be imported, e.g.

``` $ terraform import zenlayercloud_bmc_vpc.test vpc-id ```

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 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 ```

Provide a resource to create data disk.

Example Usage

```hcl

resource "zenlayercloud_zvm_disk" "foo" {
  availability_zone 	 = "SEL-A"
  name  				 = "SEL-20G"
  disk_size				 = 20
  tags = {
    "group"  = "test"
  }
}

```

Import

Disk instance can be imported, e.g.

``` $ terraform import zenlayercloud_zvm_disk.test disk-id ```

Provide a resource to attach a disk to an instance.

Example Usage

```hcl

resource "zenlayercloud_zvm_disk_attachment" "foo" {
  disk_id 	 	= "diskxxxx"
  instance_id  	= "instancexxxx"
}

```

Import

Disk attachment can be imported, e.g.

``` $ terraform import zenlayercloud_zvm_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_zvm_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_zvm_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_zvm_zones" "default" {

}

data "zenlayercloud_zvm_instance_types" "default" {
  availability_zone = data.zenlayercloud_zvm_zones.default.zones.0.id
}

Get a centos image which also supported to install on given instance type

data "zenlayercloud_zvm_images" "default" {
  availability_zone = data.zenlayercloud_zvm_zones.default.zones.0.id
  category          = "CentOS"
}
resource "zenlayercloud_zvm_subnet" "default" {
  name              = "test-subnet"
  cidr_block        = "10.0.10.0/24"
}

Create a web server

resource "zenlayercloud_zvm_instance" "web" {
  availability_zone    = data.zenlayercloud_zvm_zones.default.zones.0.id
  image_id             = data.zenlayercloud_zvm_images.default.images.0.image_id
  internet_charge_type = "ByBandwidth"
  instance_type        = data.zenlayercloud_zvm_instance_types.default.instance_types.0.id
  password             = "Example~123"
  instance_name        = "web"
  subnet_id            = zenlayercloud_zvm_subnet.default.id
  system_disk_size     = 100
  tags = {
    "group"  = "web"
  }
}

```

Import

Instance can be imported using the id, e.g.

``` terraform import zenlayercloud_zvm_instance.foo 123123xxx ```

Provides a resource to create security group.

Example Usage

```hcl

resource "zenlayercloud_zvm_security_group" "foo" {
  name       	= "example-name"
  description	= "example purpose"
}

```

Import

Security group can be imported, e.g.

``` $ terraform import zenlayercloud_zvm_security_group.security_group security_group_id ```

Provides a resource to create a security group attachment

Example Usage

```hcl

resource "zenlayercloud_zvm_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_zvm_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_zvm_security_group_rule_set instead.

Example Usage

```hcl

resource "zenlayercloud_zvm_security_group" "foo" {
  name        = "example-name"
  description = "example purpose"
}
resource "zenlayercloud_zvm_security_group_rule" "bar" {
  security_group_id = zenlayercloud_zvm_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_zvm_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_zvm_subnet.subnet subnet_id ```

Index

Constants

View Source
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"
)
View Source
const (
	SdnStatusCreating   = "CREATING"
	SdnStatusDeleting   = "DELETING"
	SdnStatusUpdating   = "UPDATING"
	SdnStatusRunning    = "RUNNING"
	SdnStatusRecovering = "RECOVERING"
	SdnStatusRecycle    = "RECYCLED"
	SdnStatusReleasing  = "DESTROYING"
)
View Source
const (
	ROUTE_TYPE_BGP    = "BGP"
	ROUTE_TYPE_STATIC = "STATIC"
)
View Source
const (
	POINT_TYPE_PORT    = "PORT"
	POINT_TYPE_TENCENT = "TENCENT"
	POINT_TYPE_AWS     = "AWS"
	POINT_TYPE_GOOGLE  = "GOOGLE"
	POINT_TYPE_VPC     = "VPC"
)
View Source
const (
	PRODUCT_PRIVATE_CONNECT = "PrivateConnect"
	PRODUCT_CLOUD_ROUTER    = "CloudRouter"
)
View Source
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"

	VmImageStatusUnavailable = "UNAVAILABLE"

	VmSubnetStatusCreating  = "Creating"
	VmSubnetStatusAvailable = "Available"
	VmSubnetStatusFailed    = "Failed"

	VmDiskStatusInUse     = "IN_USE"
	VmDiskStatusAvailable = "AVAILABLE"
	VmDiskStatusAttaching = "ATTACHING"
	VmDiskStatusDetaching = "DETACHING"
	VmDiskStatusCreating  = "CREATING"
	VmDiskStatusDeleting  = "DELETING"
	VmDiskStatusRecycle   = "RECYCLED"
	VmDiskStatusRecycling = "RECYCLING"
)
View Source
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"
)
View Source
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"
)
View Source
const InstanceSubnetStatusNotBind = "NotBind"
View Source
const NetworkStatusFail = "Fail"
View Source
const NetworkStatusOK = "OK"
View Source
const NetworkStatusPending = "Pending"
View Source
const VmNetworkStatusFail = "Fail"
View Source
const VmNetworkStatusOK = "OK"
View Source
const VmNetworkStatusPending = "Pending"

Variables

View Source
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,
	}
)

Functions

func AccelerateRegionsSchemaSetFuncfunc added in v0.1.12

func AccelerateRegionsSchemaSetFuncfunc(val interface{}) int

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 IsAcListener(i interface{}, k string) (warnings []string, errors []error)

func IsOperating added in v0.1.10

func IsOperating(status string) bool

func IsPortRange added in v0.1.11

func IsPortRange(i interface{}, k string) (warnings []string, errors []error)

func ParsePort added in v0.1.11

func ParsePort(data map[string]interface{}) (bport, eport int, err error)

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 Provider

func Provider() *schema.Provider

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 AcceleratorsFilter struct {
	AcceleratorIds     []string
	AcceleratorName    string
	AcceleratorStatus  string
	AccelerateRegionId string
	Vip                string
	Domain             string
	Origin             string
	OriginRegionId     string
	Cname              string
	ResourceGroupId    string
}

type BmcService

type BmcService struct {
	// contains filtered or unexported fields
}

func (*BmcService) AssociateSubnetInstance

func (s *BmcService) AssociateSubnetInstance(ctx context.Context, instanceId string, subnetId string) error

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) DescribeInstanceMonitorHealth added in v0.2.13

func (s *BmcService) DescribeInstanceMonitorHealth(ctx context.Context, instanceId string) (healthStatus *bmc.InstanceHealth, err error)

func (*BmcService) DescribeInstancesByFilter

func (s *BmcService) DescribeInstancesByFilter(instanceFilter *InstancesFilter) (instances []*bmc.InstanceInfo, err error)

func (*BmcService) DescribeSubnetById

func (s *BmcService) DescribeSubnetById(ctx context.Context, subnetId string) (subnet *bmc.Subnet, err error)

func (*BmcService) DescribeSubnets

func (s *BmcService) DescribeSubnets(ctx context.Context, filter *SubnetFilter) (subnets []*bmc.Subnet, err error)

func (*BmcService) DescribeVpcById

func (s *BmcService) DescribeVpcById(ctx context.Context, vpcId string) (vpc *bmc.VpcInfo, err error)

func (*BmcService) DescribeVpcsByFilter

func (s *BmcService) DescribeVpcsByFilter(ctx context.Context, filter *VpcFilter) (vpcs []*bmc.VpcInfo, err error)

func (*BmcService) DescribeZones

func (s *BmcService) DescribeZones(ctx context.Context) (zones []*bmc.ZoneInfo, err error)

func (*BmcService) DestroyInstance

func (s *BmcService) DestroyInstance(ctx context.Context, instanceId string) (err error)

func (*BmcService) DisassociateSubnetInstance

func (s *BmcService) DisassociateSubnetInstance(ctx context.Context, instanceId string, subnetId string) error

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 (s *BmcService) ModifyDdosIpResourceGroup(ctx context.Context, ddpsIp string, resourceGroupId string) error

func (*BmcService) ModifyEipResourceGroup

func (s *BmcService) ModifyEipResourceGroup(ctx context.Context, eipId string, resourceGroupId string) error

func (*BmcService) ModifyInstanceName

func (s *BmcService) ModifyInstanceName(ctx context.Context, instanceId string, instanceName string) error

func (*BmcService) ModifyInstanceResourceGroup

func (s *BmcService) ModifyInstanceResourceGroup(ctx context.Context, instanceId string, resourceGroupId string) error

func (*BmcService) ModifySubnetName

func (s *BmcService) ModifySubnetName(ctx context.Context, subnetId string, subnetName string) error

func (*BmcService) ModifySubnetResourceGroupById

func (s *BmcService) ModifySubnetResourceGroupById(ctx context.Context, subnetId string, resourceGroupId string) error

func (*BmcService) ModifyVpcName

func (s *BmcService) ModifyVpcName(ctx context.Context, vpcId string, vpcName string) error

func (*BmcService) ModifyVpcResourceGroup

func (s *BmcService) ModifyVpcResourceGroup(ctx context.Context, vpcId string, resourceGroupId string) error

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 CertificatesFilter struct {
	CertificateIds   []string
	CertificateLabel string
	DnsName          string
	ResourceGroupId  string
	Expired          *bool
}

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 DDosIpFilter struct {
	IpIds           []string
	InstanceId      *string
	ZoneId          *string
	Ip              *string
	DdosIpStatus    *string
	ResourceGroupId *string
}

type EipFilter

type EipFilter struct {
	EipIds          []string
	InstanceId      *string
	ZoneId          *string
	Ip              *string
	EipStatus       *string
	ResourceGroupId *string
}

type InstancesFilter

type InstancesFilter struct {
	InstancesIds    []string
	ZoneId          *string
	InstanceTypeId  *string
	InstanceName    *string
	Hostname        *string
	ImageId         *string
	SubnetId        *string
	InstanceStatus  *string
	ResourceGroupId *string
	PublicIpv4      *string
	PrivateIpv4     *string
}

type NetworkStateCondition

type NetworkStateCondition interface {
	// contains filtered or unexported methods
}

type PortFilter added in v0.1.10

type PortFilter struct {
	PortIds []string
	DcId    *string
}

type PrivateConnectFilter added in v0.1.10

type PrivateConnectFilter struct {
	ConnectIds []string
}

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 (s *SdnService) DescribePortById(ctx context.Context, portId string) (instance *sdn.PortInfo, err error)

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 (s *SdnService) ModifyPrivateConnectBandwidth(ctx context.Context, connectId string, bandwidth int) error

func (*SdnService) ModifyPrivateConnectName added in v0.1.10

func (s *SdnService) ModifyPrivateConnectName(ctx context.Context, connectId string, name string) error

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 SecurityGroupFilter struct {
	SecurityGroupId string
	Name            string
}

type SubnetFilter

type SubnetFilter struct {
	VpcId           string
	SubnetId        string
	SubnetName      string
	CidrBlock       string
	ZoneId          string
	ResourceGroupId string
}

type VmDiskFilter added in v0.1.4

type VmDiskFilter struct {
	Id         string
	ZoneId     string
	DiskType   string
	DiskName   string
	Portable   *bool
	InstanceId string
	Status     string
}

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 (s *VmService) CreateSecurityGroupRule(ctx context.Context, info securityGroupRuleBasicInfo) (ruleId string, err error)

func (*VmService) DeleteDisk added in v0.1.4

func (s *VmService) DeleteDisk(ctx context.Context, diskId string) (err error)

func (*VmService) DeleteImage added in v0.1.4

func (s *VmService) DeleteImage(ctx context.Context, imageId string) error

func (*VmService) DeleteInstance added in v0.1.4

func (s *VmService) DeleteInstance(ctx context.Context, instanceId string) (err error)

func (*VmService) DeleteKeyPair added in v0.1.7

func (s *VmService) DeleteKeyPair(keyId string) error

func (*VmService) DeleteSecurityGroup added in v0.1.4

func (s *VmService) DeleteSecurityGroup(ctx context.Context, securityGroupId string) (err error)

func (*VmService) DeleteSubnet added in v0.1.4

func (s *VmService) DeleteSubnet(ctx context.Context, subnetId string) (err error)

func (*VmService) DescribeDiskById added in v0.1.4

func (s *VmService) DescribeDiskById(ctx context.Context, diskId string) (*vm.DiskInfo, error)

func (*VmService) DescribeDisks added in v0.1.4

func (s *VmService) DescribeDisks(ctx context.Context, filter *VmDiskFilter) (disks []*vm.DiskInfo, err error)

func (*VmService) DescribeImageById added in v0.1.4

func (s *VmService) DescribeImageById(ctx context.Context, imageId string) (image *vm.DescribeImageResponseParams, err error)

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 (s *VmService) DescribeInstanceById(ctx context.Context, instanceId string) (instance *vm.InstanceInfo, err error)

func (*VmService) DescribeInstanceInternetStatus added in v0.1.4

func (s *VmService) DescribeInstanceInternetStatus(ctx context.Context, instanceId string) (*vm.DescribeInstanceInternetStatusResponseParams, error)

func (*VmService) DescribeKeyPairById added in v0.1.7

func (s *VmService) DescribeKeyPairById(ctx context.Context, keyId string) (keyPair *vm.KeyPair, err error)

func (*VmService) DescribeKeyPairs added in v0.1.7

func (s *VmService) DescribeKeyPairs(ctx context.Context, request *vm.DescribeKeyPairsRequest) (keyPairs []*vm.KeyPair, err error)

func (*VmService) DescribeSecurityGroupById added in v0.1.4

func (s *VmService) DescribeSecurityGroupById(ctx context.Context, securityGroupId string) (securityGroup *vm.SecurityGroupInfo, err error)

func (*VmService) DescribeSecurityGroupRule added in v0.1.4

func (s *VmService) DescribeSecurityGroupRule(ruleId string) (securityGroupId string, rule *vm.RuleInfo, err error)

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 (s *VmService) DescribeSubnetById(ctx context.Context, subnetId string) (subnet *vm.SubnetInfo, err error)

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 (s *VmService) DescribeZones(ctx context.Context) (zones []*vm.ZoneInfo, err error)

func (*VmService) DestroyInstance added in v0.1.4

func (s *VmService) DestroyInstance(ctx context.Context, instanceId string) (err error)

func (*VmService) DiskStateRefreshFunc added in v0.1.4

func (s *VmService) DiskStateRefreshFunc(ctx context.Context, diskId string, failStates []string) resource.StateRefreshFunc

func (*VmService) ImageStateRefreshFunc added in v0.1.4

func (s *VmService) ImageStateRefreshFunc(ctx context.Context, imageId string) resource.StateRefreshFunc

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 (s *VmService) InstanceStateRefreshFunc(ctx context.Context, instanceId string, failStates []string) resource.StateRefreshFunc

func (*VmService) ModifyDiskName added in v0.1.4

func (s *VmService) ModifyDiskName(ctx context.Context, diskId string, diskName string) error

func (*VmService) ModifyDiskResourceGroupId added in v0.1.5

func (s *VmService) ModifyDiskResourceGroupId(ctx context.Context, diskId string, resourceGroupId string) error

func (*VmService) ModifyImage added in v0.1.4

func (s *VmService) ModifyImage(ctx context.Context, imageId string, imageName string, imageDesc string) error

func (*VmService) ModifyInstanceName added in v0.1.4

func (s *VmService) ModifyInstanceName(ctx context.Context, instanceId string, instanceName string) error

func (*VmService) ModifyInstanceResourceGroup added in v0.1.4

func (s *VmService) ModifyInstanceResourceGroup(ctx context.Context, instanceId string, resourceGroupId string) error

func (*VmService) ModifyKeyPair added in v0.1.7

func (s *VmService) ModifyKeyPair(ctx context.Context, keyId string, keyDesc *string) error

func (*VmService) ModifySecurityGroupAttribute added in v0.1.4

func (s *VmService) ModifySecurityGroupAttribute(ctx context.Context, securityGroupId string, securityGroupName string, description string) error

func (*VmService) ModifySubnetName added in v0.1.4

func (s *VmService) ModifySubnetName(ctx context.Context, subnetId string, subnetName string) error

func (*VmService) ReleaseDisk added in v0.1.4

func (s *VmService) ReleaseDisk(ctx context.Context, diskId string) (err error)

func (*VmService) SubnetStateRefreshFunc added in v0.1.4

func (s *VmService) SubnetStateRefreshFunc(ctx context.Context, subnetId string, failStates []string) resource.StateRefreshFunc

type VmSubnetFilter added in v0.1.4

type VmSubnetFilter struct {
	SubnetId   string
	SubnetName string
	CidrBlock  string
	ZoneId     string
}

type VpcFilter

type VpcFilter struct {
	VpcId     *string
	CidrBlock *string

	ResourceGroupId *string
	// contains filtered or unexported fields
}

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 (s *ZgaService) DescribeAccelerateRegions(ctx context.Context, originRegionId string) ([]*zga.Region, error)

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 (s *ZgaService) DescribeOriginRegions(ctx context.Context) ([]zga.Region, error)

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 (s *ZgaService) ModifyAcceleratorCertificateId(ctx context.Context, acceleratorId string, certificateId string) error

func (*ZgaService) ModifyAcceleratorDomain added in v0.1.11

func (s *ZgaService) ModifyAcceleratorDomain(ctx context.Context, acceleratorId string, domain zga.Domain) error

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 (s *ZgaService) ModifyAcceleratorName(ctx context.Context, acceleratorId string, name string) error

func (*ZgaService) ModifyAcceleratorOrigin added in v0.1.11

func (s *ZgaService) ModifyAcceleratorOrigin(ctx context.Context, acceleratorId string, origin zga.Origin) error

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

Directories

Path Synopsis
services
keypair
Use this data source to query SSH key pair list.
Use this data source to query SSH key pair list.
zec
Use this data source to get all vm available zones.
Use this data source to get all vm available zones.
zlb
Use this data source to query Load Balancer Backends.
Use this data source to query Load Balancer Backends.
zrm

Jump to

Keyboard shortcuts

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