zenlayercloud

package
v0.1.11 Latest Latest
Warning

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

Go to latest
Published: Mar 18, 2024 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 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

View Source
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"
)
View Source
const (
	ServiceNotAvailable = "SERVICE_TEMPORARY_UNAVAILABLE"
	InternalServerError = "INTERNAL_SERVER_ERROR"
	ReadTimedOut        = "REQUEST_TIMED_OUT"
	ResourceNotFound    = "OPERATION_FAILED_RESOURCE_NOT_FOUND"
)
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 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 Error

func Error(msg string, args ...interface{}) error

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 IsContains

func IsContains(array interface{}, value interface{}) bool

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 ParseResourceId

func ParseResourceId(id string, length int) (parts []string, 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 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

func String

func String(s string) int

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) 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 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 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 QueryPaginatedFunc added in v0.1.11

type QueryPaginatedFunc[T any] func(ctx context.Context, pageNum, pageSize int) (items []T, total int, err error)

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

Jump to

Keyboard shortcuts

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