{"name":"ucloud","version":"1.39.2","description":"A Pulumi provider dynamically bridged from ucloud.","attribution":"This Pulumi package is based on the [`ucloud` Terraform Provider](https://github.com/ucloud/terraform-provider-ucloud).","repository":"https://github.com/ucloud/terraform-provider-ucloud","publisher":"ucloud","meta":{"moduleFormat":"(.*)(?:/[^/]*)"},"language":{"csharp":{"compatibility":"tfbridge20","liftSingleValueMethodReturns":true,"respectSchemaVersion":true},"go":{"generateExtraInputTypes":true,"importBasePath":"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud","liftSingleValueMethodReturns":true,"respectSchemaVersion":true,"rootPackageName":"ucloud"},"java":{"basePackage":"","buildFiles":"","gradleNexusPublishPluginVersion":"","gradleTest":""},"nodejs":{"compatibility":"tfbridge20","disableUnionOutputTypes":true,"liftSingleValueMethodReturns":true,"packageDescription":"A Pulumi provider dynamically bridged from ucloud.","readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/ucloud/terraform-provider-ucloud)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e please consult the source [`terraform-provider-ucloud` repo](https://github.com/ucloud/terraform-provider-ucloud/issues).","respectSchemaVersion":true},"python":{"compatibility":"tfbridge20","pyproject":{"enabled":true},"readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/ucloud/terraform-provider-ucloud)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e please consult the source [`terraform-provider-ucloud` repo](https://github.com/ucloud/terraform-provider-ucloud/issues).","respectSchemaVersion":true}},"config":{"variables":{"assumeRole":{"$ref":"#/types/ucloud:config%2FassumeRole:assumeRole"},"baseUrl":{"type":"string","description":"..."},"insecure":{"type":"boolean","description":"..."},"maxRetries":{"type":"number","description":"..."},"privateKey":{"type":"string","description":"..."},"profile":{"type":"string","description":"..."},"projectId":{"type":"string","description":"..."},"publicKey":{"type":"string","description":"..."},"region":{"type":"string","description":"..."},"sharedCredentialsFile":{"type":"string","description":"..."}},"defaults":["projectId","region"]},"types":{"ucloud:config/assumeRole:assumeRole":{"properties":{"duration":{"type":"string","description":"The duration of the role session. Valid time units are ns, us (or µs), ms, s, h, or m.\n"},"policy":{"type":"string","description":"IAM Policy JSON describing further restricting permissions for the IAM Role being assumed.\n"},"roleUrn":{"type":"string","description":"UCloud Resource Name (URN) of an IAM Role to assume prior to making API calls.\n"},"sessionName":{"type":"string","description":"An identifier for the assumed role session.\n"}},"type":"object","required":["roleUrn","sessionName"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/AntiDdosRuleRealServer:AntiDdosRuleRealServer":{"properties":{"address":{"type":"string","description":"Real server IP.\n"},"port":{"type":"number","description":"Real server port.\n"}},"type":"object","required":["address"]},"ucloud:index/BaremetalInstanceDataDisks:BaremetalInstanceDataDisks":{"properties":{"deviceName":{"type":"string"},"id":{"type":"string"},"size":{"type":"number","description":"The size of the cloud data disk, range 20-8000, measured in GB (GigaByte).\n"},"type":{"type":"string","description":"The type of the cloud data disk. Possible values are:\u003cspan pulumi-lang-nodejs=\" cloudNormal \" pulumi-lang-dotnet=\" CloudNormal \" pulumi-lang-go=\" cloudNormal \" pulumi-lang-python=\" cloud_normal \" pulumi-lang-yaml=\" cloudNormal \" pulumi-lang-java=\" cloudNormal \"\u003e cloud_normal \u003c/span\u003efor cloud disk,\u003cspan pulumi-lang-nodejs=\" cloudSsd \" pulumi-lang-dotnet=\" CloudSsd \" pulumi-lang-go=\" cloudSsd \" pulumi-lang-python=\" cloud_ssd \" pulumi-lang-yaml=\" cloudSsd \" pulumi-lang-java=\" cloudSsd \"\u003e cloud_ssd \u003c/span\u003efor SSD cloud disk,\u003cspan pulumi-lang-nodejs=\" cloudRssd \" pulumi-lang-dotnet=\" CloudRssd \" pulumi-lang-go=\" cloudRssd \" pulumi-lang-python=\" cloud_rssd \" pulumi-lang-yaml=\" cloudRssd \" pulumi-lang-java=\" cloudRssd \"\u003e cloud_rssd \u003c/span\u003eas RDMA-SSD cloud disk.\n"}},"type":"object","required":["size","type"],"language":{"nodejs":{"requiredOutputs":["deviceName","id","size","type"]}}},"ucloud:index/BaremetalInstanceNetworkInterface:BaremetalInstanceNetworkInterface":{"properties":{"eipBandwidth":{"type":"number","description":"Maximum bandwidth to the elastic public network, measured in Mbps (Mega bit per second). The ranges for bandwidth are: 1-200 for pay by traffic, 1-800 for pay by bandwidth.\n"},"eipChargeMode":{"type":"string","description":"Elastic IP charge mode.  Possible values are raid1, raid0, raid10, raid5 and no_raid.\n"},"eipInternetType":{"type":"string","description":"Type of Elastic IP routes. Possible values are: international as international BGP IP and bgp as china mainland BGP IP.\n"}},"type":"object","required":["eipBandwidth","eipChargeMode","eipInternetType"]},"ucloud:index/DbInstanceTimeouts:DbInstanceTimeouts":{"properties":{"create":{"type":"string","description":"Used when launching the db instance (until it reaches the initial `Running` state)\n"},"delete":{"type":"string","description":"Used when terminating the db instance\n"},"update":{"type":"string","description":"Used when updating the arguments of the db instance if necessary  - e.g. when changing \u003cspan pulumi-lang-nodejs=\"`instanceStorage`\" pulumi-lang-dotnet=\"`InstanceStorage`\" pulumi-lang-go=\"`instanceStorage`\" pulumi-lang-python=\"`instance_storage`\" pulumi-lang-yaml=\"`instanceStorage`\" pulumi-lang-java=\"`instanceStorage`\"\u003e`instance_storage`\u003c/span\u003e\n"}},"type":"object"},"ucloud:index/EipIpSet:EipIpSet":{"properties":{"internetType":{"type":"string","description":"Type of Elastic IP routes. Possible values are: \u003cspan pulumi-lang-nodejs=\"`international`\" pulumi-lang-dotnet=\"`International`\" pulumi-lang-go=\"`international`\" pulumi-lang-python=\"`international`\" pulumi-lang-yaml=\"`international`\" pulumi-lang-java=\"`international`\"\u003e`international`\u003c/span\u003e as international BGP IP and \u003cspan pulumi-lang-nodejs=\"`bgp`\" pulumi-lang-dotnet=\"`Bgp`\" pulumi-lang-go=\"`bgp`\" pulumi-lang-python=\"`bgp`\" pulumi-lang-yaml=\"`bgp`\" pulumi-lang-java=\"`bgp`\"\u003e`bgp`\u003c/span\u003e as china mainland BGP IP.\n\n- - -\n"},"ip":{"type":"string"}},"type":"object","required":["internetType","ip"]},"ucloud:index/InstanceDataDisks:InstanceDataDisks":{"properties":{"size":{"type":"number","description":"The size of the cloud data disk, range 20-8000, measured in GB (GigaByte).\n"},"type":{"type":"string"}},"type":"object","required":["size","type"]},"ucloud:index/InstanceDiskSet:InstanceDiskSet":{"properties":{"id":{"type":"string","description":"The ID of disk.\n"},"isBoot":{"type":"boolean","description":"Specifies whether boot disk or not.\n"},"size":{"type":"number","description":"The size of disk, measured in GB (Gigabyte).\n"},"type":{"type":"string","description":"The type of disk.\n"}},"type":"object","required":["id","isBoot","size","type"]},"ucloud:index/InstanceIpSet:InstanceIpSet":{"properties":{"internetType":{"type":"string","description":"Type of Elastic IP routes. Possible values are: `International` as international BGP IP, `BGP` as china BGP IP and `Private` as private IP.\n"},"ip":{"type":"string","description":"Elastic IP address.\n"}},"type":"object","required":["internetType","ip"]},"ucloud:index/InstanceNetworkInterface:InstanceNetworkInterface":{"properties":{"eipBandwidth":{"type":"number","description":"Maximum bandwidth to the elastic public network, measured in Mbps (Mega bit per second). The ranges for bandwidth are: 1-200 for pay by traffic, 1-800 for pay by bandwidth.\n"},"eipChargeMode":{"type":"string"},"eipInternetType":{"type":"string","description":"Type of Elastic IP routes. Possible values are: \u003cspan pulumi-lang-nodejs=\"`international`\" pulumi-lang-dotnet=\"`International`\" pulumi-lang-go=\"`international`\" pulumi-lang-python=\"`international`\" pulumi-lang-yaml=\"`international`\" pulumi-lang-java=\"`international`\"\u003e`international`\u003c/span\u003e as international BGP IP and \u003cspan pulumi-lang-nodejs=\"`bgp`\" pulumi-lang-dotnet=\"`Bgp`\" pulumi-lang-go=\"`bgp`\" pulumi-lang-python=\"`bgp`\" pulumi-lang-yaml=\"`bgp`\" pulumi-lang-java=\"`bgp`\"\u003e`bgp`\u003c/span\u003e as china mainland BGP IP.\n"}},"type":"object","required":["eipBandwidth","eipChargeMode","eipInternetType"]},"ucloud:index/InstanceTimeouts:InstanceTimeouts":{"properties":{"create":{"type":"string","description":"Used when launching the instance (until it reaches the initial `Running` state)\n"},"delete":{"type":"string","description":"Used when terminating the instance\n"},"update":{"type":"string","description":"Used when updating the arguments of the instance if necessary  - e.g. when changing \u003cspan pulumi-lang-nodejs=\"`instanceType`\" pulumi-lang-dotnet=\"`InstanceType`\" pulumi-lang-go=\"`instanceType`\" pulumi-lang-python=\"`instance_type`\" pulumi-lang-yaml=\"`instanceType`\" pulumi-lang-java=\"`instanceType`\"\u003e`instance_type`\u003c/span\u003e\n"}},"type":"object"},"ucloud:index/LbIpSet:LbIpSet":{"properties":{"internetType":{"type":"string","description":"Type of Elastic IP routes.\n"},"ip":{"type":"string","description":"Elastic IP address.\n"}},"type":"object","required":["internetType","ip"]},"ucloud:index/MemcacheInstanceIpSet:MemcacheInstanceIpSet":{"properties":{"ip":{"type":"string","description":"The virtual ip of Memcache instance.\n"},"port":{"type":"number","description":"The port on which Memcache instance accepts connections, it is 6379 by default.\n"}},"type":"object","required":["ip","port"]},"ucloud:index/ProviderAssumeRole:ProviderAssumeRole":{"properties":{"duration":{"type":"string","description":"The duration of the role session. Valid time units are ns, us (or µs), ms, s, h, or m.\n"},"policy":{"type":"string","description":"IAM Policy JSON describing further restricting permissions for the IAM Role being assumed.\n"},"roleUrn":{"type":"string","description":"UCloud Resource Name (URN) of an IAM Role to assume prior to making API calls.\n"},"sessionName":{"type":"string","description":"An identifier for the assumed role session.\n"}},"type":"object","required":["roleUrn","sessionName"],"language":{"nodejs":{"requiredOutputs":[]}}},"ucloud:index/RedisInstanceIpSet:RedisInstanceIpSet":{"properties":{"ip":{"type":"string","description":"The virtual ip of Redis instance.\n"},"port":{"type":"number","description":"The port on which Redis instance accepts connections, it is 6379 by default.\n"}},"type":"object","required":["ip","port"]},"ucloud:index/SecurityGroupRule:SecurityGroupRule":{"properties":{"cidrBlock":{"type":"string","description":"The cidr block of source.\n"},"policy":{"type":"string","description":"Authorization policy. Possible values are: \u003cspan pulumi-lang-nodejs=\"`accept`\" pulumi-lang-dotnet=\"`Accept`\" pulumi-lang-go=\"`accept`\" pulumi-lang-python=\"`accept`\" pulumi-lang-yaml=\"`accept`\" pulumi-lang-java=\"`accept`\"\u003e`accept`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`drop`\" pulumi-lang-dotnet=\"`Drop`\" pulumi-lang-go=\"`drop`\" pulumi-lang-python=\"`drop`\" pulumi-lang-yaml=\"`drop`\" pulumi-lang-java=\"`drop`\"\u003e`drop`\u003c/span\u003e.\n"},"portRange":{"type":"string","description":"The range of port numbers, range: 1-65535. (eg: \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\"\u003e`port`\u003c/span\u003e or `port1-port2`).\n"},"priority":{"type":"string","description":"Rule priority. Possible values are: \u003cspan pulumi-lang-nodejs=\"`high`\" pulumi-lang-dotnet=\"`High`\" pulumi-lang-go=\"`high`\" pulumi-lang-python=\"`high`\" pulumi-lang-yaml=\"`high`\" pulumi-lang-java=\"`high`\"\u003e`high`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`medium`\" pulumi-lang-dotnet=\"`Medium`\" pulumi-lang-go=\"`medium`\" pulumi-lang-python=\"`medium`\" pulumi-lang-yaml=\"`medium`\" pulumi-lang-java=\"`medium`\"\u003e`medium`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`low`\" pulumi-lang-dotnet=\"`Low`\" pulumi-lang-go=\"`low`\" pulumi-lang-python=\"`low`\" pulumi-lang-yaml=\"`low`\" pulumi-lang-java=\"`low`\"\u003e`low`\u003c/span\u003e.\n"},"protocol":{"type":"string","description":"The protocol. Possible values are: \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\"\u003e`icmp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`gre`\" pulumi-lang-dotnet=\"`Gre`\" pulumi-lang-go=\"`gre`\" pulumi-lang-python=\"`gre`\" pulumi-lang-yaml=\"`gre`\" pulumi-lang-java=\"`gre`\"\u003e`gre`\u003c/span\u003e.\n"}},"type":"object"},"ucloud:index/Uk8sClusterKubeProxy:Uk8sClusterKubeProxy":{"properties":{"mode":{"type":"string","description":"The type of instance, please visit the instance type table\n"}},"type":"object"},"ucloud:index/Uk8sClusterMaster:Uk8sClusterMaster":{"properties":{"availabilityZones":{"type":"array","items":{"type":"string"},"description":"Availability zone list where instance is located. such as: `[\"cn-bj2-02\", \"cn-bj2-03\", \"cn-bj2-05\"]`. You may refer to [list of availability zone](https://docs.ucloud.cn/api/summary/regionlist)\n"},"bootDiskType":{"type":"string","description":"The type of boot disk. Possible values are: \u003cspan pulumi-lang-nodejs=\"`localNormal`\" pulumi-lang-dotnet=\"`LocalNormal`\" pulumi-lang-go=\"`localNormal`\" pulumi-lang-python=\"`local_normal`\" pulumi-lang-yaml=\"`localNormal`\" pulumi-lang-java=\"`localNormal`\"\u003e`local_normal`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`localSsd`\" pulumi-lang-dotnet=\"`LocalSsd`\" pulumi-lang-go=\"`localSsd`\" pulumi-lang-python=\"`local_ssd`\" pulumi-lang-yaml=\"`localSsd`\" pulumi-lang-java=\"`localSsd`\"\u003e`local_ssd`\u003c/span\u003e for local boot disk, \u003cspan pulumi-lang-nodejs=\"`cloudSsd`\" pulumi-lang-dotnet=\"`CloudSsd`\" pulumi-lang-go=\"`cloudSsd`\" pulumi-lang-python=\"`cloud_ssd`\" pulumi-lang-yaml=\"`cloudSsd`\" pulumi-lang-java=\"`cloudSsd`\"\u003e`cloud_ssd`\u003c/span\u003e for cloud SSD boot disk,\u003cspan pulumi-lang-nodejs=\"`rssdDataDisk`\" pulumi-lang-dotnet=\"`RssdDataDisk`\" pulumi-lang-go=\"`rssdDataDisk`\" pulumi-lang-python=\"`rssd_data_disk`\" pulumi-lang-yaml=\"`rssdDataDisk`\" pulumi-lang-java=\"`rssdDataDisk`\"\u003e`rssd_data_disk`\u003c/span\u003e as RDMA-SSD cloud disk. (Default: \u003cspan pulumi-lang-nodejs=\"`cloudSsd`\" pulumi-lang-dotnet=\"`CloudSsd`\" pulumi-lang-go=\"`cloudSsd`\" pulumi-lang-python=\"`cloud_ssd`\" pulumi-lang-yaml=\"`cloudSsd`\" pulumi-lang-java=\"`cloudSsd`\"\u003e`cloud_ssd`\u003c/span\u003e). The \u003cspan pulumi-lang-nodejs=\"`localSsd`\" pulumi-lang-dotnet=\"`LocalSsd`\" pulumi-lang-go=\"`localSsd`\" pulumi-lang-python=\"`local_ssd`\" pulumi-lang-yaml=\"`localSsd`\" pulumi-lang-java=\"`localSsd`\"\u003e`local_ssd`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`cloudSsd`\" pulumi-lang-dotnet=\"`CloudSsd`\" pulumi-lang-go=\"`cloudSsd`\" pulumi-lang-python=\"`cloud_ssd`\" pulumi-lang-yaml=\"`cloudSsd`\" pulumi-lang-java=\"`cloudSsd`\"\u003e`cloud_ssd`\u003c/span\u003e are not fully support by all regions as boot disk type, please proceed to UCloud console for more details.\n"},"dataDiskSize":{"type":"number","description":"The size of local data disk, measured in GB (GigaByte), 20-2000 for local sata disk and 20-1000 for local ssd disk (all the GPU type instances are included). The volume adjustment must be a multiple of 10 GB. In addition, any reduction of data disk size is not supported.\n"},"dataDiskType":{"type":"string","description":"The type of local data disk. Possible values are: \u003cspan pulumi-lang-nodejs=\"`localNormal`\" pulumi-lang-dotnet=\"`LocalNormal`\" pulumi-lang-go=\"`localNormal`\" pulumi-lang-python=\"`local_normal`\" pulumi-lang-yaml=\"`localNormal`\" pulumi-lang-java=\"`localNormal`\"\u003e`local_normal`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`localSsd`\" pulumi-lang-dotnet=\"`LocalSsd`\" pulumi-lang-go=\"`localSsd`\" pulumi-lang-python=\"`local_ssd`\" pulumi-lang-yaml=\"`localSsd`\" pulumi-lang-java=\"`localSsd`\"\u003e`local_ssd`\u003c/span\u003e for local data disk. (Default: \u003cspan pulumi-lang-nodejs=\"`cloudSsd`\" pulumi-lang-dotnet=\"`CloudSsd`\" pulumi-lang-go=\"`cloudSsd`\" pulumi-lang-python=\"`cloud_ssd`\" pulumi-lang-yaml=\"`cloudSsd`\" pulumi-lang-java=\"`cloudSsd`\"\u003e`cloud_ssd`\u003c/span\u003e). The \u003cspan pulumi-lang-nodejs=\"`localSsd`\" pulumi-lang-dotnet=\"`LocalSsd`\" pulumi-lang-go=\"`localSsd`\" pulumi-lang-python=\"`local_ssd`\" pulumi-lang-yaml=\"`localSsd`\" pulumi-lang-java=\"`localSsd`\"\u003e`local_ssd`\u003c/span\u003e is not fully support by all regions as data disk type, please proceed to UCloud console for more details. In addition, the \u003cspan pulumi-lang-nodejs=\"`dataDiskType`\" pulumi-lang-dotnet=\"`DataDiskType`\" pulumi-lang-go=\"`dataDiskType`\" pulumi-lang-python=\"`data_disk_type`\" pulumi-lang-yaml=\"`dataDiskType`\" pulumi-lang-java=\"`dataDiskType`\"\u003e`data_disk_type`\u003c/span\u003e must be same as \u003cspan pulumi-lang-nodejs=\"`bootDiskType`\" pulumi-lang-dotnet=\"`BootDiskType`\" pulumi-lang-go=\"`bootDiskType`\" pulumi-lang-python=\"`boot_disk_type`\" pulumi-lang-yaml=\"`bootDiskType`\" pulumi-lang-java=\"`bootDiskType`\"\u003e`boot_disk_type`\u003c/span\u003e if specified.\n"},"instanceType":{"type":"string","description":"The type of instance, please visit the instance type table\n"},"minCpuPlatform":{"type":"string","description":"Specifies a minimum CPU platform for the VM instance. (Default: `Intel/Auto`). You may refer to \u003cspan pulumi-lang-nodejs=\"[minCpuPlatform]\" pulumi-lang-dotnet=\"[MinCpuPlatform]\" pulumi-lang-go=\"[minCpuPlatform]\" pulumi-lang-python=\"[min_cpu_platform]\" pulumi-lang-yaml=\"[minCpuPlatform]\" pulumi-lang-java=\"[minCpuPlatform]\"\u003e[min_cpu_platform]\u003c/span\u003e(https://docs.ucloud.cn/uhost/introduction/uhost/type_new)\n- The Intel CPU platform:\n- `Intel/Auto` as the Intel CPU platform version will be selected randomly by system;\n- `Intel/IvyBridge` as Intel V2, the version of Intel CPU platform selected by system will be `Intel/IvyBridge` and above;\n- `Intel/Haswell` as Intel V3,  the version of Intel CPU platform selected by system will be `Intel/Haswell` and above;\n- `Intel/Broadwell` as Intel V4, the version of Intel CPU platform selected by system will be `Intel/Broadwell` and above;\n- `Intel/Skylake` as Intel V5, the version of Intel CPU platform selected by system will be `Intel/Skylake` and above;\n- `Intel/Cascadelake` as Intel V6, the version of Intel CPU platform selected by system will be `Intel/Cascadelake`;\n- `Intel/CascadelakeR` as the version of Intel CPU platform, currently can only support by the \u003cspan pulumi-lang-nodejs=\"`os`\" pulumi-lang-dotnet=\"`Os`\" pulumi-lang-go=\"`os`\" pulumi-lang-python=\"`os`\" pulumi-lang-yaml=\"`os`\" pulumi-lang-java=\"`os`\"\u003e`os`\u003c/span\u003e instance type;\n- The AMD CPU platform:\n- `Amd/Auto` as the Amd CPU platform version will be selected randomly by system;\n- `Amd/Epyc2` as the version of Amd CPU platform selected by system will be `Amd/Epyc2` and above;\n- The Ampere CPU platform:\n- `Ampere/Altra` as the version of Ampere CPU platform selected by system will be `Ampere/Altra` and above.\n"}},"type":"object","required":["availabilityZones","instanceType"],"language":{"nodejs":{"requiredOutputs":["availabilityZones","bootDiskType","dataDiskSize","dataDiskType","instanceType"]}}},"ucloud:index/Uk8sClusterTimeouts:Uk8sClusterTimeouts":{"properties":{"create":{"type":"string","description":"Used when launching the instance (until it reaches the initial `RUNNING` state)\n"},"delete":{"type":"string","description":"Used when terminating the instance\n"},"update":{"type":"string","description":"Used when updating the arguments of the instance if necessary  - e.g. when changing \u003cspan pulumi-lang-nodejs=\"`instanceType`\" pulumi-lang-dotnet=\"`InstanceType`\" pulumi-lang-go=\"`instanceType`\" pulumi-lang-python=\"`instance_type`\" pulumi-lang-yaml=\"`instanceType`\" pulumi-lang-java=\"`instanceType`\"\u003e`instance_type`\u003c/span\u003e\n"}},"type":"object"},"ucloud:index/Uk8sNodeIpSet:Uk8sNodeIpSet":{"properties":{"internetType":{"type":"string","description":"Type of Elastic IP routes. Possible values are: `International` as international BGP IP, `BGP` as china BGP IP and `Private` as private IP.\n"},"ip":{"type":"string","description":"Elastic IP address.\n"}},"type":"object","required":["internetType","ip"]},"ucloud:index/Uk8sNodeTimeouts:Uk8sNodeTimeouts":{"properties":{"create":{"type":"string","description":"Used when launching the instance (until it reaches the initial `Ready` state)\n"},"delete":{"type":"string","description":"Used when terminating the instance\n"},"update":{"type":"string","description":"Used when updating the arguments of the instance if necessary  - e.g. when changing \u003cspan pulumi-lang-nodejs=\"`instanceType`\" pulumi-lang-dotnet=\"`InstanceType`\" pulumi-lang-go=\"`instanceType`\" pulumi-lang-python=\"`instance_type`\" pulumi-lang-yaml=\"`instanceType`\" pulumi-lang-java=\"`instanceType`\"\u003e`instance_type`\u003c/span\u003e\n"}},"type":"object"},"ucloud:index/VpcNetworkInfo:VpcNetworkInfo":{"properties":{"cidrBlock":{"type":"string","description":"The CIDR block of the VPC.\n"}},"type":"object","required":["cidrBlock"]},"ucloud:index/VpnConnectionIkeConfig:VpnConnectionIkeConfig":{"properties":{"authenticationAlgorithm":{"type":"string"},"dhGroup":{"type":"string","description":"The Diffie-Hellman group used by IKE negotiation. Possible values: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`14`\" pulumi-lang-dotnet=\"`14`\" pulumi-lang-go=\"`14`\" pulumi-lang-python=\"`14`\" pulumi-lang-yaml=\"`14`\" pulumi-lang-java=\"`14`\"\u003e`14`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e. (Default:\u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e)\n"},"encryptionAlgorithm":{"type":"string"},"exchangeMode":{"type":"string","description":"The negotiation exchange mode of IKE V1 of VPN gateway. Possible values: \u003cspan pulumi-lang-nodejs=\"`main`\" pulumi-lang-dotnet=\"`Main`\" pulumi-lang-go=\"`main`\" pulumi-lang-python=\"`main`\" pulumi-lang-yaml=\"`main`\" pulumi-lang-java=\"`main`\"\u003e`main`\u003c/span\u003e (main mode), \u003cspan pulumi-lang-nodejs=\"`aggressive`\" pulumi-lang-dotnet=\"`Aggressive`\" pulumi-lang-go=\"`aggressive`\" pulumi-lang-python=\"`aggressive`\" pulumi-lang-yaml=\"`aggressive`\" pulumi-lang-java=\"`aggressive`\"\u003e`aggressive`\u003c/span\u003e (aggressive mode). (Default: \u003cspan pulumi-lang-nodejs=\"`main`\" pulumi-lang-dotnet=\"`Main`\" pulumi-lang-go=\"`main`\" pulumi-lang-python=\"`main`\" pulumi-lang-yaml=\"`main`\" pulumi-lang-java=\"`main`\"\u003e`main`\u003c/span\u003e)\n"},"ikeVersion":{"type":"string","description":"The version of the IKE protocol which only be supported IKE V1 protocol at present. Possible values: ikev1. (Default: ikev1)\n"},"localId":{"type":"string","description":"The identification of the VPN gateway.\n"},"preSharedKey":{"type":"string","description":"The key used for authentication between the VPN gateway and the Customer gateway which contains 1-128 characters and only support English, numbers and special characters: `!@#$%^\u0026*()_+-=[]:,./'~`.\n"},"remoteId":{"type":"string","description":"The identification of the Customer gateway.\n"},"saLifeTime":{"type":"number"}},"type":"object","required":["preSharedKey"],"language":{"nodejs":{"requiredOutputs":["localId","preSharedKey","remoteId"]}}},"ucloud:index/VpnConnectionIpsecConfig:VpnConnectionIpsecConfig":{"properties":{"authenticationAlgorithm":{"type":"string"},"encryptionAlgorithm":{"type":"string"},"localSubnetIds":{"type":"array","items":{"type":"string"},"description":"The id list of Local subnet.\n"},"pfsDhGroup":{"type":"string","description":"Whether the PFS of IPSec negotiation is on or off, \u003cspan pulumi-lang-nodejs=\"`disable`\" pulumi-lang-dotnet=\"`Disable`\" pulumi-lang-go=\"`disable`\" pulumi-lang-python=\"`disable`\" pulumi-lang-yaml=\"`disable`\" pulumi-lang-java=\"`disable`\"\u003e`disable`\u003c/span\u003e as off, The Diffie-Hellman group as open.  Possible values: \u003cspan pulumi-lang-nodejs=\"`disable`\" pulumi-lang-dotnet=\"`Disable`\" pulumi-lang-go=\"`disable`\" pulumi-lang-python=\"`disable`\" pulumi-lang-yaml=\"`disable`\" pulumi-lang-java=\"`disable`\"\u003e`disable`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`14`\" pulumi-lang-dotnet=\"`14`\" pulumi-lang-go=\"`14`\" pulumi-lang-python=\"`14`\" pulumi-lang-yaml=\"`14`\" pulumi-lang-java=\"`14`\"\u003e`14`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e. (Default:\u003cspan pulumi-lang-nodejs=\"`disable`\" pulumi-lang-dotnet=\"`Disable`\" pulumi-lang-go=\"`disable`\" pulumi-lang-python=\"`disable`\" pulumi-lang-yaml=\"`disable`\" pulumi-lang-java=\"`disable`\"\u003e`disable`\u003c/span\u003e)\n"},"protocol":{"type":"string","description":"The security protocol of IPSec negotiation. Possible values: \u003cspan pulumi-lang-nodejs=\"`esp`\" pulumi-lang-dotnet=\"`Esp`\" pulumi-lang-go=\"`esp`\" pulumi-lang-python=\"`esp`\" pulumi-lang-yaml=\"`esp`\" pulumi-lang-java=\"`esp`\"\u003e`esp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ah`\" pulumi-lang-dotnet=\"`Ah`\" pulumi-lang-go=\"`ah`\" pulumi-lang-python=\"`ah`\" pulumi-lang-yaml=\"`ah`\" pulumi-lang-java=\"`ah`\"\u003e`ah`\u003c/span\u003e. (Default:\u003cspan pulumi-lang-nodejs=\"`esp`\" pulumi-lang-dotnet=\"`Esp`\" pulumi-lang-go=\"`esp`\" pulumi-lang-python=\"`esp`\" pulumi-lang-yaml=\"`esp`\" pulumi-lang-java=\"`esp`\"\u003e`esp`\u003c/span\u003e)\n"},"remoteSubnets":{"type":"array","items":{"type":"string"},"description":"The ip address list of remote subnet.\n"},"saLifeTime":{"type":"number"},"saLifeTimeBytes":{"type":"number","description":"The Security Association lifecycle in bytes as the result of IPSec negotiation. Unit: second. Range: 1200-604800. (Default: \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e)\n"}},"type":"object","required":["localSubnetIds","remoteSubnets"],"language":{"nodejs":{"requiredOutputs":["localSubnetIds","remoteSubnets","saLifeTimeBytes"]}}},"ucloud:index/getAntiDdosInstancesInstance:getAntiDdosInstancesInstance":{"properties":{"area":{"type":"string","description":"The area where the instance is deployed. The value can be `EastChina` or `NorthChina`.\n"},"bandwidth":{"type":"number","description":"Size of the service bandwidth, whose unit is Mbps.\n"},"baseDefenceValue":{"type":"number","description":"Size of the base defence bandwidth, whose unit is Gbps and minimum value is 30.\n"},"chargeType":{"type":"string","description":"The charge type of Anti-DDoS instance, possible values are year and month (Default: month).\n"},"createTime":{"type":"string","description":"The creation time of ucloud_anti_ddos_instance, formatted in RFC3339 time string.\n"},"dataCenter":{"type":"string","description":"The data center where the instance is deployed. The value can be `Zaozhuang`, `Yangzhou` or `Taizhou` for `EastChina` area, and `Shijiazhuang` for `NorthChina` area.\n"},"expireTime":{"type":"string","description":"The expiration time of ucloud_anti_ddos_instance, formatted in RFC3339 time string.\n"},"id":{"type":"string","description":"The ID of the resource.\n"},"maxDefenceValue":{"type":"number","description":"Size of the maximum defence bandwidth, whose unit is Gbps and value cannot be less than base_defence_value.\n"},"name":{"type":"string","description":"The name of the resource.\n"},"status":{"type":"string","description":"The status of ucloud_anti_ddos_instance. Possible values are `Started`, `Stopped` and `Expired`.\n"}},"type":"object","required":["area","bandwidth","baseDefenceValue","chargeType","createTime","dataCenter","expireTime","id","maxDefenceValue","name","status"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getAntiDdosIpsIp:getAntiDdosIpsIp":{"properties":{"comment":{"type":"string","description":"Comment of the IP.\n"},"domain":{"type":"string","description":"Corresponding domain of the IP.\n"},"instanceId":{"type":"string","description":"ID of an Anti-DDoS instance.\n"},"ip":{"type":"string","description":"IP address\n"},"proxyIps":{"type":"array","items":{"type":"string"},"description":"List of proxy IPs, which should be allowed in firewall or security group policy. Each element is a string.\n"},"status":{"type":"string","description":"Status of the IP. Possible values are `Pending` and `Success`\n"}},"type":"object","required":["comment","domain","instanceId","ip","proxyIps","status"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getBaremetalImagesImage:getBaremetalImagesImage":{"properties":{"availabilityZone":{"type":"string","description":"The availability zone where the images are located.\n"},"description":{"type":"string","description":"The description of the image, if any.\n"},"id":{"type":"string","description":"The ID of the image.\n"},"name":{"type":"string","description":"The name of the image.\n"},"osName":{"type":"string","description":"The name of the OS.\n"},"osType":{"type":"string","description":"The type of OS. Possible values are `CentOS`, `Ubuntu`, and `Windows`.\n"},"size":{"type":"number"},"status":{"type":"string","description":"The status of image. Possible values are `Available`, `Making` and `Unavailable`.\n"},"type":{"type":"string","description":"The type of the image.\n"}},"type":"object","required":["availabilityZone","description","id","name","osName","osType","size","status","type"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getDbBackupsDbBackup:getDbBackupsDbBackup":{"properties":{"backupEndTime":{"type":"string","description":"time when the backup was completed\n"},"backupId":{"type":"number","description":"id of the database backup which can used to seed new database instance\n"},"backupName":{"type":"string","description":"name of the database backup\n"},"backupSize":{"type":"number","description":"size of the database backup in bytes\n"},"backupTime":{"type":"string","description":"time when the backup was created\n"},"backupType":{"type":"number","description":"type of backup, 0: auto-backup, 1: manual-backup\n"},"backupZone":{"type":"string","description":"availability zone where the backup database locates, empty\nfor non-master-slave instances\n"},"dbId":{"type":"string","description":"id of the database instance\n"},"dbName":{"type":"string","description":"name of the database instance\n"},"state":{"type":"string","description":"State of backup\n"},"zone":{"type":"string","description":"availability zone where the database instance locates\n"}},"type":"object","required":["backupEndTime","backupId","backupName","backupSize","backupTime","backupType","backupZone","dbId","dbName","state","zone"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getDbInstancesDbInstance:getDbInstancesDbInstance":{"properties":{"availabilityZone":{"type":"string","description":"Availability zone where database instances are located. Such as: \"cn-bj2-02\". You may refer to [list of availability zone](https://docs.ucloud.cn/api/summary/regionlist)\n"},"backupBeginTime":{"type":"number","description":"Specifies when the backup starts, measured in hour.\n"},"backupBlackLists":{"type":"array","items":{"type":"string"},"description":"The backup for database instance such as \"test.%\" or table such as \"city.address\" specified in the black lists are not supported.\n"},"backupCount":{"type":"number","description":"Specifies the number of backup saved per week.\n"},"backupDate":{"type":"string","description":"Specifies whether the backup took place from Sunday to Saturday by displaying 7 digits. 0 stands for backup disabled and 1 stands for backup enabled. The rightmost digit specifies whether the backup took place on Sunday, and the digits from right to left specify whether the backup took place from Monday to Saturday, it's mandatory required to backup twice per week at least. such as: digits \"1100000\" stands for the backup took place on Saturday and Friday.\n"},"chargeType":{"type":"string","description":"The charge type of db instance.\n"},"createTime":{"type":"string","description":"The creation time of database instance , formatted by RFC3339 time string.\n"},"engine":{"type":"string","description":"The type of database instance engine.\n"},"engineVersion":{"type":"string","description":"The database instance engine version.\n"},"expireTime":{"type":"string","description":"The expiration time of database instance , formatted by RFC3339 time string.\n"},"id":{"type":"string","description":"The ID of database instance.\n"},"instanceStorage":{"type":"number","description":"Specifies the allocated storage size in gigabytes (GB).\n"},"instanceType":{"type":"string","description":"Specifies the type of database instance.\n"},"modifyTime":{"type":"string","description":"The modification time of database instance , formatted by RFC3339 time string.\n"},"name":{"type":"string","description":"The name of database instance.\n"},"port":{"type":"number","description":"The port on which the database instance accepts connections.\n"},"privateIp":{"type":"string","description":"The private IP address assigned to the database instance.\n"},"standbyZone":{"type":"string","description":"Availability zone where the standby database instance is located for the high availability database instance with multiple zone.\n"},"status":{"type":"string","description":"Specifies the status of database instance , possible values are: `Init`, `Fail`, `Starting`, `Running`, `Shutdown`, `Shutoff`, `Delete`, `Upgrading`, `Promoting`, `Recovering` and `Recover fail`.\n"},"subnetId":{"type":"string","description":"The ID of subnet linked to the database instances.\n"},"tag":{"type":"string","description":"A tag assigned to database instance.\n"},"vpcId":{"type":"string","description":"The ID of VPC linked to the database instances.\n"}},"type":"object","required":["availabilityZone","backupBeginTime","backupBlackLists","backupCount","backupDate","chargeType","createTime","engine","engineVersion","expireTime","id","instanceStorage","instanceType","modifyTime","name","port","privateIp","standbyZone","status","subnetId","tag","vpcId"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getDbParameterGroupsParameterGroup:getDbParameterGroupsParameterGroup":{"properties":{"availabilityZone":{"type":"string","description":"Availability zone where parameter groups are located. Such as: \"cn-bj2-02\". You may refer to [list of availability zone](https://docs.ucloud.cn/api/summary/regionlist)\n"},"engine":{"type":"string","description":"The type of database instance engine used by the parameter group.\n"},"engineVersion":{"type":"string","description":"The database instance engine version used by the parameter group.\n"},"id":{"type":"string","description":"The ID of parameter group.\n"},"isDefault":{"type":"boolean"},"name":{"type":"string","description":"The name of parameter group.\n"}},"type":"object","required":["availabilityZone","engine","engineVersion","id","isDefault","name"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getDisksDisk:getDisksDisk":{"properties":{"availabilityZone":{"type":"string","description":"Availability zone where Disk are located. Such as: \"cn-bj2-02\". You may refer to [list of availability zone](https://docs.ucloud.cn/api/summary/regionlist)\n"},"chargeType":{"type":"string","description":"The charge type of disk. Possible values are: \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\"\u003e`year`\u003c/span\u003e as pay by year, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e as pay by month, \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e as pay by hour.\n"},"createTime":{"type":"string","description":"The creation time of Disk, formatted in RFC3339 time string.\n"},"diskSize":{"type":"number","description":"The size of disk. Purchase the size of disk in GB.\n"},"diskType":{"type":"string","description":"The type of disk. Possible values are: \u003cspan pulumi-lang-nodejs=\"`dataDisk`\" pulumi-lang-dotnet=\"`DataDisk`\" pulumi-lang-go=\"`dataDisk`\" pulumi-lang-python=\"`data_disk`\" pulumi-lang-yaml=\"`dataDisk`\" pulumi-lang-java=\"`dataDisk`\"\u003e`data_disk`\u003c/span\u003eas cloud disk, \u003cspan pulumi-lang-nodejs=\"`ssdDataDisk`\" pulumi-lang-dotnet=\"`SsdDataDisk`\" pulumi-lang-go=\"`ssdDataDisk`\" pulumi-lang-python=\"`ssd_data_disk`\" pulumi-lang-yaml=\"`ssdDataDisk`\" pulumi-lang-java=\"`ssdDataDisk`\"\u003e`ssd_data_disk`\u003c/span\u003e as SSD cloud disk, \u003cspan pulumi-lang-nodejs=\"`systemDisk`\" pulumi-lang-dotnet=\"`SystemDisk`\" pulumi-lang-go=\"`systemDisk`\" pulumi-lang-python=\"`system_disk`\" pulumi-lang-yaml=\"`systemDisk`\" pulumi-lang-java=\"`systemDisk`\"\u003e`system_disk`\u003c/span\u003eas system disk, \u003cspan pulumi-lang-nodejs=\"`ssdSystemDisk`\" pulumi-lang-dotnet=\"`SsdSystemDisk`\" pulumi-lang-go=\"`ssdSystemDisk`\" pulumi-lang-python=\"`ssd_system_disk`\" pulumi-lang-yaml=\"`ssdSystemDisk`\" pulumi-lang-java=\"`ssdSystemDisk`\"\u003e`ssd_system_disk`\u003c/span\u003e as SSD system disk, \u003cspan pulumi-lang-nodejs=\"`rssdDataDisk`\" pulumi-lang-dotnet=\"`RssdDataDisk`\" pulumi-lang-go=\"`rssdDataDisk`\" pulumi-lang-python=\"`rssd_data_disk`\" pulumi-lang-yaml=\"`rssdDataDisk`\" pulumi-lang-java=\"`rssdDataDisk`\"\u003e`rssd_data_disk`\u003c/span\u003e as RDMA-SSD cloud disk.\n"},"expireTime":{"type":"string","description":"The expiration time of disk, formatted in RFC3339 time string.\n"},"id":{"type":"string","description":"The ID of Disk.\n"},"name":{"type":"string","description":"The name of Disk.\n"},"status":{"type":"string","description":"The status of disk. Possible values are: `Available`, `InUse`, `Detaching`, `Initializating`, `Failed`, `Cloning`, `Restoring`, `RestoreFailed`.\n"},"tag":{"type":"string","description":"A tag assigned to Disk.\n"}},"type":"object","required":["availabilityZone","chargeType","createTime","diskSize","diskType","expireTime","id","name","status","tag"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getEipsEip:getEipsEip":{"properties":{"bandwidth":{"type":"number","description":"Maximum bandwidth to the elastic public network, measured in Mbps.\n"},"chargeMode":{"type":"string","description":"The charge mode of Elastic IP. Possible values are: \u003cspan pulumi-lang-nodejs=\"`traffic`\" pulumi-lang-dotnet=\"`Traffic`\" pulumi-lang-go=\"`traffic`\" pulumi-lang-python=\"`traffic`\" pulumi-lang-yaml=\"`traffic`\" pulumi-lang-java=\"`traffic`\"\u003e`traffic`\u003c/span\u003e as pay by traffic, \u003cspan pulumi-lang-nodejs=\"`bandwidth`\" pulumi-lang-dotnet=\"`Bandwidth`\" pulumi-lang-go=\"`bandwidth`\" pulumi-lang-python=\"`bandwidth`\" pulumi-lang-yaml=\"`bandwidth`\" pulumi-lang-java=\"`bandwidth`\"\u003e`bandwidth`\u003c/span\u003e as pay by bandwidth, \u003cspan pulumi-lang-nodejs=\"`shareBandwidth`\" pulumi-lang-dotnet=\"`ShareBandwidth`\" pulumi-lang-go=\"`shareBandwidth`\" pulumi-lang-python=\"`share_bandwidth`\" pulumi-lang-yaml=\"`shareBandwidth`\" pulumi-lang-java=\"`shareBandwidth`\"\u003e`share_bandwidth`\u003c/span\u003e as share bandwidth mode.\n"},"chargeType":{"type":"string","description":"The charge type of Elastic IP. Possible values are: \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\"\u003e`year`\u003c/span\u003e as pay by year, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e as pay by month, \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e as pay by hour.\n"},"createTime":{"type":"string","description":"The creation time of Elastic IP, formatted in RFC3339 time string.\n"},"expireTime":{"type":"string","description":"The expiration time for Elastic IP, formatted in RFC3339 time string.\n"},"ipSets":{"type":"array","items":{"$ref":"#/types/ucloud:index%2FgetEipsEipIpSet:getEipsEipIpSet"},"description":"It is a nested type which documented below.\n"},"name":{"type":"string","description":"The name of Elastic IP.\n"},"remark":{"type":"string","description":"The remarks of Elastic IP.\n"},"shareBandwidth":{"type":"number","description":"The shared bandwidth value (Mbps) when \u003cspan pulumi-lang-nodejs=\"`chargeMode`\" pulumi-lang-dotnet=\"`ChargeMode`\" pulumi-lang-go=\"`chargeMode`\" pulumi-lang-python=\"`charge_mode`\" pulumi-lang-yaml=\"`chargeMode`\" pulumi-lang-java=\"`chargeMode`\"\u003e`charge_mode`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`shareBandwidth`\" pulumi-lang-dotnet=\"`ShareBandwidth`\" pulumi-lang-go=\"`shareBandwidth`\" pulumi-lang-python=\"`share_bandwidth`\" pulumi-lang-yaml=\"`shareBandwidth`\" pulumi-lang-java=\"`shareBandwidth`\"\u003e`share_bandwidth`\u003c/span\u003e, otherwise \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"shareBandwidthPackageId":{"type":"string","description":"The ID of shared bandwidth package when \u003cspan pulumi-lang-nodejs=\"`chargeMode`\" pulumi-lang-dotnet=\"`ChargeMode`\" pulumi-lang-go=\"`chargeMode`\" pulumi-lang-python=\"`charge_mode`\" pulumi-lang-yaml=\"`chargeMode`\" pulumi-lang-java=\"`chargeMode`\"\u003e`charge_mode`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`shareBandwidth`\" pulumi-lang-dotnet=\"`ShareBandwidth`\" pulumi-lang-go=\"`shareBandwidth`\" pulumi-lang-python=\"`share_bandwidth`\" pulumi-lang-yaml=\"`shareBandwidth`\" pulumi-lang-java=\"`shareBandwidth`\"\u003e`share_bandwidth`\u003c/span\u003e, otherwise empty.\n"},"shareBandwidthPackageName":{"type":"string","description":"The name of shared bandwidth package when \u003cspan pulumi-lang-nodejs=\"`chargeMode`\" pulumi-lang-dotnet=\"`ChargeMode`\" pulumi-lang-go=\"`chargeMode`\" pulumi-lang-python=\"`charge_mode`\" pulumi-lang-yaml=\"`chargeMode`\" pulumi-lang-java=\"`chargeMode`\"\u003e`charge_mode`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`shareBandwidth`\" pulumi-lang-dotnet=\"`ShareBandwidth`\" pulumi-lang-go=\"`shareBandwidth`\" pulumi-lang-python=\"`share_bandwidth`\" pulumi-lang-yaml=\"`shareBandwidth`\" pulumi-lang-java=\"`shareBandwidth`\"\u003e`share_bandwidth`\u003c/span\u003e, otherwise empty.\n"},"status":{"type":"string","description":"Elastic IP status. Possible values are: \u003cspan pulumi-lang-nodejs=\"`used`\" pulumi-lang-dotnet=\"`Used`\" pulumi-lang-go=\"`used`\" pulumi-lang-python=\"`used`\" pulumi-lang-yaml=\"`used`\" pulumi-lang-java=\"`used`\"\u003e`used`\u003c/span\u003e as in use, \u003cspan pulumi-lang-nodejs=\"`free`\" pulumi-lang-dotnet=\"`Free`\" pulumi-lang-go=\"`free`\" pulumi-lang-python=\"`free`\" pulumi-lang-yaml=\"`free`\" pulumi-lang-java=\"`free`\"\u003e`free`\u003c/span\u003e as available and \u003cspan pulumi-lang-nodejs=\"`freeze`\" pulumi-lang-dotnet=\"`Freeze`\" pulumi-lang-go=\"`freeze`\" pulumi-lang-python=\"`freeze`\" pulumi-lang-yaml=\"`freeze`\" pulumi-lang-java=\"`freeze`\"\u003e`freeze`\u003c/span\u003e as associating.\n"},"tag":{"type":"string","description":"A tag assigned to Elastic IP.\n"}},"type":"object","required":["bandwidth","chargeMode","chargeType","createTime","expireTime","ipSets","name","remark","shareBandwidth","shareBandwidthPackageId","shareBandwidthPackageName","status","tag"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getEipsEipIpSet:getEipsEipIpSet":{"properties":{"internetType":{"type":"string","description":"Type of Elastic IP routes.\n"},"ip":{"type":"string","description":"Elastic IP address.\n"}},"type":"object","required":["internetType","ip"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getIamGroupsGroup:getIamGroupsGroup":{"properties":{"comment":{"type":"string","description":"Comment of the group.\n"},"name":{"type":"string","description":"Name of the group.\n"}},"type":"object","required":["comment","name"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getIamPolicyDocumentStatement:getIamPolicyDocumentStatement":{"properties":{"actions":{"type":"array","items":{"type":"string"},"description":"Actions list of the IAM policy document. The format is `\u003cproduct-name\u003e:\u003capi-name\u003e`\n"},"effect":{"type":"string","description":"This parameter indicates whether the \u003cspan pulumi-lang-nodejs=\"`action`\" pulumi-lang-dotnet=\"`Action`\" pulumi-lang-go=\"`action`\" pulumi-lang-python=\"`action`\" pulumi-lang-yaml=\"`action`\" pulumi-lang-java=\"`action`\"\u003e`action`\u003c/span\u003e is allowed. Valid values are `Allow` and `Deny`. Default value is `Allow`.\n"},"resources":{"type":"array","items":{"type":"string"},"description":"List of specific objects which will be authorized. Now UHost and UCDN resource are supported. The resource name can be `ucs:uhost:*:\u003ccompany-id\u003e:instance/\u003cuhost-id\u003e` or `ucs:ucdn:*:\u003ccompany-id\u003e:instance/\u003cdomain-id\u003e`\n"}},"type":"object","required":["actions"]},"ucloud:index/getIamProjectsProject:getIamProjectsProject":{"properties":{"createTime":{"type":"string"},"id":{"type":"string","description":"ID of the IAM project.\n"},"name":{"type":"string","description":"Name of the IAM project.\n"},"userCount":{"type":"number"}},"type":"object","required":["createTime","id","name","userCount"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getIamUsersUser:getIamUsersUser":{"properties":{"displayName":{"type":"string","description":"Name of the IAM user which for display.\n"},"email":{"type":"string","description":"Email of the IAM user.\n"},"loginEnable":{"type":"boolean","description":"true or false.\n"},"name":{"type":"string","description":"Name of the IAM user.\n"},"status":{"type":"string","description":"Status of the IAM user Active or Inactive.\n"}},"type":"object","required":["displayName","email","loginEnable","name","status"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getImagesImage:getImagesImage":{"properties":{"availabilityZone":{"type":"string","description":"Availability zone where images are located. such as: `cn-bj2-02`. You may refer to [list of availability zone](https://docs.ucloud.cn/api/summary/regionlist).\n"},"createTime":{"type":"string","description":"The time of creation for image, formatted in RFC3339 time string.\n"},"description":{"type":"string","description":"The description of image if any.\n"},"features":{"type":"array","items":{"type":"string"},"description":"To identify if any particular feature belongs to the instance, the value is `NetEnhnced` as I/O enhanced instance for now.\n"},"id":{"type":"string","description":"The ID of image.\n"},"name":{"type":"string","description":"The name of image.\n"},"osName":{"type":"string","description":"The name of OS.\n"},"osType":{"type":"string","description":"The type of OS. Possible values are: \u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`windows`\" pulumi-lang-dotnet=\"`Windows`\" pulumi-lang-go=\"`windows`\" pulumi-lang-python=\"`windows`\" pulumi-lang-yaml=\"`windows`\" pulumi-lang-java=\"`windows`\"\u003e`windows`\u003c/span\u003e, all the OS types will be retrieved by default.\n"},"size":{"type":"number","description":"The size of image.\n"},"status":{"type":"string","description":"The status of image. Possible values are `Available`, `Making` and `Unavailable`.\n"},"type":{"type":"string","description":"The type of image.\n"}},"type":"object","required":["availabilityZone","createTime","description","features","id","name","osName","osType","size","status","type"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getInstancesInstance:getInstancesInstance":{"properties":{"autoRenew":{"type":"boolean","description":"Whether to renew an instance automatically or not.\n"},"availabilityZone":{"type":"string","description":"Availability zone where instances are located. Such as: \"cn-bj2-02\". You may refer to [list of availability zone](https://docs.ucloud.cn/api/summary/regionlist)\n"},"chargeType":{"type":"string","description":"The charge type of instance, possible values are: \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\"\u003e`year`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e as pay by hour.\n"},"cpu":{"type":"number","description":"The number of cores of virtual CPU, measureed in core.\n"},"createTime":{"type":"string","description":"The time of creation for instance, formatted in RFC3339 time string.\n"},"diskSets":{"type":"array","items":{"$ref":"#/types/ucloud:index%2FgetInstancesInstanceDiskSet:getInstancesInstanceDiskSet"},"description":"It is a nested type which documented below.\n"},"expireTime":{"type":"string","description":"The expiration time for instance, formatted in RFC3339 time string.\n"},"id":{"type":"string","description":"The ID of disk.\n"},"instanceType":{"type":"string","description":"The type of instance.\n"},"ipSets":{"type":"array","items":{"$ref":"#/types/ucloud:index%2FgetInstancesInstanceIpSet:getInstancesInstanceIpSet"},"description":"It is a nested type which documented below.\n"},"memory":{"type":"number","description":"The size of memory, measured in MB (Megabyte).\n"},"name":{"type":"string","description":"The name of the instance.\n"},"privateIp":{"type":"string","description":"The private IP address assigned to the instance.\n"},"remark":{"type":"string","description":"The remarks of instance.\n"},"status":{"type":"string","description":"Instance current status. Possible values are `Initializing`, `Starting`, `Running`, `Stopping`, `Stopped`, `Install Fail` and `Rebooting`.\n"},"subnetId":{"type":"string","description":"The ID of subnet linked to the instance.\n"},"tag":{"type":"string","description":"A tag assigned to instance.\n"},"vpcId":{"type":"string","description":"The ID of VPC linked to the instance.\n"}},"type":"object","required":["autoRenew","availabilityZone","chargeType","cpu","createTime","diskSets","expireTime","id","instanceType","ipSets","memory","name","privateIp","remark","status","subnetId","tag","vpcId"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getInstancesInstanceDiskSet:getInstancesInstanceDiskSet":{"properties":{"id":{"type":"string","description":"The ID of disk.\n"},"isBoot":{"type":"boolean","description":"Specifies whether boot disk or not.\n"},"size":{"type":"number","description":"The size of disk, measured in GB (Gigabyte).\n"},"type":{"type":"string","description":"The type of disk.\n"}},"type":"object","required":["id","isBoot","size","type"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getInstancesInstanceIpSet:getInstancesInstanceIpSet":{"properties":{"internetType":{"type":"string","description":"Type of Elastic IP routes.\n"},"ip":{"type":"string","description":"Elastic IP address.\n"}},"type":"object","required":["internetType","ip"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getLabelResourcesResource:getLabelResourcesResource":{"properties":{"id":{"type":"string","description":"ID of the resource\n"},"name":{"type":"string","description":"Name of the resource\n"},"type":{"type":"string"}},"type":"object","required":["id","name","type"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getLabelsLabel:getLabelsLabel":{"properties":{"key":{"type":"string","description":"Key of the label\n"},"projects":{"type":"array","items":{"$ref":"#/types/ucloud:index%2FgetLabelsLabelProject:getLabelsLabelProject"},"description":"Projects which have attached resources and consists of following attribute\n"},"value":{"type":"string","description":"Value of the label\n"}},"type":"object","required":["key","projects","value"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getLabelsLabelProject:getLabelsLabelProject":{"properties":{"disabledResourceTypes":{"type":"array","items":{"type":"string"},"description":"Array of strings, which are resource types without query permission for current account\n"},"id":{"type":"string","description":"ID of the project\n"},"name":{"type":"string","description":"Name of the project\n"},"resourceTypes":{"type":"array","items":{"type":"string"},"description":"Array of strings, which are resource types with query permission for current account\n"}},"type":"object","required":["disabledResourceTypes","id","name","resourceTypes"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getLbAttachmentsLbAttachment:getLbAttachmentsLbAttachment":{"properties":{"id":{"type":"string","description":"The ID of LB Attachment.\n"},"port":{"type":"number","description":"Port opened on the backend server to receive requests, range: 1-65535.\n"},"privateIp":{"type":"string","description":"The private ip address for backend servers.\n"},"resourceId":{"type":"string","description":"The ID of a backend server.\n"},"status":{"type":"string","description":"The status of backend servers. Possible values are: `normalRunning`, `exceptionRunning`.\n"}},"type":"object","required":["id","port","privateIp","resourceId","status"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getLbListenersLbListener:getLbListenersLbListener":{"properties":{"domain":{"type":"string","description":"Health check domain checking.\n"},"healthCheckType":{"type":"string","description":"Health check method. Possible values are \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\"\u003e`port`\u003c/span\u003e as port checking and \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e as http checking.\n"},"id":{"type":"string","description":"The ID of LB Listener.\n"},"idleTimeout":{"type":"number","description":"Amount of time in seconds to wait for the response for in between two sessions if \u003cspan pulumi-lang-nodejs=\"`listenType`\" pulumi-lang-dotnet=\"`ListenType`\" pulumi-lang-go=\"`listenType`\" pulumi-lang-python=\"`listen_type`\" pulumi-lang-yaml=\"`listenType`\" pulumi-lang-java=\"`listenType`\"\u003e`listen_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`requestProxy`\" pulumi-lang-dotnet=\"`RequestProxy`\" pulumi-lang-go=\"`requestProxy`\" pulumi-lang-python=\"`request_proxy`\" pulumi-lang-yaml=\"`requestProxy`\" pulumi-lang-java=\"`requestProxy`\"\u003e`request_proxy`\u003c/span\u003e, range: 0-86400. Amount of time in seconds to wait for one session if \u003cspan pulumi-lang-nodejs=\"`listenType`\" pulumi-lang-dotnet=\"`ListenType`\" pulumi-lang-go=\"`listenType`\" pulumi-lang-python=\"`listen_type`\" pulumi-lang-yaml=\"`listenType`\" pulumi-lang-java=\"`listenType`\"\u003e`listen_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`packetsTransmit`\" pulumi-lang-dotnet=\"`PacketsTransmit`\" pulumi-lang-go=\"`packetsTransmit`\" pulumi-lang-python=\"`packets_transmit`\" pulumi-lang-yaml=\"`packetsTransmit`\" pulumi-lang-java=\"`packetsTransmit`\"\u003e`packets_transmit`\u003c/span\u003e, range: 60-900. The session will be closed as soon as no response if it is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"listenType":{"type":"string","description":"The type of LB Listener. Possible values are \u003cspan pulumi-lang-nodejs=\"`requestProxy`\" pulumi-lang-dotnet=\"`RequestProxy`\" pulumi-lang-go=\"`requestProxy`\" pulumi-lang-python=\"`request_proxy`\" pulumi-lang-yaml=\"`requestProxy`\" pulumi-lang-java=\"`requestProxy`\"\u003e`request_proxy`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`packetsTransmit`\" pulumi-lang-dotnet=\"`PacketsTransmit`\" pulumi-lang-go=\"`packetsTransmit`\" pulumi-lang-python=\"`packets_transmit`\" pulumi-lang-yaml=\"`packetsTransmit`\" pulumi-lang-java=\"`packetsTransmit`\"\u003e`packets_transmit`\u003c/span\u003e.\n"},"method":{"type":"string","description":"The load balancer method in which the listener is. Possible values are: \u003cspan pulumi-lang-nodejs=\"`roundrobin`\" pulumi-lang-dotnet=\"`Roundrobin`\" pulumi-lang-go=\"`roundrobin`\" pulumi-lang-python=\"`roundrobin`\" pulumi-lang-yaml=\"`roundrobin`\" pulumi-lang-java=\"`roundrobin`\"\u003e`roundrobin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`consistentHash`\" pulumi-lang-dotnet=\"`ConsistentHash`\" pulumi-lang-go=\"`consistentHash`\" pulumi-lang-python=\"`consistent_hash`\" pulumi-lang-yaml=\"`consistentHash`\" pulumi-lang-java=\"`consistentHash`\"\u003e`consistent_hash`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sourcePort`\" pulumi-lang-dotnet=\"`SourcePort`\" pulumi-lang-go=\"`sourcePort`\" pulumi-lang-python=\"`source_port`\" pulumi-lang-yaml=\"`sourcePort`\" pulumi-lang-java=\"`sourcePort`\"\u003e`source_port`\u003c/span\u003e , \u003cspan pulumi-lang-nodejs=\"`consistentHashPort`\" pulumi-lang-dotnet=\"`ConsistentHashPort`\" pulumi-lang-go=\"`consistentHashPort`\" pulumi-lang-python=\"`consistent_hash_port`\" pulumi-lang-yaml=\"`consistentHashPort`\" pulumi-lang-java=\"`consistentHashPort`\"\u003e`consistent_hash_port`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`weightRoundrobin`\" pulumi-lang-dotnet=\"`WeightRoundrobin`\" pulumi-lang-go=\"`weightRoundrobin`\" pulumi-lang-python=\"`weight_roundrobin`\" pulumi-lang-yaml=\"`weightRoundrobin`\" pulumi-lang-java=\"`weightRoundrobin`\"\u003e`weight_roundrobin`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`leastconn`\" pulumi-lang-dotnet=\"`Leastconn`\" pulumi-lang-go=\"`leastconn`\" pulumi-lang-python=\"`leastconn`\" pulumi-lang-yaml=\"`leastconn`\" pulumi-lang-java=\"`leastconn`\"\u003e`leastconn`\u003c/span\u003e. \n- The \u003cspan pulumi-lang-nodejs=\"`consistentHash`\" pulumi-lang-dotnet=\"`ConsistentHash`\" pulumi-lang-go=\"`consistentHash`\" pulumi-lang-python=\"`consistent_hash`\" pulumi-lang-yaml=\"`consistentHash`\" pulumi-lang-java=\"`consistentHash`\"\u003e`consistent_hash`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sourcePort`\" pulumi-lang-dotnet=\"`SourcePort`\" pulumi-lang-go=\"`sourcePort`\" pulumi-lang-python=\"`source_port`\" pulumi-lang-yaml=\"`sourcePort`\" pulumi-lang-java=\"`sourcePort`\"\u003e`source_port`\u003c/span\u003e , \u003cspan pulumi-lang-nodejs=\"`consistentHashPort`\" pulumi-lang-dotnet=\"`ConsistentHashPort`\" pulumi-lang-go=\"`consistentHashPort`\" pulumi-lang-python=\"`consistent_hash_port`\" pulumi-lang-yaml=\"`consistentHashPort`\" pulumi-lang-java=\"`consistentHashPort`\"\u003e`consistent_hash_port`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`roundrobin`\" pulumi-lang-dotnet=\"`Roundrobin`\" pulumi-lang-go=\"`roundrobin`\" pulumi-lang-python=\"`roundrobin`\" pulumi-lang-yaml=\"`roundrobin`\" pulumi-lang-java=\"`roundrobin`\"\u003e`roundrobin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`weightRoundrobin`\" pulumi-lang-dotnet=\"`WeightRoundrobin`\" pulumi-lang-go=\"`weightRoundrobin`\" pulumi-lang-python=\"`weight_roundrobin`\" pulumi-lang-yaml=\"`weightRoundrobin`\" pulumi-lang-java=\"`weightRoundrobin`\"\u003e`weight_roundrobin`\u003c/span\u003e are valid if \u003cspan pulumi-lang-nodejs=\"`listenType`\" pulumi-lang-dotnet=\"`ListenType`\" pulumi-lang-go=\"`listenType`\" pulumi-lang-python=\"`listen_type`\" pulumi-lang-yaml=\"`listenType`\" pulumi-lang-java=\"`listenType`\"\u003e`listen_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`packetsTransmit`\" pulumi-lang-dotnet=\"`PacketsTransmit`\" pulumi-lang-go=\"`packetsTransmit`\" pulumi-lang-python=\"`packets_transmit`\" pulumi-lang-yaml=\"`packetsTransmit`\" pulumi-lang-java=\"`packetsTransmit`\"\u003e`packets_transmit`\u003c/span\u003e.\n- The \u003cspan pulumi-lang-nodejs=\"`rundrobin`\" pulumi-lang-dotnet=\"`Rundrobin`\" pulumi-lang-go=\"`rundrobin`\" pulumi-lang-python=\"`rundrobin`\" pulumi-lang-yaml=\"`rundrobin`\" pulumi-lang-java=\"`rundrobin`\"\u003e`rundrobin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`weightRoundrobin`\" pulumi-lang-dotnet=\"`WeightRoundrobin`\" pulumi-lang-go=\"`weightRoundrobin`\" pulumi-lang-python=\"`weight_roundrobin`\" pulumi-lang-yaml=\"`weightRoundrobin`\" pulumi-lang-java=\"`weightRoundrobin`\"\u003e`weight_roundrobin`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`leastconn`\" pulumi-lang-dotnet=\"`Leastconn`\" pulumi-lang-go=\"`leastconn`\" pulumi-lang-python=\"`leastconn`\" pulumi-lang-yaml=\"`leastconn`\" pulumi-lang-java=\"`leastconn`\"\u003e`leastconn`\u003c/span\u003e are vaild if \u003cspan pulumi-lang-nodejs=\"`listenType`\" pulumi-lang-dotnet=\"`ListenType`\" pulumi-lang-go=\"`listenType`\" pulumi-lang-python=\"`listen_type`\" pulumi-lang-yaml=\"`listenType`\" pulumi-lang-java=\"`listenType`\"\u003e`listen_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`requestProxy`\" pulumi-lang-dotnet=\"`RequestProxy`\" pulumi-lang-go=\"`requestProxy`\" pulumi-lang-python=\"`request_proxy`\" pulumi-lang-yaml=\"`requestProxy`\" pulumi-lang-java=\"`requestProxy`\"\u003e`request_proxy`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of LB Listener.\n"},"path":{"type":"string","description":"Health check path checking.\n"},"persistence":{"type":"string","description":"Indicate whether the persistence session is enabled, it is invaild if \u003cspan pulumi-lang-nodejs=\"`persistenceType`\" pulumi-lang-dotnet=\"`PersistenceType`\" pulumi-lang-go=\"`persistenceType`\" pulumi-lang-python=\"`persistence_type`\" pulumi-lang-yaml=\"`persistenceType`\" pulumi-lang-java=\"`persistenceType`\"\u003e`persistence_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, an auto-generated string will be exported if \u003cspan pulumi-lang-nodejs=\"`persistenceType`\" pulumi-lang-dotnet=\"`PersistenceType`\" pulumi-lang-go=\"`persistenceType`\" pulumi-lang-python=\"`persistence_type`\" pulumi-lang-yaml=\"`persistenceType`\" pulumi-lang-java=\"`persistenceType`\"\u003e`persistence_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`serverInsert`\" pulumi-lang-dotnet=\"`ServerInsert`\" pulumi-lang-go=\"`serverInsert`\" pulumi-lang-python=\"`server_insert`\" pulumi-lang-yaml=\"`serverInsert`\" pulumi-lang-java=\"`serverInsert`\"\u003e`server_insert`\u003c/span\u003e, a custom string will be exported if \u003cspan pulumi-lang-nodejs=\"`persistenceType`\" pulumi-lang-dotnet=\"`PersistenceType`\" pulumi-lang-go=\"`persistenceType`\" pulumi-lang-python=\"`persistence_type`\" pulumi-lang-yaml=\"`persistenceType`\" pulumi-lang-java=\"`persistenceType`\"\u003e`persistence_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`userDefined`\" pulumi-lang-dotnet=\"`UserDefined`\" pulumi-lang-go=\"`userDefined`\" pulumi-lang-python=\"`user_defined`\" pulumi-lang-yaml=\"`userDefined`\" pulumi-lang-java=\"`userDefined`\"\u003e`user_defined`\u003c/span\u003e.\n"},"persistenceType":{"type":"string","description":"The type of session persistence of LB Listener. Possible values are: \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e as disabled, \u003cspan pulumi-lang-nodejs=\"`serverInsert`\" pulumi-lang-dotnet=\"`ServerInsert`\" pulumi-lang-go=\"`serverInsert`\" pulumi-lang-python=\"`server_insert`\" pulumi-lang-yaml=\"`serverInsert`\" pulumi-lang-java=\"`serverInsert`\"\u003e`server_insert`\u003c/span\u003e as auto-generated string and \u003cspan pulumi-lang-nodejs=\"`userDefined`\" pulumi-lang-dotnet=\"`UserDefined`\" pulumi-lang-go=\"`userDefined`\" pulumi-lang-python=\"`user_defined`\" pulumi-lang-yaml=\"`userDefined`\" pulumi-lang-java=\"`userDefined`\"\u003e`user_defined`\u003c/span\u003e as cutom string. (Default: \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e).\n"},"port":{"type":"number","description":"Port opened on the LB Listener to receive requests, range: 1-65535.\n"},"protocol":{"type":"string","description":"LB Listener protocol. Possible values: \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e if \u003cspan pulumi-lang-nodejs=\"`listenType`\" pulumi-lang-dotnet=\"`ListenType`\" pulumi-lang-go=\"`listenType`\" pulumi-lang-python=\"`listen_type`\" pulumi-lang-yaml=\"`listenType`\" pulumi-lang-java=\"`listenType`\"\u003e`listen_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`requestProxy`\" pulumi-lang-dotnet=\"`RequestProxy`\" pulumi-lang-go=\"`requestProxy`\" pulumi-lang-python=\"`request_proxy`\" pulumi-lang-yaml=\"`requestProxy`\" pulumi-lang-java=\"`requestProxy`\"\u003e`request_proxy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e if \u003cspan pulumi-lang-nodejs=\"`listenType`\" pulumi-lang-dotnet=\"`ListenType`\" pulumi-lang-go=\"`listenType`\" pulumi-lang-python=\"`listen_type`\" pulumi-lang-yaml=\"`listenType`\" pulumi-lang-java=\"`listenType`\"\u003e`listen_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`packetsTransmit`\" pulumi-lang-dotnet=\"`PacketsTransmit`\" pulumi-lang-go=\"`packetsTransmit`\" pulumi-lang-python=\"`packets_transmit`\" pulumi-lang-yaml=\"`packetsTransmit`\" pulumi-lang-java=\"`packetsTransmit`\"\u003e`packets_transmit`\u003c/span\u003e.\n"},"status":{"type":"string","description":"LB Listener status. Possible values are: `allNormal` for all resource functioning well, `partNormal` for partial resource functioning well and `allException` for all resource functioning exceptional.\n"}},"type":"object","required":["domain","healthCheckType","id","idleTimeout","listenType","method","name","path","persistence","persistenceType","port","protocol","status"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getLbRulesLbRule:getLbRulesLbRule":{"properties":{"domain":{"type":"string","description":"(Optional) The domain of content forward matching fields. \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`domain`\" pulumi-lang-dotnet=\"`Domain`\" pulumi-lang-go=\"`domain`\" pulumi-lang-python=\"`domain`\" pulumi-lang-yaml=\"`domain`\" pulumi-lang-java=\"`domain`\"\u003e`domain`\u003c/span\u003e cannot coexist.\n"},"id":{"type":"string","description":"The ID of LB Rule.\n"},"path":{"type":"string","description":"(Optional) The path of Content forward matching fields. \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`domain`\" pulumi-lang-dotnet=\"`Domain`\" pulumi-lang-go=\"`domain`\" pulumi-lang-python=\"`domain`\" pulumi-lang-yaml=\"`domain`\" pulumi-lang-java=\"`domain`\"\u003e`domain`\u003c/span\u003e cannot coexist.\n"}},"type":"object","required":["domain","id","path"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getLbSslsLbSsl:getLbSslsLbSsl":{"properties":{"createTime":{"type":"string","description":"The time of creation for lb ssl, formatted in RFC3339 time string.\n"},"id":{"type":"string","description":"The ID of LB SSL certificate resource.\n"},"name":{"type":"string","description":"The name of LB SSL certificate resource.\n"}},"type":"object","required":["createTime","id","name"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getLbsLb:getLbsLb":{"properties":{"createTime":{"type":"string","description":"The creation time of Load Balancer, formatted in RFC3339 time string.\n"},"id":{"type":"string","description":"The ID of Load Balancer.\n"},"internal":{"type":"boolean","description":"Indicate whether the load balancer is intranet.\n"},"ipSets":{"type":"array","items":{"$ref":"#/types/ucloud:index%2FgetLbsLbIpSet:getLbsLbIpSet"}},"name":{"type":"string","description":"The name of Load Balancer.\n"},"privateIp":{"type":"string","description":"The IP address of intranet IP.\n"},"remark":{"type":"string","description":"The remarks of Load Balancer.\n"},"subnetId":{"type":"string","description":"The ID of subnet that intrant load balancer belongs to.\n"},"tag":{"type":"string","description":"A tag assigned to Load Balancer.\n"},"vpcId":{"type":"string","description":"The ID of the VPC linked to the Load Balancers.\n"}},"type":"object","required":["createTime","id","internal","ipSets","name","privateIp","remark","subnetId","tag","vpcId"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getLbsLbIpSet:getLbsLbIpSet":{"properties":{"internetType":{"type":"string","description":"Type of Load Balancer routes.\n"},"ip":{"type":"string","description":"Load Balancer address.\n"}},"type":"object","required":["internetType","ip"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getNatGatewaysNatGateway:getNatGatewaysNatGateway":{"properties":{"createTime":{"type":"string","description":"The time of creation for Nat Gateway, formatted in RFC3339 time string.\n"},"id":{"type":"string","description":"The ID of Nat Gateway.\n"},"ipSets":{"type":"array","items":{"$ref":"#/types/ucloud:index%2FgetNatGatewaysNatGatewayIpSet:getNatGatewaysNatGatewayIpSet"},"description":"It is a nested type which documented below.\n"},"name":{"type":"string","description":"The name of the Nat Gateway.\n"},"remark":{"type":"string","description":"The remarks of Nat Gateway.\n"},"securityGroup":{"type":"string","description":"The ID of the associated security group.\n"},"subnetIds":{"type":"array","items":{"type":"string"},"description":"The list of subnet ID under the VPC.\n"},"tag":{"type":"string","description":"A tag assigned to the Nat Gateway.\n"},"vpcId":{"type":"string","description":"The ID of VPC linked to the Nat Gateway.\n"}},"type":"object","required":["createTime","id","ipSets","name","remark","securityGroup","subnetIds","tag","vpcId"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getNatGatewaysNatGatewayIpSet:getNatGatewaysNatGatewayIpSet":{"properties":{"internetType":{"type":"string","description":"Type of Elastic IP routes.\n"},"ip":{"type":"string","description":"Elastic IP address.\n"}},"type":"object","required":["internetType","ip"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getProjectsProject:getProjectsProject":{"properties":{"createTime":{"type":"string","description":"The time of creation for instance, formatted in RFC3339 time string.\n"},"id":{"type":"string","description":"The ID of project defined.\n"},"memberCount":{"type":"number","description":"The number of members belongs to the defined project.\n"},"name":{"type":"string","description":"The name of the defined project.\n"},"parentId":{"type":"string","description":"The ID of the parent project where the sub project belongs to.\n"},"parentName":{"type":"string","description":"The name of the parent project where the sub project belongs to.\n"},"resourceCount":{"type":"number","description":"The number of the resounce instance belong/s to the defined project.\n"}},"type":"object","required":["createTime","id","memberCount","name","parentId","parentName","resourceCount"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getSecurityGroupsSecurityGroup:getSecurityGroupsSecurityGroup":{"properties":{"createTime":{"type":"string","description":"The time of creation for the security group, formatted in RFC3339 time string.\n"},"id":{"type":"string","description":"The ID of Security Group.\n"},"name":{"type":"string","description":"The name of Security Group.\n"},"remark":{"type":"string","description":"The remarks of the security group.\n"},"rules":{"type":"array","items":{"$ref":"#/types/ucloud:index%2FgetSecurityGroupsSecurityGroupRule:getSecurityGroupsSecurityGroupRule"},"description":"It is a nested type which documented below.\n"},"tag":{"type":"string","description":"A tag assigned to the security group.\n"},"type":{"type":"string","description":"The type of Security Group. Possible values are: \u003cspan pulumi-lang-nodejs=\"`recommendWeb`\" pulumi-lang-dotnet=\"`RecommendWeb`\" pulumi-lang-go=\"`recommendWeb`\" pulumi-lang-python=\"`recommend_web`\" pulumi-lang-yaml=\"`recommendWeb`\" pulumi-lang-java=\"`recommendWeb`\"\u003e`recommend_web`\u003c/span\u003e as the default Web security group that UCloud recommend to users, default opened port include 80, 443, 22, 3389, \u003cspan pulumi-lang-nodejs=\"`recommendNonWeb`\" pulumi-lang-dotnet=\"`RecommendNonWeb`\" pulumi-lang-go=\"`recommendNonWeb`\" pulumi-lang-python=\"`recommend_non_web`\" pulumi-lang-yaml=\"`recommendNonWeb`\" pulumi-lang-java=\"`recommendNonWeb`\"\u003e`recommend_non_web`\u003c/span\u003e as the default non Web security group that UCloud recommend to users, default opened port include 22, 3389, \u003cspan pulumi-lang-nodejs=\"`userDefined`\" pulumi-lang-dotnet=\"`UserDefined`\" pulumi-lang-go=\"`userDefined`\" pulumi-lang-python=\"`user_defined`\" pulumi-lang-yaml=\"`userDefined`\" pulumi-lang-java=\"`userDefined`\"\u003e`user_defined`\u003c/span\u003e as the security groups defined by users. You may refer to [security group](https://docs.ucloud.cn/network/firewall/firewall.html).\n"}},"type":"object","required":["createTime","id","name","remark","rules","tag","type"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getSecurityGroupsSecurityGroupRule:getSecurityGroupsSecurityGroupRule":{"properties":{"cidrBlock":{"type":"string","description":"The cidr block of source.\n"},"policy":{"type":"string","description":"Authorization policy. Can be either \u003cspan pulumi-lang-nodejs=\"`accept`\" pulumi-lang-dotnet=\"`Accept`\" pulumi-lang-go=\"`accept`\" pulumi-lang-python=\"`accept`\" pulumi-lang-yaml=\"`accept`\" pulumi-lang-java=\"`accept`\"\u003e`accept`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`drop`\" pulumi-lang-dotnet=\"`Drop`\" pulumi-lang-go=\"`drop`\" pulumi-lang-python=\"`drop`\" pulumi-lang-yaml=\"`drop`\" pulumi-lang-java=\"`drop`\"\u003e`drop`\u003c/span\u003e.\n"},"portRange":{"type":"string","description":"The range of port numbers, range: 1-65535. (eg: \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\"\u003e`port`\u003c/span\u003e or `port1-port2`).\n"},"priority":{"type":"string","description":"Rule priority. Can be \u003cspan pulumi-lang-nodejs=\"`high`\" pulumi-lang-dotnet=\"`High`\" pulumi-lang-go=\"`high`\" pulumi-lang-python=\"`high`\" pulumi-lang-yaml=\"`high`\" pulumi-lang-java=\"`high`\"\u003e`high`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`medium`\" pulumi-lang-dotnet=\"`Medium`\" pulumi-lang-go=\"`medium`\" pulumi-lang-python=\"`medium`\" pulumi-lang-yaml=\"`medium`\" pulumi-lang-java=\"`medium`\"\u003e`medium`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`low`\" pulumi-lang-dotnet=\"`Low`\" pulumi-lang-go=\"`low`\" pulumi-lang-python=\"`low`\" pulumi-lang-yaml=\"`low`\" pulumi-lang-java=\"`low`\"\u003e`low`\u003c/span\u003e.\n"},"protocol":{"type":"string","description":"The protocol. Can be \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`icmp`\" pulumi-lang-dotnet=\"`Icmp`\" pulumi-lang-go=\"`icmp`\" pulumi-lang-python=\"`icmp`\" pulumi-lang-yaml=\"`icmp`\" pulumi-lang-java=\"`icmp`\"\u003e`icmp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`gre`\" pulumi-lang-dotnet=\"`Gre`\" pulumi-lang-go=\"`gre`\" pulumi-lang-python=\"`gre`\" pulumi-lang-yaml=\"`gre`\" pulumi-lang-java=\"`gre`\"\u003e`gre`\u003c/span\u003e.\n"}},"type":"object","required":["cidrBlock","policy","portRange","priority","protocol"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getSubnetsSubnet:getSubnetsSubnet":{"properties":{"cidrBlock":{"type":"string","description":"The cidr block of the desired Subnet.\n"},"createTime":{"type":"string","description":"The time of creation of Subnet, formatted in RFC3339 time string.\n"},"id":{"type":"string","description":"The ID of Subnet.\n"},"name":{"type":"string","description":"The name of Subnet.\n"},"remark":{"type":"string","description":"The remark of the Subnet.\n"},"tag":{"type":"string","description":"A tag assigned to Subnet.\n"},"vpcId":{"type":"string","description":"The id of the VPC that the desired Subnet belongs to.\n"}},"type":"object","required":["cidrBlock","createTime","id","name","remark","tag","vpcId"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getUfsVolumesUfsVolume:getUfsVolumesUfsVolume":{"properties":{"createTime":{"type":"string","description":"The creation time of UFS Volume, formatted in RFC3339 time string.\n"},"expireTime":{"type":"string","description":"The expiration time of ufs volume, formatted in RFC3339 time string.\n"},"id":{"type":"string","description":"The ID of UFS Volume.\n"},"name":{"type":"string","description":"The name of UFS Volume.\n"},"protocolType":{"type":"string","description":"The protocol type of ufs volume.\n"},"remark":{"type":"string","description":"A remark assigned to UFS Volume.\n"},"size":{"type":"number","description":"The size of ufs volume. Purchase the size of ufs volume in GB.\n"},"storageType":{"type":"string","description":"The storage type of ufs volume.\n"},"tag":{"type":"string","description":"A tag assigned to UFS Volume.\n"}},"type":"object","required":["createTime","expireTime","id","name","protocolType","remark","size","storageType","tag"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getUs3BucketsUs3Bucket:getUs3BucketsUs3Bucket":{"properties":{"createTime":{"type":"string"},"name":{"type":"string"},"sourceDomainNames":{"type":"array","items":{"type":"string"}},"tag":{"type":"string"},"type":{"type":"string"}},"type":"object","required":["createTime","name","sourceDomainNames","tag","type"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getVpcsVpc:getVpcsVpc":{"properties":{"cidrBlocks":{"type":"array","items":{"type":"string"},"description":"The CIDR blocks of VPC.\n"},"createTime":{"type":"string","description":"The time of creation for VPC, formatted in RFC3339 time string.\n"},"id":{"type":"string","description":"The ID of VPC.\n"},"name":{"type":"string","description":"The name of VPC.\n"},"tag":{"type":"string","description":"A tag assigned to VPC.\n"},"updateTime":{"type":"string","description":"The time whenever there is a change made to VPC, formatted in RFC3339 time string.\n"}},"type":"object","required":["cidrBlocks","createTime","id","name","tag","updateTime"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getVpnConnectionsVpnConnection:getVpnConnectionsVpnConnection":{"properties":{"createTime":{"type":"string","description":"The time of creation for VPN Connection, formatted in RFC3339 time string.\n"},"customerGatewayId":{"type":"string","description":"The ID of VPN Customer Gateway.\n"},"id":{"type":"string","description":"The ID of VPN Connection.\n"},"ikeConfigs":{"type":"array","items":{"$ref":"#/types/ucloud:index%2FgetVpnConnectionsVpnConnectionIkeConfig:getVpnConnectionsVpnConnectionIkeConfig"},"description":"It is a nested type which documented below.\n"},"ipsecConfigs":{"type":"array","items":{"$ref":"#/types/ucloud:index%2FgetVpnConnectionsVpnConnectionIpsecConfig:getVpnConnectionsVpnConnectionIpsecConfig"},"description":"It is a nested type which documented below.\n"},"name":{"type":"string","description":"The name of the VPN Connection.\n"},"remark":{"type":"string","description":"The remarks of VPN Connection.\n"},"tag":{"type":"string","description":"A tag assigned to VPN Connection.\n"},"vpcId":{"type":"string","description":"The ID of VPC linked to the VPN Connection.\n"},"vpnGatewayId":{"type":"string","description":"The ID of VPN Gateway.\n"}},"type":"object","required":["createTime","customerGatewayId","id","ikeConfigs","ipsecConfigs","name","remark","tag","vpcId","vpnGatewayId"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getVpnConnectionsVpnConnectionIkeConfig:getVpnConnectionsVpnConnectionIkeConfig":{"properties":{"authenticationAlgorithm":{"type":"string","description":"The authentication algorithm of IPSec negotiation.\n"},"dhGroup":{"type":"string","description":"The Diffie-Hellman group used by IKE negotiation.\n"},"encryptionAlgorithm":{"type":"string","description":"The encryption algorithm of IPSec negotiation.\n"},"exchangeMode":{"type":"string","description":"The negotiation exchange mode of IKE V1 of VPN gateway.\n"},"ikeVersion":{"type":"string","description":"The version of the IKE protocol.\n"},"localId":{"type":"string","description":"The identification of the VPN gateway.\n"},"preSharedKey":{"type":"string","description":"The key used for authentication between the VPN gateway and the Customer gateway.\n"},"remoteId":{"type":"string","description":"The identification of the Customer gateway.\n"},"saLifeTime":{"type":"number","description":"The Security Association lifecycle as the result of IPSec negotiation.\n"}},"type":"object","required":["authenticationAlgorithm","dhGroup","encryptionAlgorithm","exchangeMode","ikeVersion","localId","preSharedKey","remoteId","saLifeTime"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getVpnConnectionsVpnConnectionIpsecConfig:getVpnConnectionsVpnConnectionIpsecConfig":{"properties":{"authenticationAlgorithm":{"type":"string","description":"The authentication algorithm of IPSec negotiation.\n"},"encryptionAlgorithm":{"type":"string","description":"The encryption algorithm of IPSec negotiation.\n"},"localSubnetIds":{"type":"array","items":{"type":"string"},"description":"The id list of Local subnet.\n"},"pfsDhGroup":{"type":"string","description":"Whether the PFS of IPSec negotiation is on or off, \u003cspan pulumi-lang-nodejs=\"`disable`\" pulumi-lang-dotnet=\"`Disable`\" pulumi-lang-go=\"`disable`\" pulumi-lang-python=\"`disable`\" pulumi-lang-yaml=\"`disable`\" pulumi-lang-java=\"`disable`\"\u003e`disable`\u003c/span\u003e as off, The Diffie-Hellman group as open.\n"},"protocol":{"type":"string","description":"The security protocol of IPSec negotiation.\n"},"remoteSubnets":{"type":"array","items":{"type":"string"},"description":"The ip address list of remote subnet.\n"},"saLifeTime":{"type":"number","description":"The Security Association lifecycle as the result of IPSec negotiation.\n"},"saLifeTimeBytes":{"type":"number","description":"The Security Association lifecycle in bytes as the result of IPSec negotiation.\n"}},"type":"object","required":["authenticationAlgorithm","encryptionAlgorithm","localSubnetIds","pfsDhGroup","protocol","remoteSubnets","saLifeTime","saLifeTimeBytes"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getVpnCustomerGatewaysVpnCustomerGateway:getVpnCustomerGatewaysVpnCustomerGateway":{"properties":{"createTime":{"type":"string","description":"The time of creation for VPN Customer Gateway, formatted in RFC3339 time string.\n"},"id":{"type":"string","description":"The ID of VPN Customer Gateway.\n"},"ipAddress":{"type":"string","description":"The ip address of the VPN Customer Gateway.\n"},"name":{"type":"string","description":"The name of the VPN Customer Gateway.\n"},"remark":{"type":"string","description":"The remarks of VPN Customer Gateway.\n"},"tag":{"type":"string","description":"A tag assigned to VPN Customer Gateway.\n"}},"type":"object","required":["createTime","id","ipAddress","name","remark","tag"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getVpnGatewaysVpnGateway:getVpnGatewaysVpnGateway":{"properties":{"autoRenew":{"type":"boolean","description":"Whether to renew an VPN Gateway automatically or not.\n"},"chargeType":{"type":"string","description":"The charge type of VPN Gateway.\n"},"createTime":{"type":"string","description":"The time of creation for VPN Gateway, formatted in RFC3339 time string.\n"},"expireTime":{"type":"string","description":"The expiration time for VPN Gateway, formatted in RFC3339 time string.\n"},"grade":{"type":"string","description":"The type of the VPN Gateway.\n"},"id":{"type":"string","description":"The ID of VPN Gateway.\n"},"ipSets":{"type":"array","items":{"$ref":"#/types/ucloud:index%2FgetVpnGatewaysVpnGatewayIpSet:getVpnGatewaysVpnGatewayIpSet"},"description":"It is a nested type which documented below.\n"},"name":{"type":"string","description":"The name of the VPN Gateway.\n"},"remark":{"type":"string","description":"The remarks of VPN Gateway.\n"},"tag":{"type":"string","description":"A tag assigned to VPN Gateway.\n"},"vpcId":{"type":"string","description":"The ID of VPC linked to the VPN Gateway.\n"}},"type":"object","required":["autoRenew","chargeType","createTime","expireTime","grade","id","ipSets","name","remark","tag","vpcId"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getVpnGatewaysVpnGatewayIpSet:getVpnGatewaysVpnGatewayIpSet":{"properties":{"internetType":{"type":"string","description":"Type of Elastic IP routes.\n"},"ip":{"type":"string","description":"Elastic IP address.\n"}},"type":"object","required":["internetType","ip"],"language":{"nodejs":{"requiredInputs":[]}}},"ucloud:index/getZonesZone:getZonesZone":{"properties":{"id":{"type":"string","description":"The ID of availability zone.\n"}},"type":"object","required":["id"],"language":{"nodejs":{"requiredInputs":[]}}}},"provider":{"description":"The provider type for the ucloud package. By default, resources use package-wide configuration\nsettings, however an explicit `Provider` instance may be created and passed during resource\nconstruction to achieve fine-grained programmatic control over provider settings. See the\n[documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.\n","properties":{"baseUrl":{"type":"string","description":"..."},"privateKey":{"type":"string","description":"..."},"profile":{"type":"string","description":"..."},"projectId":{"type":"string","description":"..."},"publicKey":{"type":"string","description":"..."},"region":{"type":"string","description":"..."},"sharedCredentialsFile":{"type":"string","description":"..."}},"type":"object","required":["projectId","region"],"inputProperties":{"assumeRole":{"$ref":"#/types/ucloud:index%2FProviderAssumeRole:ProviderAssumeRole"},"baseUrl":{"type":"string","description":"..."},"insecure":{"type":"boolean","description":"..."},"maxRetries":{"type":"number","description":"..."},"privateKey":{"type":"string","description":"..."},"profile":{"type":"string","description":"..."},"projectId":{"type":"string","description":"..."},"publicKey":{"type":"string","description":"..."},"region":{"type":"string","description":"..."},"sharedCredentialsFile":{"type":"string","description":"..."}},"requiredInputs":["projectId","region"],"methods":{"terraformConfig":"pulumi:providers:ucloud/terraformConfig"}},"resources":{"ucloud:index/antiDdosAllowedDomain:AntiDdosAllowedDomain":{"description":"Provides an Anti-DDoS instance allowed domain resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst foo = new ucloud.AntiDdosInstance(\"foo\", {\n    area: \"EastChina\",\n    bandwidth: 50,\n    baseDefenceValue: 30,\n    dataCenter: \"Zaozhuang\",\n    maxDefenceValue: 30,\n    name: \"tf-acc-anti-ddos-instance-basic\",\n});\nconst fooAntiDdosAllowedDomain = new ucloud.AntiDdosAllowedDomain(\"foo\", {\n    domain: \"ucloud.cn\",\n    instanceId: foo.antiDdosInstanceId,\n    comment: \"test-acc-comment\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nfoo = ucloud.AntiDdosInstance(\"foo\",\n    area=\"EastChina\",\n    bandwidth=50,\n    base_defence_value=30,\n    data_center=\"Zaozhuang\",\n    max_defence_value=30,\n    name=\"tf-acc-anti-ddos-instance-basic\")\nfoo_anti_ddos_allowed_domain = ucloud.AntiDdosAllowedDomain(\"foo\",\n    domain=\"ucloud.cn\",\n    instance_id=foo.anti_ddos_instance_id,\n    comment=\"test-acc-comment\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = new Ucloud.AntiDdosInstance(\"foo\", new()\n    {\n        Area = \"EastChina\",\n        Bandwidth = 50,\n        BaseDefenceValue = 30,\n        DataCenter = \"Zaozhuang\",\n        MaxDefenceValue = 30,\n        Name = \"tf-acc-anti-ddos-instance-basic\",\n    });\n\n    var fooAntiDdosAllowedDomain = new Ucloud.AntiDdosAllowedDomain(\"foo\", new()\n    {\n        Domain = \"ucloud.cn\",\n        InstanceId = foo.AntiDdosInstanceId,\n        Comment = \"test-acc-comment\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ucloud.NewAntiDdosInstance(ctx, \"foo\", \u0026ucloud.AntiDdosInstanceArgs{\n\t\t\tArea:             pulumi.String(\"EastChina\"),\n\t\t\tBandwidth:        pulumi.Float64(50),\n\t\t\tBaseDefenceValue: pulumi.Float64(30),\n\t\t\tDataCenter:       pulumi.String(\"Zaozhuang\"),\n\t\t\tMaxDefenceValue:  pulumi.Float64(30),\n\t\t\tName:             pulumi.String(\"tf-acc-anti-ddos-instance-basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ucloud.NewAntiDdosAllowedDomain(ctx, \"foo\", \u0026ucloud.AntiDdosAllowedDomainArgs{\n\t\t\tDomain:     pulumi.String(\"ucloud.cn\"),\n\t\t\tInstanceId: foo.AntiDdosInstanceId,\n\t\t\tComment:    pulumi.String(\"test-acc-comment\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.AntiDdosInstance;\nimport com.pulumi.ucloud.AntiDdosInstanceArgs;\nimport com.pulumi.ucloud.AntiDdosAllowedDomain;\nimport com.pulumi.ucloud.AntiDdosAllowedDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var foo = new AntiDdosInstance(\"foo\", AntiDdosInstanceArgs.builder()\n            .area(\"EastChina\")\n            .bandwidth(50.0)\n            .baseDefenceValue(30.0)\n            .dataCenter(\"Zaozhuang\")\n            .maxDefenceValue(30.0)\n            .name(\"tf-acc-anti-ddos-instance-basic\")\n            .build());\n\n        var fooAntiDdosAllowedDomain = new AntiDdosAllowedDomain(\"fooAntiDdosAllowedDomain\", AntiDdosAllowedDomainArgs.builder()\n            .domain(\"ucloud.cn\")\n            .instanceId(foo.antiDdosInstanceId())\n            .comment(\"test-acc-comment\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  foo:\n    type: ucloud:AntiDdosInstance\n    properties:\n      area: EastChina\n      bandwidth: 50\n      baseDefenceValue: 30\n      dataCenter: Zaozhuang\n      maxDefenceValue: 30\n      name: tf-acc-anti-ddos-instance-basic\n  fooAntiDdosAllowedDomain:\n    type: ucloud:AntiDdosAllowedDomain\n    name: foo\n    properties:\n      domain: ucloud.cn\n      instanceId: ${foo.antiDdosInstanceId}\n      comment: test-acc-comment\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAnti-DDoS instance allowed domain can be imported using the `\u003cinstance_id\u003e/\u003cdomain\u003e`, e.g.\n\n```sh\n$ pulumi import ucloud:index/antiDdosAllowedDomain:AntiDdosAllowedDomain example usecure_ghp-xxx/ucloud.cn\n```\n","properties":{"antiDdosAllowedDomainId":{"type":"string","description":"The ID of the resource ucloud_anti_ddos_allowed_domain, the format is `\u003cinstance_id\u003e/\u003cdomain\u003e`.\n"},"comment":{"type":"string","description":"Comment of the domain.\n"},"domain":{"type":"string","description":"For domain like `api.ucloud.cn` the value should be `ucloud.cn`.\n"},"instanceId":{"type":"string","description":"ID of ucloud_anti_ddos_instance.\n"},"status":{"type":"string","description":"The status of ucloud_anti_ddos_instance. Possible values are `Adding`, `Success`, `Deleting`, `Failure` and `Deleted`.\n"}},"type":"object","required":["antiDdosAllowedDomainId","comment","domain","instanceId","status"],"inputProperties":{"antiDdosAllowedDomainId":{"type":"string","description":"The ID of the resource ucloud_anti_ddos_allowed_domain, the format is `\u003cinstance_id\u003e/\u003cdomain\u003e`.\n"},"comment":{"type":"string","description":"Comment of the domain.\n"},"domain":{"type":"string","description":"For domain like `api.ucloud.cn` the value should be `ucloud.cn`.\n"},"instanceId":{"type":"string","description":"ID of ucloud_anti_ddos_instance.\n"}},"requiredInputs":["domain","instanceId"],"stateInputs":{"description":"Input properties used for looking up and filtering AntiDdosAllowedDomain resources.\n","properties":{"antiDdosAllowedDomainId":{"type":"string","description":"The ID of the resource ucloud_anti_ddos_allowed_domain, the format is `\u003cinstance_id\u003e/\u003cdomain\u003e`.\n"},"comment":{"type":"string","description":"Comment of the domain.\n"},"domain":{"type":"string","description":"For domain like `api.ucloud.cn` the value should be `ucloud.cn`.\n"},"instanceId":{"type":"string","description":"ID of ucloud_anti_ddos_instance.\n"},"status":{"type":"string","description":"The status of ucloud_anti_ddos_instance. Possible values are `Adding`, `Success`, `Deleting`, `Failure` and `Deleted`.\n"}},"type":"object"}},"ucloud:index/antiDdosInstance:AntiDdosInstance":{"description":"Provides an Anti-DDoS instance resource in Mainland China.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst foo = new ucloud.AntiDdosInstance(\"foo\", {\n    area: \"EastChina\",\n    bandwidth: 50,\n    baseDefenceValue: 30,\n    dataCenter: \"Zaozhuang\",\n    maxDefenceValue: 30,\n    name: \"tf-acc-anti-ddos-instance-basic\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nfoo = ucloud.AntiDdosInstance(\"foo\",\n    area=\"EastChina\",\n    bandwidth=50,\n    base_defence_value=30,\n    data_center=\"Zaozhuang\",\n    max_defence_value=30,\n    name=\"tf-acc-anti-ddos-instance-basic\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = new Ucloud.AntiDdosInstance(\"foo\", new()\n    {\n        Area = \"EastChina\",\n        Bandwidth = 50,\n        BaseDefenceValue = 30,\n        DataCenter = \"Zaozhuang\",\n        MaxDefenceValue = 30,\n        Name = \"tf-acc-anti-ddos-instance-basic\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ucloud.NewAntiDdosInstance(ctx, \"foo\", \u0026ucloud.AntiDdosInstanceArgs{\n\t\t\tArea:             pulumi.String(\"EastChina\"),\n\t\t\tBandwidth:        pulumi.Float64(50),\n\t\t\tBaseDefenceValue: pulumi.Float64(30),\n\t\t\tDataCenter:       pulumi.String(\"Zaozhuang\"),\n\t\t\tMaxDefenceValue:  pulumi.Float64(30),\n\t\t\tName:             pulumi.String(\"tf-acc-anti-ddos-instance-basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.AntiDdosInstance;\nimport com.pulumi.ucloud.AntiDdosInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var foo = new AntiDdosInstance(\"foo\", AntiDdosInstanceArgs.builder()\n            .area(\"EastChina\")\n            .bandwidth(50.0)\n            .baseDefenceValue(30.0)\n            .dataCenter(\"Zaozhuang\")\n            .maxDefenceValue(30.0)\n            .name(\"tf-acc-anti-ddos-instance-basic\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  foo:\n    type: ucloud:AntiDdosInstance\n    properties:\n      area: EastChina\n      bandwidth: 50\n      baseDefenceValue: 30\n      dataCenter: Zaozhuang\n      maxDefenceValue: 30\n      name: tf-acc-anti-ddos-instance-basic\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAnti-DDoS instance can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import ucloud:index/antiDdosInstance:AntiDdosInstance example usecure_ghp-xxx\n```\n","properties":{"antiDdosInstanceId":{"type":"string","description":"The ID of the resource ucloud_anti_ddos_instance.\n"},"area":{"type":"string","description":"The area where the instance is deployed. The value can be `EastChina` or `NorthChina`.\n"},"bandwidth":{"type":"number","description":"Size of the service bandwidth, whose unit is Mbps.\n"},"baseDefenceValue":{"type":"number","description":"Size of the base defence bandwidth, whose unit is Gbps and minimum value is 30.\n"},"chargeType":{"type":"string","description":"The charge type of Anti-DDoS instance, possible values are year and month (Default: month).\n"},"createTime":{"type":"string","description":"The creation time of ucloud_anti_ddos_instance, formatted in RFC3339 time string.\n"},"dataCenter":{"type":"string","description":"The data center where the instance is deployed. The value can be `Zaozhuang`, `Yangzhou` or `Taizhou` for `EastChina` area, and `Shijiazhuang` for `NorthChina` area.\n"},"duration":{"type":"number","description":"The duration that you will buy the instance (Default: 1).\n"},"expireTime":{"type":"string","description":"The expiration time of ucloud_anti_ddos_instance, formatted in RFC3339 time string.\n"},"maxDefenceValue":{"type":"number","description":"Size of the maximum defence bandwidth, whose unit is Gbps and value cannot be less than base_defence_value.\n"},"name":{"type":"string","description":"The name of\u003cspan pulumi-lang-nodejs=\" ucloud.AntiDdosInstance \" pulumi-lang-dotnet=\" ucloud.AntiDdosInstance \" pulumi-lang-go=\" AntiDdosInstance \" pulumi-lang-python=\" AntiDdosInstance \" pulumi-lang-yaml=\" ucloud.AntiDdosInstance \" pulumi-lang-java=\" ucloud.AntiDdosInstance \"\u003e ucloud.AntiDdosInstance \u003c/span\u003eresource, should have 1-63 characters and only support Chinese, English, numbers, '-', '_'.\n"},"status":{"type":"string","description":"The status of ucloud_anti_ddos_instance. Possible values are `Started`, `Stopped` and `Expired`.\n"}},"type":"object","required":["antiDdosInstanceId","area","bandwidth","baseDefenceValue","createTime","dataCenter","expireTime","maxDefenceValue","name","status"],"inputProperties":{"antiDdosInstanceId":{"type":"string","description":"The ID of the resource ucloud_anti_ddos_instance.\n"},"area":{"type":"string","description":"The area where the instance is deployed. The value can be `EastChina` or `NorthChina`.\n"},"bandwidth":{"type":"number","description":"Size of the service bandwidth, whose unit is Mbps.\n"},"baseDefenceValue":{"type":"number","description":"Size of the base defence bandwidth, whose unit is Gbps and minimum value is 30.\n"},"chargeType":{"type":"string","description":"The charge type of Anti-DDoS instance, possible values are year and month (Default: month).\n"},"dataCenter":{"type":"string","description":"The data center where the instance is deployed. The value can be `Zaozhuang`, `Yangzhou` or `Taizhou` for `EastChina` area, and `Shijiazhuang` for `NorthChina` area.\n"},"duration":{"type":"number","description":"The duration that you will buy the instance (Default: 1).\n"},"maxDefenceValue":{"type":"number","description":"Size of the maximum defence bandwidth, whose unit is Gbps and value cannot be less than base_defence_value.\n"},"name":{"type":"string","description":"The name of\u003cspan pulumi-lang-nodejs=\" ucloud.AntiDdosInstance \" pulumi-lang-dotnet=\" ucloud.AntiDdosInstance \" pulumi-lang-go=\" AntiDdosInstance \" pulumi-lang-python=\" AntiDdosInstance \" pulumi-lang-yaml=\" ucloud.AntiDdosInstance \" pulumi-lang-java=\" ucloud.AntiDdosInstance \"\u003e ucloud.AntiDdosInstance \u003c/span\u003eresource, should have 1-63 characters and only support Chinese, English, numbers, '-', '_'.\n"}},"requiredInputs":["area","bandwidth","baseDefenceValue","dataCenter","maxDefenceValue"],"stateInputs":{"description":"Input properties used for looking up and filtering AntiDdosInstance resources.\n","properties":{"antiDdosInstanceId":{"type":"string","description":"The ID of the resource ucloud_anti_ddos_instance.\n"},"area":{"type":"string","description":"The area where the instance is deployed. The value can be `EastChina` or `NorthChina`.\n"},"bandwidth":{"type":"number","description":"Size of the service bandwidth, whose unit is Mbps.\n"},"baseDefenceValue":{"type":"number","description":"Size of the base defence bandwidth, whose unit is Gbps and minimum value is 30.\n"},"chargeType":{"type":"string","description":"The charge type of Anti-DDoS instance, possible values are year and month (Default: month).\n"},"createTime":{"type":"string","description":"The creation time of ucloud_anti_ddos_instance, formatted in RFC3339 time string.\n"},"dataCenter":{"type":"string","description":"The data center where the instance is deployed. The value can be `Zaozhuang`, `Yangzhou` or `Taizhou` for `EastChina` area, and `Shijiazhuang` for `NorthChina` area.\n"},"duration":{"type":"number","description":"The duration that you will buy the instance (Default: 1).\n"},"expireTime":{"type":"string","description":"The expiration time of ucloud_anti_ddos_instance, formatted in RFC3339 time string.\n"},"maxDefenceValue":{"type":"number","description":"Size of the maximum defence bandwidth, whose unit is Gbps and value cannot be less than base_defence_value.\n"},"name":{"type":"string","description":"The name of\u003cspan pulumi-lang-nodejs=\" ucloud.AntiDdosInstance \" pulumi-lang-dotnet=\" ucloud.AntiDdosInstance \" pulumi-lang-go=\" AntiDdosInstance \" pulumi-lang-python=\" AntiDdosInstance \" pulumi-lang-yaml=\" ucloud.AntiDdosInstance \" pulumi-lang-java=\" ucloud.AntiDdosInstance \"\u003e ucloud.AntiDdosInstance \u003c/span\u003eresource, should have 1-63 characters and only support Chinese, English, numbers, '-', '_'.\n"},"status":{"type":"string","description":"The status of ucloud_anti_ddos_instance. Possible values are `Started`, `Stopped` and `Expired`.\n"}},"type":"object"}},"ucloud:index/antiDdosIp:AntiDdosIp":{"description":"Provides an Anti-DDoS IP resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst foo = new ucloud.AntiDdosInstance(\"foo\", {\n    area: \"EastChina\",\n    bandwidth: 80,\n    baseDefenceValue: 30,\n    dataCenter: \"Zaozhuang\",\n    maxDefenceValue: 30,\n    name: \"tf-acc-anti-ddos-instance-basic\",\n});\nconst fooAntiDdosAllowedDomain = new ucloud.AntiDdosAllowedDomain(\"foo\", {\n    domain: \"ucloud.cn\",\n    instanceId: foo.antiDdosInstanceId,\n    comment: \"test-acc-comment\",\n});\nconst fooAntiDdosIp = new ucloud.AntiDdosIp(\"foo\", {\n    instanceId: foo.antiDdosInstanceId,\n    comment: \"test-acc-comment\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nfoo = ucloud.AntiDdosInstance(\"foo\",\n    area=\"EastChina\",\n    bandwidth=80,\n    base_defence_value=30,\n    data_center=\"Zaozhuang\",\n    max_defence_value=30,\n    name=\"tf-acc-anti-ddos-instance-basic\")\nfoo_anti_ddos_allowed_domain = ucloud.AntiDdosAllowedDomain(\"foo\",\n    domain=\"ucloud.cn\",\n    instance_id=foo.anti_ddos_instance_id,\n    comment=\"test-acc-comment\")\nfoo_anti_ddos_ip = ucloud.AntiDdosIp(\"foo\",\n    instance_id=foo.anti_ddos_instance_id,\n    comment=\"test-acc-comment\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = new Ucloud.AntiDdosInstance(\"foo\", new()\n    {\n        Area = \"EastChina\",\n        Bandwidth = 80,\n        BaseDefenceValue = 30,\n        DataCenter = \"Zaozhuang\",\n        MaxDefenceValue = 30,\n        Name = \"tf-acc-anti-ddos-instance-basic\",\n    });\n\n    var fooAntiDdosAllowedDomain = new Ucloud.AntiDdosAllowedDomain(\"foo\", new()\n    {\n        Domain = \"ucloud.cn\",\n        InstanceId = foo.AntiDdosInstanceId,\n        Comment = \"test-acc-comment\",\n    });\n\n    var fooAntiDdosIp = new Ucloud.AntiDdosIp(\"foo\", new()\n    {\n        InstanceId = foo.AntiDdosInstanceId,\n        Comment = \"test-acc-comment\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ucloud.NewAntiDdosInstance(ctx, \"foo\", \u0026ucloud.AntiDdosInstanceArgs{\n\t\t\tArea:             pulumi.String(\"EastChina\"),\n\t\t\tBandwidth:        pulumi.Float64(80),\n\t\t\tBaseDefenceValue: pulumi.Float64(30),\n\t\t\tDataCenter:       pulumi.String(\"Zaozhuang\"),\n\t\t\tMaxDefenceValue:  pulumi.Float64(30),\n\t\t\tName:             pulumi.String(\"tf-acc-anti-ddos-instance-basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ucloud.NewAntiDdosAllowedDomain(ctx, \"foo\", \u0026ucloud.AntiDdosAllowedDomainArgs{\n\t\t\tDomain:     pulumi.String(\"ucloud.cn\"),\n\t\t\tInstanceId: foo.AntiDdosInstanceId,\n\t\t\tComment:    pulumi.String(\"test-acc-comment\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ucloud.NewAntiDdosIp(ctx, \"foo\", \u0026ucloud.AntiDdosIpArgs{\n\t\t\tInstanceId: foo.AntiDdosInstanceId,\n\t\t\tComment:    pulumi.String(\"test-acc-comment\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.AntiDdosInstance;\nimport com.pulumi.ucloud.AntiDdosInstanceArgs;\nimport com.pulumi.ucloud.AntiDdosAllowedDomain;\nimport com.pulumi.ucloud.AntiDdosAllowedDomainArgs;\nimport com.pulumi.ucloud.AntiDdosIp;\nimport com.pulumi.ucloud.AntiDdosIpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var foo = new AntiDdosInstance(\"foo\", AntiDdosInstanceArgs.builder()\n            .area(\"EastChina\")\n            .bandwidth(80.0)\n            .baseDefenceValue(30.0)\n            .dataCenter(\"Zaozhuang\")\n            .maxDefenceValue(30.0)\n            .name(\"tf-acc-anti-ddos-instance-basic\")\n            .build());\n\n        var fooAntiDdosAllowedDomain = new AntiDdosAllowedDomain(\"fooAntiDdosAllowedDomain\", AntiDdosAllowedDomainArgs.builder()\n            .domain(\"ucloud.cn\")\n            .instanceId(foo.antiDdosInstanceId())\n            .comment(\"test-acc-comment\")\n            .build());\n\n        var fooAntiDdosIp = new AntiDdosIp(\"fooAntiDdosIp\", AntiDdosIpArgs.builder()\n            .instanceId(foo.antiDdosInstanceId())\n            .comment(\"test-acc-comment\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  foo:\n    type: ucloud:AntiDdosInstance\n    properties:\n      area: EastChina\n      bandwidth: 80\n      baseDefenceValue: 30\n      dataCenter: Zaozhuang\n      maxDefenceValue: 30\n      name: tf-acc-anti-ddos-instance-basic\n  fooAntiDdosAllowedDomain:\n    type: ucloud:AntiDdosAllowedDomain\n    name: foo\n    properties:\n      domain: ucloud.cn\n      instanceId: ${foo.antiDdosInstanceId}\n      comment: test-acc-comment\n  fooAntiDdosIp:\n    type: ucloud:AntiDdosIp\n    name: foo\n    properties:\n      instanceId: ${foo.antiDdosInstanceId}\n      comment: test-acc-comment\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAnti-DDoS instance allowed domain can be imported using the `\u003cinstance_id\u003e/\u003cip\u003e`, e.g.\n\n```sh\n$ pulumi import ucloud:index/antiDdosIp:AntiDdosIp example usecure_ghp-xxx/10.10.10.10\n```\n","properties":{"antiDdosIpId":{"type":"string","description":"The ID of the resource ucloud_anti_ddos_ip, the format is `\u003cinstance_id\u003e/\u003cip\u003e`.\n"},"comment":{"type":"string","description":"Comment of the IP.\n"},"domain":{"type":"string","description":"Corresponding domain of the IP.\n"},"instanceId":{"type":"string","description":"ID of ucloud_anti_ddos_instance.\n"},"ip":{"type":"string"},"status":{"type":"string","description":"Status of the IP. Possible values are `Pending` and `Success`\n"}},"type":"object","required":["antiDdosIpId","comment","domain","instanceId","ip","status"],"inputProperties":{"antiDdosIpId":{"type":"string","description":"The ID of the resource ucloud_anti_ddos_ip, the format is `\u003cinstance_id\u003e/\u003cip\u003e`.\n"},"comment":{"type":"string","description":"Comment of the IP.\n"},"instanceId":{"type":"string","description":"ID of ucloud_anti_ddos_instance.\n"}},"requiredInputs":["instanceId"],"stateInputs":{"description":"Input properties used for looking up and filtering AntiDdosIp resources.\n","properties":{"antiDdosIpId":{"type":"string","description":"The ID of the resource ucloud_anti_ddos_ip, the format is `\u003cinstance_id\u003e/\u003cip\u003e`.\n"},"comment":{"type":"string","description":"Comment of the IP.\n"},"domain":{"type":"string","description":"Corresponding domain of the IP.\n"},"instanceId":{"type":"string","description":"ID of ucloud_anti_ddos_instance.\n"},"ip":{"type":"string"},"status":{"type":"string","description":"Status of the IP. Possible values are `Pending` and `Success`\n"}},"type":"object"}},"ucloud:index/antiDdosRule:AntiDdosRule":{"description":"Provides an Anti-DDoS rule resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst foo = new ucloud.AntiDdosInstance(\"foo\", {\n    area: \"EastChina\",\n    bandwidth: 80,\n    baseDefenceValue: 30,\n    dataCenter: \"Zaozhuang\",\n    maxDefenceValue: 30,\n    name: \"tf-acc-anti-ddos-instance-basic\",\n});\nconst fooAntiDdosAllowedDomain = new ucloud.AntiDdosAllowedDomain(\"foo\", {\n    domain: \"ucloud.cn\",\n    instanceId: foo.antiDdosInstanceId,\n    comment: \"test-acc-comment\",\n});\nconst fooAntiDdosIp = new ucloud.AntiDdosIp(\"foo\", {\n    instanceId: foo.antiDdosInstanceId,\n    comment: \"test-acc-comment\",\n});\nconst fooAntiDdosRule = new ucloud.AntiDdosRule(\"foo\", {\n    instanceId: foo.antiDdosInstanceId,\n    ip: fooAntiDdosIp.ip,\n    port: 4321,\n    realServerType: \"IP\",\n    realServers: [\n        {\n            address: \"127.0.0.1\",\n            port: 4321,\n        },\n        {\n            address: \"127.0.0.2\",\n            port: 4321,\n        },\n    ],\n    toaId: 100,\n    realServerDetection: true,\n    backupServer: {\n        ip: \"127.0.0.1\",\n        port: \"4321\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nfoo = ucloud.AntiDdosInstance(\"foo\",\n    area=\"EastChina\",\n    bandwidth=80,\n    base_defence_value=30,\n    data_center=\"Zaozhuang\",\n    max_defence_value=30,\n    name=\"tf-acc-anti-ddos-instance-basic\")\nfoo_anti_ddos_allowed_domain = ucloud.AntiDdosAllowedDomain(\"foo\",\n    domain=\"ucloud.cn\",\n    instance_id=foo.anti_ddos_instance_id,\n    comment=\"test-acc-comment\")\nfoo_anti_ddos_ip = ucloud.AntiDdosIp(\"foo\",\n    instance_id=foo.anti_ddos_instance_id,\n    comment=\"test-acc-comment\")\nfoo_anti_ddos_rule = ucloud.AntiDdosRule(\"foo\",\n    instance_id=foo.anti_ddos_instance_id,\n    ip=foo_anti_ddos_ip.ip,\n    port=4321,\n    real_server_type=\"IP\",\n    real_servers=[\n        {\n            \"address\": \"127.0.0.1\",\n            \"port\": 4321,\n        },\n        {\n            \"address\": \"127.0.0.2\",\n            \"port\": 4321,\n        },\n    ],\n    toa_id=100,\n    real_server_detection=True,\n    backup_server={\n        \"ip\": \"127.0.0.1\",\n        \"port\": \"4321\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = new Ucloud.AntiDdosInstance(\"foo\", new()\n    {\n        Area = \"EastChina\",\n        Bandwidth = 80,\n        BaseDefenceValue = 30,\n        DataCenter = \"Zaozhuang\",\n        MaxDefenceValue = 30,\n        Name = \"tf-acc-anti-ddos-instance-basic\",\n    });\n\n    var fooAntiDdosAllowedDomain = new Ucloud.AntiDdosAllowedDomain(\"foo\", new()\n    {\n        Domain = \"ucloud.cn\",\n        InstanceId = foo.AntiDdosInstanceId,\n        Comment = \"test-acc-comment\",\n    });\n\n    var fooAntiDdosIp = new Ucloud.AntiDdosIp(\"foo\", new()\n    {\n        InstanceId = foo.AntiDdosInstanceId,\n        Comment = \"test-acc-comment\",\n    });\n\n    var fooAntiDdosRule = new Ucloud.AntiDdosRule(\"foo\", new()\n    {\n        InstanceId = foo.AntiDdosInstanceId,\n        Ip = fooAntiDdosIp.Ip,\n        Port = 4321,\n        RealServerType = \"IP\",\n        RealServers = new[]\n        {\n            new Ucloud.Inputs.AntiDdosRuleRealServerArgs\n            {\n                Address = \"127.0.0.1\",\n                Port = 4321,\n            },\n            new Ucloud.Inputs.AntiDdosRuleRealServerArgs\n            {\n                Address = \"127.0.0.2\",\n                Port = 4321,\n            },\n        },\n        ToaId = 100,\n        RealServerDetection = true,\n        BackupServer = \n        {\n            { \"ip\", \"127.0.0.1\" },\n            { \"port\", \"4321\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ucloud.NewAntiDdosInstance(ctx, \"foo\", \u0026ucloud.AntiDdosInstanceArgs{\n\t\t\tArea:             pulumi.String(\"EastChina\"),\n\t\t\tBandwidth:        pulumi.Float64(80),\n\t\t\tBaseDefenceValue: pulumi.Float64(30),\n\t\t\tDataCenter:       pulumi.String(\"Zaozhuang\"),\n\t\t\tMaxDefenceValue:  pulumi.Float64(30),\n\t\t\tName:             pulumi.String(\"tf-acc-anti-ddos-instance-basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ucloud.NewAntiDdosAllowedDomain(ctx, \"foo\", \u0026ucloud.AntiDdosAllowedDomainArgs{\n\t\t\tDomain:     pulumi.String(\"ucloud.cn\"),\n\t\t\tInstanceId: foo.AntiDdosInstanceId,\n\t\t\tComment:    pulumi.String(\"test-acc-comment\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooAntiDdosIp, err := ucloud.NewAntiDdosIp(ctx, \"foo\", \u0026ucloud.AntiDdosIpArgs{\n\t\t\tInstanceId: foo.AntiDdosInstanceId,\n\t\t\tComment:    pulumi.String(\"test-acc-comment\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ucloud.NewAntiDdosRule(ctx, \"foo\", \u0026ucloud.AntiDdosRuleArgs{\n\t\t\tInstanceId:     foo.AntiDdosInstanceId,\n\t\t\tIp:             fooAntiDdosIp.Ip,\n\t\t\tPort:           pulumi.Float64(4321),\n\t\t\tRealServerType: pulumi.String(\"IP\"),\n\t\t\tRealServers: ucloud.AntiDdosRuleRealServerArray{\n\t\t\t\t\u0026ucloud.AntiDdosRuleRealServerArgs{\n\t\t\t\t\tAddress: pulumi.String(\"127.0.0.1\"),\n\t\t\t\t\tPort:    pulumi.Float64(4321),\n\t\t\t\t},\n\t\t\t\t\u0026ucloud.AntiDdosRuleRealServerArgs{\n\t\t\t\t\tAddress: pulumi.String(\"127.0.0.2\"),\n\t\t\t\t\tPort:    pulumi.Float64(4321),\n\t\t\t\t},\n\t\t\t},\n\t\t\tToaId:               pulumi.Float64(100),\n\t\t\tRealServerDetection: pulumi.Bool(true),\n\t\t\tBackupServer: pulumi.StringMap{\n\t\t\t\t\"ip\":   pulumi.String(\"127.0.0.1\"),\n\t\t\t\t\"port\": pulumi.String(\"4321\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.AntiDdosInstance;\nimport com.pulumi.ucloud.AntiDdosInstanceArgs;\nimport com.pulumi.ucloud.AntiDdosAllowedDomain;\nimport com.pulumi.ucloud.AntiDdosAllowedDomainArgs;\nimport com.pulumi.ucloud.AntiDdosIp;\nimport com.pulumi.ucloud.AntiDdosIpArgs;\nimport com.pulumi.ucloud.AntiDdosRule;\nimport com.pulumi.ucloud.AntiDdosRuleArgs;\nimport com.pulumi.ucloud.inputs.AntiDdosRuleRealServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var foo = new AntiDdosInstance(\"foo\", AntiDdosInstanceArgs.builder()\n            .area(\"EastChina\")\n            .bandwidth(80.0)\n            .baseDefenceValue(30.0)\n            .dataCenter(\"Zaozhuang\")\n            .maxDefenceValue(30.0)\n            .name(\"tf-acc-anti-ddos-instance-basic\")\n            .build());\n\n        var fooAntiDdosAllowedDomain = new AntiDdosAllowedDomain(\"fooAntiDdosAllowedDomain\", AntiDdosAllowedDomainArgs.builder()\n            .domain(\"ucloud.cn\")\n            .instanceId(foo.antiDdosInstanceId())\n            .comment(\"test-acc-comment\")\n            .build());\n\n        var fooAntiDdosIp = new AntiDdosIp(\"fooAntiDdosIp\", AntiDdosIpArgs.builder()\n            .instanceId(foo.antiDdosInstanceId())\n            .comment(\"test-acc-comment\")\n            .build());\n\n        var fooAntiDdosRule = new AntiDdosRule(\"fooAntiDdosRule\", AntiDdosRuleArgs.builder()\n            .instanceId(foo.antiDdosInstanceId())\n            .ip(fooAntiDdosIp.ip())\n            .port(4321.0)\n            .realServerType(\"IP\")\n            .realServers(            \n                AntiDdosRuleRealServerArgs.builder()\n                    .address(\"127.0.0.1\")\n                    .port(4321.0)\n                    .build(),\n                AntiDdosRuleRealServerArgs.builder()\n                    .address(\"127.0.0.2\")\n                    .port(4321.0)\n                    .build())\n            .toaId(100.0)\n            .realServerDetection(true)\n            .backupServer(Map.ofEntries(\n                Map.entry(\"ip\", \"127.0.0.1\"),\n                Map.entry(\"port\", \"4321\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  foo:\n    type: ucloud:AntiDdosInstance\n    properties:\n      area: EastChina\n      bandwidth: 80\n      baseDefenceValue: 30\n      dataCenter: Zaozhuang\n      maxDefenceValue: 30\n      name: tf-acc-anti-ddos-instance-basic\n  fooAntiDdosAllowedDomain:\n    type: ucloud:AntiDdosAllowedDomain\n    name: foo\n    properties:\n      domain: ucloud.cn\n      instanceId: ${foo.antiDdosInstanceId}\n      comment: test-acc-comment\n  fooAntiDdosIp:\n    type: ucloud:AntiDdosIp\n    name: foo\n    properties:\n      instanceId: ${foo.antiDdosInstanceId}\n      comment: test-acc-comment\n  fooAntiDdosRule:\n    type: ucloud:AntiDdosRule\n    name: foo\n    properties:\n      instanceId: ${foo.antiDdosInstanceId}\n      ip: ${fooAntiDdosIp.ip}\n      port: 4321\n      realServerType: IP\n      realServers:\n        - address: 127.0.0.1\n          port: 4321\n        - address: 127.0.0.2\n          port: 4321\n      toaId: 100\n      realServerDetection: true\n      backupServer:\n        ip: 127.0.0.1\n        port: '4321'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAnti-DDoS instance allowed domain can be imported using the `\u003cinstance_id\u003e/\u003cip\u003e` or `\u003cinstance_id\u003e/\u003cip\u003e/\u003cport\u003e`, e.g.\n\n```sh\n$ pulumi import ucloud:index/antiDdosRule:AntiDdosRule example usecure_ghp-xxx/10.10.10.10/4321\n```\n","properties":{"antiDdosRuleId":{"type":"string","description":"The ID of the resource ucloud_anti_ddos_rule, the format is `\u003cinstance_id\u003e/\u003cip\u003e` for IP protocol rule or  `\u003cinstance_id\u003e/\u003cip\u003e/\u003cport\u003e` for TCP protocol rule.\n"},"backupServer":{"type":"object","additionalProperties":{"type":"string"},"description":"Backup server, which must be set when \u003cspan pulumi-lang-nodejs=\"`realServerDetection`\" pulumi-lang-dotnet=\"`RealServerDetection`\" pulumi-lang-go=\"`realServerDetection`\" pulumi-lang-python=\"`real_server_detection`\" pulumi-lang-yaml=\"`realServerDetection`\" pulumi-lang-java=\"`realServerDetection`\"\u003e`real_server_detection`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"comment":{"type":"string","description":"Comment of the rule.\n"},"instanceId":{"type":"string","description":"ID of ucloud_anti_ddos_instance.\n"},"ip":{"type":"string","description":"IP, where the rule is applied. The value can be got from the IP attribute of ucloud_anti_ddos_ip.\n"},"port":{"type":"number","description":"Port, where the rule is applied. When port is not set or set zero, the Anti-DDoS instance just forwards traffic in layer-3, otherwise it forwards traffic in layer-4.\n"},"realServerDetection":{"type":"boolean","description":"Whether to detect real server health status. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"realServerType":{"type":"string","description":"Type of real server address, whose value can be `IP` or `Domain`.\n"},"realServers":{"type":"array","items":{"$ref":"#/types/ucloud:index%2FAntiDdosRuleRealServer:AntiDdosRuleRealServer"},"description":"Real server list.\n"},"ruleId":{"type":"string"},"ruleIndex":{"type":"number"},"status":{"type":"string","description":"Status of the IP. Possible values are `Pending`, `Success` and `Failed`.\n"},"toaId":{"type":"number","description":"ID of TOA for getting real client IP. Default is 200.\n"}},"type":"object","required":["antiDdosRuleId","comment","instanceId","ip","realServerType","realServers","ruleId","ruleIndex","status"],"inputProperties":{"antiDdosRuleId":{"type":"string","description":"The ID of the resource ucloud_anti_ddos_rule, the format is `\u003cinstance_id\u003e/\u003cip\u003e` for IP protocol rule or  `\u003cinstance_id\u003e/\u003cip\u003e/\u003cport\u003e` for TCP protocol rule.\n"},"backupServer":{"type":"object","additionalProperties":{"type":"string"},"description":"Backup server, which must be set when \u003cspan pulumi-lang-nodejs=\"`realServerDetection`\" pulumi-lang-dotnet=\"`RealServerDetection`\" pulumi-lang-go=\"`realServerDetection`\" pulumi-lang-python=\"`real_server_detection`\" pulumi-lang-yaml=\"`realServerDetection`\" pulumi-lang-java=\"`realServerDetection`\"\u003e`real_server_detection`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"comment":{"type":"string","description":"Comment of the rule.\n"},"instanceId":{"type":"string","description":"ID of ucloud_anti_ddos_instance.\n"},"ip":{"type":"string","description":"IP, where the rule is applied. The value can be got from the IP attribute of ucloud_anti_ddos_ip.\n"},"port":{"type":"number","description":"Port, where the rule is applied. When port is not set or set zero, the Anti-DDoS instance just forwards traffic in layer-3, otherwise it forwards traffic in layer-4.\n"},"realServerDetection":{"type":"boolean","description":"Whether to detect real server health status. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"realServerType":{"type":"string","description":"Type of real server address, whose value can be `IP` or `Domain`.\n"},"realServers":{"type":"array","items":{"$ref":"#/types/ucloud:index%2FAntiDdosRuleRealServer:AntiDdosRuleRealServer"},"description":"Real server list.\n"},"toaId":{"type":"number","description":"ID of TOA for getting real client IP. Default is 200.\n"}},"requiredInputs":["instanceId","ip","realServerType","realServers"],"stateInputs":{"description":"Input properties used for looking up and filtering AntiDdosRule resources.\n","properties":{"antiDdosRuleId":{"type":"string","description":"The ID of the resource ucloud_anti_ddos_rule, the format is `\u003cinstance_id\u003e/\u003cip\u003e` for IP protocol rule or  `\u003cinstance_id\u003e/\u003cip\u003e/\u003cport\u003e` for TCP protocol rule.\n"},"backupServer":{"type":"object","additionalProperties":{"type":"string"},"description":"Backup server, which must be set when \u003cspan pulumi-lang-nodejs=\"`realServerDetection`\" pulumi-lang-dotnet=\"`RealServerDetection`\" pulumi-lang-go=\"`realServerDetection`\" pulumi-lang-python=\"`real_server_detection`\" pulumi-lang-yaml=\"`realServerDetection`\" pulumi-lang-java=\"`realServerDetection`\"\u003e`real_server_detection`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"comment":{"type":"string","description":"Comment of the rule.\n"},"instanceId":{"type":"string","description":"ID of ucloud_anti_ddos_instance.\n"},"ip":{"type":"string","description":"IP, where the rule is applied. The value can be got from the IP attribute of ucloud_anti_ddos_ip.\n"},"port":{"type":"number","description":"Port, where the rule is applied. When port is not set or set zero, the Anti-DDoS instance just forwards traffic in layer-3, otherwise it forwards traffic in layer-4.\n"},"realServerDetection":{"type":"boolean","description":"Whether to detect real server health status. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"realServerType":{"type":"string","description":"Type of real server address, whose value can be `IP` or `Domain`.\n"},"realServers":{"type":"array","items":{"$ref":"#/types/ucloud:index%2FAntiDdosRuleRealServer:AntiDdosRuleRealServer"},"description":"Real server list.\n"},"ruleId":{"type":"string"},"ruleIndex":{"type":"number"},"status":{"type":"string","description":"Status of the IP. Possible values are `Pending`, `Success` and `Failed`.\n"},"toaId":{"type":"number","description":"ID of TOA for getting real client IP. Default is 200.\n"}},"type":"object"}},"ucloud:index/baremetalInstance:BaremetalInstance":{"description":"The \u003cspan pulumi-lang-nodejs=\"`ucloud.BaremetalInstance`\" pulumi-lang-dotnet=\"`ucloud.BaremetalInstance`\" pulumi-lang-go=\"`BaremetalInstance`\" pulumi-lang-python=\"`BaremetalInstance`\" pulumi-lang-yaml=\"`ucloud.BaremetalInstance`\" pulumi-lang-java=\"`ucloud.BaremetalInstance`\"\u003e`ucloud.BaremetalInstance`\u003c/span\u003e resource provides a UCloud Bare Metal instance. This can be used to create, modify, and delete Bare Metal instances.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst example = new ucloud.BaremetalInstance(\"example\", {\n    availabilityZone: \"cn-bj2-02\",\n    imageId: \"pimg-cs-aqxttl\",\n    rootPassword: \"test123456\",\n    networkInterface: {\n        eipBandwidth: 10,\n        eipChargeMode: \"traffic\",\n        eipInternetType: \"bgp\",\n    },\n    tag: \"Default\",\n    instanceType: \"Base-SSD-V5\",\n    name: \"UPHost\",\n    raidType: \"no_raid\",\n    chargeType: \"day\",\n    vpcId: \"uvnet-xxx\",\n    subnetId: \"subnet-yyy\",\n    securityGroup: \"firewall-zzz\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nexample = ucloud.BaremetalInstance(\"example\",\n    availability_zone=\"cn-bj2-02\",\n    image_id=\"pimg-cs-aqxttl\",\n    root_password=\"test123456\",\n    network_interface={\n        \"eip_bandwidth\": 10,\n        \"eip_charge_mode\": \"traffic\",\n        \"eip_internet_type\": \"bgp\",\n    },\n    tag=\"Default\",\n    instance_type=\"Base-SSD-V5\",\n    name=\"UPHost\",\n    raid_type=\"no_raid\",\n    charge_type=\"day\",\n    vpc_id=\"uvnet-xxx\",\n    subnet_id=\"subnet-yyy\",\n    security_group=\"firewall-zzz\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Ucloud.BaremetalInstance(\"example\", new()\n    {\n        AvailabilityZone = \"cn-bj2-02\",\n        ImageId = \"pimg-cs-aqxttl\",\n        RootPassword = \"test123456\",\n        NetworkInterface = new Ucloud.Inputs.BaremetalInstanceNetworkInterfaceArgs\n        {\n            EipBandwidth = 10,\n            EipChargeMode = \"traffic\",\n            EipInternetType = \"bgp\",\n        },\n        Tag = \"Default\",\n        InstanceType = \"Base-SSD-V5\",\n        Name = \"UPHost\",\n        RaidType = \"no_raid\",\n        ChargeType = \"day\",\n        VpcId = \"uvnet-xxx\",\n        SubnetId = \"subnet-yyy\",\n        SecurityGroup = \"firewall-zzz\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ucloud.NewBaremetalInstance(ctx, \"example\", \u0026ucloud.BaremetalInstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"cn-bj2-02\"),\n\t\t\tImageId:          pulumi.String(\"pimg-cs-aqxttl\"),\n\t\t\tRootPassword:     pulumi.String(\"test123456\"),\n\t\t\tNetworkInterface: \u0026ucloud.BaremetalInstanceNetworkInterfaceArgs{\n\t\t\t\tEipBandwidth:    pulumi.Float64(10),\n\t\t\t\tEipChargeMode:   pulumi.String(\"traffic\"),\n\t\t\t\tEipInternetType: pulumi.String(\"bgp\"),\n\t\t\t},\n\t\t\tTag:           pulumi.String(\"Default\"),\n\t\t\tInstanceType:  pulumi.String(\"Base-SSD-V5\"),\n\t\t\tName:          pulumi.String(\"UPHost\"),\n\t\t\tRaidType:      pulumi.String(\"no_raid\"),\n\t\t\tChargeType:    pulumi.String(\"day\"),\n\t\t\tVpcId:         pulumi.String(\"uvnet-xxx\"),\n\t\t\tSubnetId:      pulumi.String(\"subnet-yyy\"),\n\t\t\tSecurityGroup: pulumi.String(\"firewall-zzz\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.BaremetalInstance;\nimport com.pulumi.ucloud.BaremetalInstanceArgs;\nimport com.pulumi.ucloud.inputs.BaremetalInstanceNetworkInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new BaremetalInstance(\"example\", BaremetalInstanceArgs.builder()\n            .availabilityZone(\"cn-bj2-02\")\n            .imageId(\"pimg-cs-aqxttl\")\n            .rootPassword(\"test123456\")\n            .networkInterface(BaremetalInstanceNetworkInterfaceArgs.builder()\n                .eipBandwidth(10.0)\n                .eipChargeMode(\"traffic\")\n                .eipInternetType(\"bgp\")\n                .build())\n            .tag(\"Default\")\n            .instanceType(\"Base-SSD-V5\")\n            .name(\"UPHost\")\n            .raidType(\"no_raid\")\n            .chargeType(\"day\")\n            .vpcId(\"uvnet-xxx\")\n            .subnetId(\"subnet-yyy\")\n            .securityGroup(\"firewall-zzz\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: ucloud:BaremetalInstance\n    properties:\n      availabilityZone: cn-bj2-02\n      imageId: pimg-cs-aqxttl\n      rootPassword: test123456\n      networkInterface:\n        eipBandwidth: 10\n        eipChargeMode: traffic\n        eipInternetType: bgp\n      tag: Default\n      instanceType: Base-SSD-V5\n      name: UPHost\n      raidType: no_raid\n      chargeType: day\n      vpcId: uvnet-xxx\n      subnetId: subnet-yyy\n      securityGroup: firewall-zzz\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBare metal instance can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import ucloud:index/baremetalInstance:BaremetalInstance example upm-abcdefg\n```\n","properties":{"allowStoppingForResizing":{"type":"boolean","description":"Allow stopping the instance when the boot disk size needs to be resized.\n"},"allowStoppingForUpdate":{"type":"boolean"},"availabilityZone":{"type":"string","description":"The availability zone where the instance is created.\n"},"baremetalInstanceId":{"type":"string"},"bootDiskId":{"type":"string"},"bootDiskSize":{"type":"number","description":"The size of the boot disk, measured in GB (GigaByte). Range: 20-500. The value set of disk size must be larger or equal to 20(default: 20) for Linux and 40 (default: 40) for Windows. The responsive time is a bit longer if the value set is larger than default for local boot disk, and further settings may be required on host instance if the value set is larger than default for cloud boot disk. The disk volume adjustment must be a multiple of 10 GB. In addition, any reduction of boot disk size is not supported. Only cloud disk type instance can have a custom boot disk.\n"},"bootDiskType":{"type":"string","description":"The type of boot disk. Now only\u003cspan pulumi-lang-nodejs=\" cloudRssd \" pulumi-lang-dotnet=\" CloudRssd \" pulumi-lang-go=\" cloudRssd \" pulumi-lang-python=\" cloud_rssd \" pulumi-lang-yaml=\" cloudRssd \" pulumi-lang-java=\" cloudRssd \"\u003e cloud_rssd \u003c/span\u003eis supported. Only cloud disk type instance can have a custom boot disk.\n"},"chargeType":{"type":"string","description":"The charge type of instance, possible values are: year, month and day. (Default: month).\n"},"dataDisks":{"$ref":"#/types/ucloud:index%2FBaremetalInstanceDataDisks:BaremetalInstanceDataDisks","description":"Additional cloud data disks to attach to the instance.\u003cspan pulumi-lang-nodejs=\" dataDisks \" pulumi-lang-dotnet=\" DataDisks \" pulumi-lang-go=\" dataDisks \" pulumi-lang-python=\" data_disks \" pulumi-lang-yaml=\" dataDisks \" pulumi-lang-java=\" dataDisks \"\u003e data_disks \u003c/span\u003econfigurations only apply on resource creation. The count of\u003cspan pulumi-lang-nodejs=\" dataDisks \" pulumi-lang-dotnet=\" DataDisks \" pulumi-lang-go=\" dataDisks \" pulumi-lang-python=\" data_disks \" pulumi-lang-yaml=\" dataDisks \" pulumi-lang-java=\" dataDisks \"\u003e data_disks \u003c/span\u003ecan only be one.\n"},"deleteDisksWithInstance":{"type":"boolean","description":"Whether the cloud data disks attached should be destroyed on instance termination.\n"},"deleteEipsWithInstance":{"type":"boolean","description":"Whether the EIP associated should be destroyed on instance termination.\n"},"duration":{"type":"number","description":"The duration that you will buy the instance (Default: 1). The value is 0 when pay by month and the instance will be valid till the last day of that month.\n"},"imageId":{"type":"string","description":"The ID of the image used to launch the instance. It can be got from\u003cspan pulumi-lang-nodejs=\" ucloud.getBaremetalImages \" pulumi-lang-dotnet=\" ucloud.getBaremetalImages \" pulumi-lang-go=\" getBaremetalImages \" pulumi-lang-python=\" get_baremetal_images \" pulumi-lang-yaml=\" ucloud.getBaremetalImages \" pulumi-lang-java=\" ucloud.getBaremetalImages \"\u003e ucloud.getBaremetalImages \u003c/span\u003edatasource according to instance_type.\n"},"instanceType":{"type":"string","description":"The instance type of expected bare metal instance.\n"},"name":{"type":"string"},"networkInterface":{"$ref":"#/types/ucloud:index%2FBaremetalInstanceNetworkInterface:BaremetalInstanceNetworkInterface","description":"Additional network interface eips to attach to the instance.\u003cspan pulumi-lang-nodejs=\" networkInterface \" pulumi-lang-dotnet=\" NetworkInterface \" pulumi-lang-go=\" networkInterface \" pulumi-lang-python=\" network_interface \" pulumi-lang-yaml=\" networkInterface \" pulumi-lang-java=\" networkInterface \"\u003e network_interface \u003c/span\u003econfigurations only apply on resource creation. The count of\u003cspan pulumi-lang-nodejs=\" networkInterface \" pulumi-lang-dotnet=\" NetworkInterface \" pulumi-lang-go=\" networkInterface \" pulumi-lang-python=\" network_interface \" pulumi-lang-yaml=\" networkInterface \" pulumi-lang-java=\" networkInterface \"\u003e network_interface \u003c/span\u003ecan only be one. See\u003cspan pulumi-lang-nodejs=\" networkInterface \" pulumi-lang-dotnet=\" NetworkInterface \" pulumi-lang-go=\" networkInterface \" pulumi-lang-python=\" network_interface \" pulumi-lang-yaml=\" networkInterface \" pulumi-lang-java=\" networkInterface \"\u003e network_interface \u003c/span\u003ebelow for details on attributes.\n"},"privateIp":{"type":"string","description":"The private IP address assigned to the instance.\n"},"raidType":{"type":"string","description":"Types of RAID for local disk type instance. Possible values are raid1, raid0, raid10, raid5, no_raid.\n"},"rdmaClusterId":{"type":"string","description":"The RDMA Cluster ID of disk. It is mandatory if your disk type is \u003cspan pulumi-lang-nodejs=\"`rssdDataDisk`\" pulumi-lang-dotnet=\"`RssdDataDisk`\" pulumi-lang-go=\"`rssdDataDisk`\" pulumi-lang-python=\"`rssd_data_disk`\" pulumi-lang-yaml=\"`rssdDataDisk`\" pulumi-lang-java=\"`rssdDataDisk`\"\u003e`rssd_data_disk`\u003c/span\u003e in \u003cspan pulumi-lang-nodejs=\"`ucloud.Disk`\" pulumi-lang-dotnet=\"`ucloud.Disk`\" pulumi-lang-go=\"`Disk`\" pulumi-lang-python=\"`Disk`\" pulumi-lang-yaml=\"`ucloud.Disk`\" pulumi-lang-java=\"`ucloud.Disk`\"\u003e`ucloud.Disk`\u003c/span\u003e resource and must be set to the same value as the bare metal instance to attach to.\n"},"remark":{"type":"string","description":"The remarks of instance. (Default: \"\").\n"},"rootPassword":{"type":"string","secret":true},"securityGroup":{"type":"string","description":"The ID of the associated security group.\n"},"subnetId":{"type":"string","description":"The ID of subnet. If defined vpc_id, the\u003cspan pulumi-lang-nodejs=\" subnetId \" pulumi-lang-dotnet=\" SubnetId \" pulumi-lang-go=\" subnetId \" pulumi-lang-python=\" subnet_id \" pulumi-lang-yaml=\" subnetId \" pulumi-lang-java=\" subnetId \"\u003e subnet_id \u003c/span\u003eis Required. If not defined\u003cspan pulumi-lang-nodejs=\" vpcId \" pulumi-lang-dotnet=\" VpcId \" pulumi-lang-go=\" vpcId \" pulumi-lang-python=\" vpc_id \" pulumi-lang-yaml=\" vpcId \" pulumi-lang-java=\" vpcId \"\u003e vpc_id \u003c/span\u003eand subnet_id, the instance will use the default subnet in the current region.\n"},"tag":{"type":"string","description":"A tag assigned to instance, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: Default).\n"},"vpcId":{"type":"string","description":"The ID of VPC linked to the instance. If not defined vpc_id, the instance will use the default VPC in the current region.\n"}},"type":"object","required":["availabilityZone","baremetalInstanceId","bootDiskId","imageId","instanceType","name","privateIp","rdmaClusterId","securityGroup","subnetId","vpcId"],"inputProperties":{"allowStoppingForResizing":{"type":"boolean","description":"Allow stopping the instance when the boot disk size needs to be resized.\n"},"allowStoppingForUpdate":{"type":"boolean"},"availabilityZone":{"type":"string","description":"The availability zone where the instance is created.\n"},"baremetalInstanceId":{"type":"string"},"bootDiskSize":{"type":"number","description":"The size of the boot disk, measured in GB (GigaByte). Range: 20-500. The value set of disk size must be larger or equal to 20(default: 20) for Linux and 40 (default: 40) for Windows. The responsive time is a bit longer if the value set is larger than default for local boot disk, and further settings may be required on host instance if the value set is larger than default for cloud boot disk. The disk volume adjustment must be a multiple of 10 GB. In addition, any reduction of boot disk size is not supported. Only cloud disk type instance can have a custom boot disk.\n"},"bootDiskType":{"type":"string","description":"The type of boot disk. Now only\u003cspan pulumi-lang-nodejs=\" cloudRssd \" pulumi-lang-dotnet=\" CloudRssd \" pulumi-lang-go=\" cloudRssd \" pulumi-lang-python=\" cloud_rssd \" pulumi-lang-yaml=\" cloudRssd \" pulumi-lang-java=\" cloudRssd \"\u003e cloud_rssd \u003c/span\u003eis supported. Only cloud disk type instance can have a custom boot disk.\n"},"chargeType":{"type":"string","description":"The charge type of instance, possible values are: year, month and day. (Default: month).\n"},"dataDisks":{"$ref":"#/types/ucloud:index%2FBaremetalInstanceDataDisks:BaremetalInstanceDataDisks","description":"Additional cloud data disks to attach to the instance.\u003cspan pulumi-lang-nodejs=\" dataDisks \" pulumi-lang-dotnet=\" DataDisks \" pulumi-lang-go=\" dataDisks \" pulumi-lang-python=\" data_disks \" pulumi-lang-yaml=\" dataDisks \" pulumi-lang-java=\" dataDisks \"\u003e data_disks \u003c/span\u003econfigurations only apply on resource creation. The count of\u003cspan pulumi-lang-nodejs=\" dataDisks \" pulumi-lang-dotnet=\" DataDisks \" pulumi-lang-go=\" dataDisks \" pulumi-lang-python=\" data_disks \" pulumi-lang-yaml=\" dataDisks \" pulumi-lang-java=\" dataDisks \"\u003e data_disks \u003c/span\u003ecan only be one.\n"},"deleteDisksWithInstance":{"type":"boolean","description":"Whether the cloud data disks attached should be destroyed on instance termination.\n"},"deleteEipsWithInstance":{"type":"boolean","description":"Whether the EIP associated should be destroyed on instance termination.\n"},"duration":{"type":"number","description":"The duration that you will buy the instance (Default: 1). The value is 0 when pay by month and the instance will be valid till the last day of that month.\n"},"imageId":{"type":"string","description":"The ID of the image used to launch the instance. It can be got from\u003cspan pulumi-lang-nodejs=\" ucloud.getBaremetalImages \" pulumi-lang-dotnet=\" ucloud.getBaremetalImages \" pulumi-lang-go=\" getBaremetalImages \" pulumi-lang-python=\" get_baremetal_images \" pulumi-lang-yaml=\" ucloud.getBaremetalImages \" pulumi-lang-java=\" ucloud.getBaremetalImages \"\u003e ucloud.getBaremetalImages \u003c/span\u003edatasource according to instance_type.\n"},"instanceType":{"type":"string","description":"The instance type of expected bare metal instance.\n"},"name":{"type":"string"},"networkInterface":{"$ref":"#/types/ucloud:index%2FBaremetalInstanceNetworkInterface:BaremetalInstanceNetworkInterface","description":"Additional network interface eips to attach to the instance.\u003cspan pulumi-lang-nodejs=\" networkInterface \" pulumi-lang-dotnet=\" NetworkInterface \" pulumi-lang-go=\" networkInterface \" pulumi-lang-python=\" network_interface \" pulumi-lang-yaml=\" networkInterface \" pulumi-lang-java=\" networkInterface \"\u003e network_interface \u003c/span\u003econfigurations only apply on resource creation. The count of\u003cspan pulumi-lang-nodejs=\" networkInterface \" pulumi-lang-dotnet=\" NetworkInterface \" pulumi-lang-go=\" networkInterface \" pulumi-lang-python=\" network_interface \" pulumi-lang-yaml=\" networkInterface \" pulumi-lang-java=\" networkInterface \"\u003e network_interface \u003c/span\u003ecan only be one. See\u003cspan pulumi-lang-nodejs=\" networkInterface \" pulumi-lang-dotnet=\" NetworkInterface \" pulumi-lang-go=\" networkInterface \" pulumi-lang-python=\" network_interface \" pulumi-lang-yaml=\" networkInterface \" pulumi-lang-java=\" networkInterface \"\u003e network_interface \u003c/span\u003ebelow for details on attributes.\n"},"privateIp":{"type":"string","description":"The private IP address assigned to the instance.\n"},"raidType":{"type":"string","description":"Types of RAID for local disk type instance. Possible values are raid1, raid0, raid10, raid5, no_raid.\n"},"remark":{"type":"string","description":"The remarks of instance. (Default: \"\").\n"},"rootPassword":{"type":"string","secret":true},"securityGroup":{"type":"string","description":"The ID of the associated security group.\n"},"subnetId":{"type":"string","description":"The ID of subnet. If defined vpc_id, the\u003cspan pulumi-lang-nodejs=\" subnetId \" pulumi-lang-dotnet=\" SubnetId \" pulumi-lang-go=\" subnetId \" pulumi-lang-python=\" subnet_id \" pulumi-lang-yaml=\" subnetId \" pulumi-lang-java=\" subnetId \"\u003e subnet_id \u003c/span\u003eis Required. If not defined\u003cspan pulumi-lang-nodejs=\" vpcId \" pulumi-lang-dotnet=\" VpcId \" pulumi-lang-go=\" vpcId \" pulumi-lang-python=\" vpc_id \" pulumi-lang-yaml=\" vpcId \" pulumi-lang-java=\" vpcId \"\u003e vpc_id \u003c/span\u003eand subnet_id, the instance will use the default subnet in the current region.\n"},"tag":{"type":"string","description":"A tag assigned to instance, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: Default).\n"},"vpcId":{"type":"string","description":"The ID of VPC linked to the instance. If not defined vpc_id, the instance will use the default VPC in the current region.\n"}},"requiredInputs":["availabilityZone","imageId","instanceType","subnetId","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering BaremetalInstance resources.\n","properties":{"allowStoppingForResizing":{"type":"boolean","description":"Allow stopping the instance when the boot disk size needs to be resized.\n"},"allowStoppingForUpdate":{"type":"boolean"},"availabilityZone":{"type":"string","description":"The availability zone where the instance is created.\n"},"baremetalInstanceId":{"type":"string"},"bootDiskId":{"type":"string"},"bootDiskSize":{"type":"number","description":"The size of the boot disk, measured in GB (GigaByte). Range: 20-500. The value set of disk size must be larger or equal to 20(default: 20) for Linux and 40 (default: 40) for Windows. The responsive time is a bit longer if the value set is larger than default for local boot disk, and further settings may be required on host instance if the value set is larger than default for cloud boot disk. The disk volume adjustment must be a multiple of 10 GB. In addition, any reduction of boot disk size is not supported. Only cloud disk type instance can have a custom boot disk.\n"},"bootDiskType":{"type":"string","description":"The type of boot disk. Now only\u003cspan pulumi-lang-nodejs=\" cloudRssd \" pulumi-lang-dotnet=\" CloudRssd \" pulumi-lang-go=\" cloudRssd \" pulumi-lang-python=\" cloud_rssd \" pulumi-lang-yaml=\" cloudRssd \" pulumi-lang-java=\" cloudRssd \"\u003e cloud_rssd \u003c/span\u003eis supported. Only cloud disk type instance can have a custom boot disk.\n"},"chargeType":{"type":"string","description":"The charge type of instance, possible values are: year, month and day. (Default: month).\n"},"dataDisks":{"$ref":"#/types/ucloud:index%2FBaremetalInstanceDataDisks:BaremetalInstanceDataDisks","description":"Additional cloud data disks to attach to the instance.\u003cspan pulumi-lang-nodejs=\" dataDisks \" pulumi-lang-dotnet=\" DataDisks \" pulumi-lang-go=\" dataDisks \" pulumi-lang-python=\" data_disks \" pulumi-lang-yaml=\" dataDisks \" pulumi-lang-java=\" dataDisks \"\u003e data_disks \u003c/span\u003econfigurations only apply on resource creation. The count of\u003cspan pulumi-lang-nodejs=\" dataDisks \" pulumi-lang-dotnet=\" DataDisks \" pulumi-lang-go=\" dataDisks \" pulumi-lang-python=\" data_disks \" pulumi-lang-yaml=\" dataDisks \" pulumi-lang-java=\" dataDisks \"\u003e data_disks \u003c/span\u003ecan only be one.\n"},"deleteDisksWithInstance":{"type":"boolean","description":"Whether the cloud data disks attached should be destroyed on instance termination.\n"},"deleteEipsWithInstance":{"type":"boolean","description":"Whether the EIP associated should be destroyed on instance termination.\n"},"duration":{"type":"number","description":"The duration that you will buy the instance (Default: 1). The value is 0 when pay by month and the instance will be valid till the last day of that month.\n"},"imageId":{"type":"string","description":"The ID of the image used to launch the instance. It can be got from\u003cspan pulumi-lang-nodejs=\" ucloud.getBaremetalImages \" pulumi-lang-dotnet=\" ucloud.getBaremetalImages \" pulumi-lang-go=\" getBaremetalImages \" pulumi-lang-python=\" get_baremetal_images \" pulumi-lang-yaml=\" ucloud.getBaremetalImages \" pulumi-lang-java=\" ucloud.getBaremetalImages \"\u003e ucloud.getBaremetalImages \u003c/span\u003edatasource according to instance_type.\n"},"instanceType":{"type":"string","description":"The instance type of expected bare metal instance.\n"},"name":{"type":"string"},"networkInterface":{"$ref":"#/types/ucloud:index%2FBaremetalInstanceNetworkInterface:BaremetalInstanceNetworkInterface","description":"Additional network interface eips to attach to the instance.\u003cspan pulumi-lang-nodejs=\" networkInterface \" pulumi-lang-dotnet=\" NetworkInterface \" pulumi-lang-go=\" networkInterface \" pulumi-lang-python=\" network_interface \" pulumi-lang-yaml=\" networkInterface \" pulumi-lang-java=\" networkInterface \"\u003e network_interface \u003c/span\u003econfigurations only apply on resource creation. The count of\u003cspan pulumi-lang-nodejs=\" networkInterface \" pulumi-lang-dotnet=\" NetworkInterface \" pulumi-lang-go=\" networkInterface \" pulumi-lang-python=\" network_interface \" pulumi-lang-yaml=\" networkInterface \" pulumi-lang-java=\" networkInterface \"\u003e network_interface \u003c/span\u003ecan only be one. See\u003cspan pulumi-lang-nodejs=\" networkInterface \" pulumi-lang-dotnet=\" NetworkInterface \" pulumi-lang-go=\" networkInterface \" pulumi-lang-python=\" network_interface \" pulumi-lang-yaml=\" networkInterface \" pulumi-lang-java=\" networkInterface \"\u003e network_interface \u003c/span\u003ebelow for details on attributes.\n"},"privateIp":{"type":"string","description":"The private IP address assigned to the instance.\n"},"raidType":{"type":"string","description":"Types of RAID for local disk type instance. Possible values are raid1, raid0, raid10, raid5, no_raid.\n"},"rdmaClusterId":{"type":"string","description":"The RDMA Cluster ID of disk. It is mandatory if your disk type is \u003cspan pulumi-lang-nodejs=\"`rssdDataDisk`\" pulumi-lang-dotnet=\"`RssdDataDisk`\" pulumi-lang-go=\"`rssdDataDisk`\" pulumi-lang-python=\"`rssd_data_disk`\" pulumi-lang-yaml=\"`rssdDataDisk`\" pulumi-lang-java=\"`rssdDataDisk`\"\u003e`rssd_data_disk`\u003c/span\u003e in \u003cspan pulumi-lang-nodejs=\"`ucloud.Disk`\" pulumi-lang-dotnet=\"`ucloud.Disk`\" pulumi-lang-go=\"`Disk`\" pulumi-lang-python=\"`Disk`\" pulumi-lang-yaml=\"`ucloud.Disk`\" pulumi-lang-java=\"`ucloud.Disk`\"\u003e`ucloud.Disk`\u003c/span\u003e resource and must be set to the same value as the bare metal instance to attach to.\n"},"remark":{"type":"string","description":"The remarks of instance. (Default: \"\").\n"},"rootPassword":{"type":"string","secret":true},"securityGroup":{"type":"string","description":"The ID of the associated security group.\n"},"subnetId":{"type":"string","description":"The ID of subnet. If defined vpc_id, the\u003cspan pulumi-lang-nodejs=\" subnetId \" pulumi-lang-dotnet=\" SubnetId \" pulumi-lang-go=\" subnetId \" pulumi-lang-python=\" subnet_id \" pulumi-lang-yaml=\" subnetId \" pulumi-lang-java=\" subnetId \"\u003e subnet_id \u003c/span\u003eis Required. If not defined\u003cspan pulumi-lang-nodejs=\" vpcId \" pulumi-lang-dotnet=\" VpcId \" pulumi-lang-go=\" vpcId \" pulumi-lang-python=\" vpc_id \" pulumi-lang-yaml=\" vpcId \" pulumi-lang-java=\" vpcId \"\u003e vpc_id \u003c/span\u003eand subnet_id, the instance will use the default subnet in the current region.\n"},"tag":{"type":"string","description":"A tag assigned to instance, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: Default).\n"},"vpcId":{"type":"string","description":"The ID of VPC linked to the instance. If not defined vpc_id, the instance will use the default VPC in the current region.\n"}},"type":"object"}},"ucloud:index/dbInstance:DbInstance":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\n// Create database instance\nconst master = new ucloud.DbInstance(\"master\", {\n    name: \"tf-example-db\",\n    availabilityZone: \"cn-bj2-05\",\n    instanceStorage: 20,\n    instanceType: \"mysql-ha-1\",\n    engine: \"mysql\",\n    engineVersion: \"5.7\",\n    password: \"2018_dbInstance\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\n# Create database instance\nmaster = ucloud.DbInstance(\"master\",\n    name=\"tf-example-db\",\n    availability_zone=\"cn-bj2-05\",\n    instance_storage=20,\n    instance_type=\"mysql-ha-1\",\n    engine=\"mysql\",\n    engine_version=\"5.7\",\n    password=\"2018_dbInstance\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Create database instance\n    var master = new Ucloud.DbInstance(\"master\", new()\n    {\n        Name = \"tf-example-db\",\n        AvailabilityZone = \"cn-bj2-05\",\n        InstanceStorage = 20,\n        InstanceType = \"mysql-ha-1\",\n        Engine = \"mysql\",\n        EngineVersion = \"5.7\",\n        Password = \"2018_dbInstance\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create database instance\n\t\t_, err := ucloud.NewDbInstance(ctx, \"master\", \u0026ucloud.DbInstanceArgs{\n\t\t\tName:             pulumi.String(\"tf-example-db\"),\n\t\t\tAvailabilityZone: pulumi.String(\"cn-bj2-05\"),\n\t\t\tInstanceStorage:  pulumi.Float64(20),\n\t\t\tInstanceType:     pulumi.String(\"mysql-ha-1\"),\n\t\t\tEngine:           pulumi.String(\"mysql\"),\n\t\t\tEngineVersion:    pulumi.String(\"5.7\"),\n\t\t\tPassword:         pulumi.String(\"2018_dbInstance\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.DbInstance;\nimport com.pulumi.ucloud.DbInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Create database instance\n        var master = new DbInstance(\"master\", DbInstanceArgs.builder()\n            .name(\"tf-example-db\")\n            .availabilityZone(\"cn-bj2-05\")\n            .instanceStorage(20.0)\n            .instanceType(\"mysql-ha-1\")\n            .engine(\"mysql\")\n            .engineVersion(\"5.7\")\n            .password(\"2018_dbInstance\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create database instance\n  master:\n    type: ucloud:DbInstance\n    properties:\n      name: tf-example-db\n      availabilityZone: cn-bj2-05\n      instanceStorage: 20\n      instanceType: mysql-ha-1\n      engine: mysql\n      engineVersion: '5.7'\n      password: 2018_dbInstance\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDB Instance can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import ucloud:index/dbInstance:DbInstance example udbha-abc123456\n```\n","properties":{"allowStoppingForUpdate":{"type":"boolean"},"availabilityZone":{"type":"string","description":"Availability zone where database instance is located. Such as: \"cn-bj2-02\". You may refer to [list of availability zone](https://docs.ucloud.cn/api/summary/regionlist)\n"},"backupBeginTime":{"type":"number","description":"Specifies when the backup starts, measured in hour, it starts at one o'clock of 1, 2, 3, 4 in the morning by default.\n"},"backupBlackLists":{"type":"array","items":{"type":"string"},"description":"The backup for database such as \"test.%\" or table such as \"city.address\" specified in the black lists are not supported.\n"},"backupCount":{"type":"number","description":"Specifies the number of backup saved per week, it is 7 backups saved per week by default.\n"},"backupDate":{"type":"string","description":"Specifies whether the backup took place from Sunday to Saturday by displaying 7 digits. 0 stands for backup disabled and 1 stands for backup enabled. The rightmost digit specifies whether the backup took place on Sunday, and the digits from right to left specify whether the backup took place from Monday to Saturday, it's mandatory required to backup twice per week at least. such as: digits \"1100000\" stands for the backup took place on Saturday and Friday.\n"},"chargeType":{"type":"string","description":"The charge type of db instance, possible values are: \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\"\u003e`year`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e as pay by hour (specific permission required). (Default: \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e).\n"},"createTime":{"type":"string","description":"The creation time of database, formatted by RFC3339 time string.\n"},"dbInstanceId":{"type":"string","description":"The ID of the resource db instance.\n"},"duration":{"type":"number","description":"The duration that you will buy the db instance (Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e). The value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e when pay by month and the instance will be valid till the last day of that month. It is not required when \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e (pay by hour).\n"},"engine":{"type":"string","description":"The type of database engine, possible values are: \"mysql\", \"percona\", \"postgresql\".\n"},"engineVersion":{"type":"string","description":"The database engine version, possible values are: \"5.5\", \"5.6\", \"5.7\", \"9.4\", \"9.6\", \"10.4\".\n- 5.5/5.6/5.7 for mysql and percona engine.\n- 9.4/9.6/10.4 for postgresql engine.\n"},"expireTime":{"type":"string","description":"The expiration time of database, formatted by RFC3339 time string.\n"},"fromBackupId":{"type":"number","description":"Create the database instance with the\ncontent of specified backup. The backup id can be retrieved from UDB console\nor by using the \u003cspan pulumi-lang-nodejs=\"`ucloud.getDbBackups`\" pulumi-lang-dotnet=\"`ucloud.getDbBackups`\" pulumi-lang-go=\"`getDbBackups`\" pulumi-lang-python=\"`get_db_backups`\" pulumi-lang-yaml=\"`ucloud.getDbBackups`\" pulumi-lang-java=\"`ucloud.getDbBackups`\"\u003e`ucloud.getDbBackups`\u003c/span\u003e datasource.\n"},"instanceStorage":{"type":"number","description":"Specifies the allocated storage size in gigabytes (GB), range from 20 to 32000GB. The volume adjustment must be a multiple of 10 GB. The maximum disk volume for Highly Availability NVMe SSD is range 20 to 32000GB; The maximum disk volume for Highly Availability SATA SSD type are：\n- 500GB if the memory chosen is equal or less than 6GB;\n- 1000GB if the memory chosen is from 8 to 16GB;\n- 2000GB if the memory chosen is 24GB or 32GB;\n- 3500GB if the memory chosen is 48GB or 64GB;\n- 4500GB if the memory chosen is equal or more than 96GB;\n"},"instanceType":{"type":"string","description":"The type of database instance, please visit the instance type table.\n\n- - -\n"},"modifyTime":{"type":"string","description":"The modification time of database, formatted by RFC3339 time string.\n"},"name":{"type":"string"},"parameterGroup":{"type":"string","description":"The parameter group for database. If you not set, the default parameter group will be used. You can select one by the data source ucloud_db_parameter_groups.\n"},"password":{"type":"string","secret":true},"port":{"type":"number","description":"The port on which the database accepts connections, the default port is 3306 for mysql and percona.\n"},"privateIp":{"type":"string","description":"The private IP address assigned to the database instance.\n"},"standbyZone":{"type":"string","description":"Availability zone where the standby database instance is located for the high availability database instance with multiple zone; The disaster recovery of data center can be activated by switching to the standby database instance for the high availability database instance.\n"},"status":{"type":"string","description":"Specifies the status of database, possible values are: `Init`, `Fail`, `Starting`, `Running`, `Shutdown`, `Shutoff`, `Delete`, `Upgrading`, `Promoting`, `Recovering` and `Recover fail`.\n"},"subnetId":{"type":"string","description":"The ID of subnet.\n"},"tag":{"type":"string","description":"A tag assigned to database instance, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"timeouts":{"$ref":"#/types/ucloud:index%2FDbInstanceTimeouts:DbInstanceTimeouts"},"vpcId":{"type":"string","description":"The ID of VPC linked to the database instances.\n"}},"type":"object","required":["availabilityZone","backupBeginTime","backupBlackLists","backupDate","chargeType","createTime","dbInstanceId","engine","engineVersion","expireTime","instanceStorage","instanceType","modifyTime","name","parameterGroup","password","port","privateIp","status","subnetId","tag","vpcId"],"inputProperties":{"allowStoppingForUpdate":{"type":"boolean"},"availabilityZone":{"type":"string","description":"Availability zone where database instance is located. Such as: \"cn-bj2-02\". You may refer to [list of availability zone](https://docs.ucloud.cn/api/summary/regionlist)\n"},"backupBeginTime":{"type":"number","description":"Specifies when the backup starts, measured in hour, it starts at one o'clock of 1, 2, 3, 4 in the morning by default.\n"},"backupBlackLists":{"type":"array","items":{"type":"string"},"description":"The backup for database such as \"test.%\" or table such as \"city.address\" specified in the black lists are not supported.\n"},"backupCount":{"type":"number","description":"Specifies the number of backup saved per week, it is 7 backups saved per week by default.\n"},"backupDate":{"type":"string","description":"Specifies whether the backup took place from Sunday to Saturday by displaying 7 digits. 0 stands for backup disabled and 1 stands for backup enabled. The rightmost digit specifies whether the backup took place on Sunday, and the digits from right to left specify whether the backup took place from Monday to Saturday, it's mandatory required to backup twice per week at least. such as: digits \"1100000\" stands for the backup took place on Saturday and Friday.\n"},"chargeType":{"type":"string","description":"The charge type of db instance, possible values are: \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\"\u003e`year`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e as pay by hour (specific permission required). (Default: \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e).\n"},"dbInstanceId":{"type":"string","description":"The ID of the resource db instance.\n"},"duration":{"type":"number","description":"The duration that you will buy the db instance (Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e). The value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e when pay by month and the instance will be valid till the last day of that month. It is not required when \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e (pay by hour).\n"},"engine":{"type":"string","description":"The type of database engine, possible values are: \"mysql\", \"percona\", \"postgresql\".\n"},"engineVersion":{"type":"string","description":"The database engine version, possible values are: \"5.5\", \"5.6\", \"5.7\", \"9.4\", \"9.6\", \"10.4\".\n- 5.5/5.6/5.7 for mysql and percona engine.\n- 9.4/9.6/10.4 for postgresql engine.\n"},"fromBackupId":{"type":"number","description":"Create the database instance with the\ncontent of specified backup. The backup id can be retrieved from UDB console\nor by using the \u003cspan pulumi-lang-nodejs=\"`ucloud.getDbBackups`\" pulumi-lang-dotnet=\"`ucloud.getDbBackups`\" pulumi-lang-go=\"`getDbBackups`\" pulumi-lang-python=\"`get_db_backups`\" pulumi-lang-yaml=\"`ucloud.getDbBackups`\" pulumi-lang-java=\"`ucloud.getDbBackups`\"\u003e`ucloud.getDbBackups`\u003c/span\u003e datasource.\n"},"instanceStorage":{"type":"number","description":"Specifies the allocated storage size in gigabytes (GB), range from 20 to 32000GB. The volume adjustment must be a multiple of 10 GB. The maximum disk volume for Highly Availability NVMe SSD is range 20 to 32000GB; The maximum disk volume for Highly Availability SATA SSD type are：\n- 500GB if the memory chosen is equal or less than 6GB;\n- 1000GB if the memory chosen is from 8 to 16GB;\n- 2000GB if the memory chosen is 24GB or 32GB;\n- 3500GB if the memory chosen is 48GB or 64GB;\n- 4500GB if the memory chosen is equal or more than 96GB;\n"},"instanceType":{"type":"string","description":"The type of database instance, please visit the instance type table.\n\n- - -\n"},"name":{"type":"string"},"parameterGroup":{"type":"string","description":"The parameter group for database. If you not set, the default parameter group will be used. You can select one by the data source ucloud_db_parameter_groups.\n"},"password":{"type":"string","secret":true},"port":{"type":"number","description":"The port on which the database accepts connections, the default port is 3306 for mysql and percona.\n"},"standbyZone":{"type":"string","description":"Availability zone where the standby database instance is located for the high availability database instance with multiple zone; The disaster recovery of data center can be activated by switching to the standby database instance for the high availability database instance.\n"},"subnetId":{"type":"string","description":"The ID of subnet.\n"},"tag":{"type":"string","description":"A tag assigned to database instance, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"timeouts":{"$ref":"#/types/ucloud:index%2FDbInstanceTimeouts:DbInstanceTimeouts"},"vpcId":{"type":"string","description":"The ID of VPC linked to the database instances.\n"}},"requiredInputs":["availabilityZone","engine","engineVersion","instanceStorage","instanceType"],"stateInputs":{"description":"Input properties used for looking up and filtering DbInstance resources.\n","properties":{"allowStoppingForUpdate":{"type":"boolean"},"availabilityZone":{"type":"string","description":"Availability zone where database instance is located. Such as: \"cn-bj2-02\". You may refer to [list of availability zone](https://docs.ucloud.cn/api/summary/regionlist)\n"},"backupBeginTime":{"type":"number","description":"Specifies when the backup starts, measured in hour, it starts at one o'clock of 1, 2, 3, 4 in the morning by default.\n"},"backupBlackLists":{"type":"array","items":{"type":"string"},"description":"The backup for database such as \"test.%\" or table such as \"city.address\" specified in the black lists are not supported.\n"},"backupCount":{"type":"number","description":"Specifies the number of backup saved per week, it is 7 backups saved per week by default.\n"},"backupDate":{"type":"string","description":"Specifies whether the backup took place from Sunday to Saturday by displaying 7 digits. 0 stands for backup disabled and 1 stands for backup enabled. The rightmost digit specifies whether the backup took place on Sunday, and the digits from right to left specify whether the backup took place from Monday to Saturday, it's mandatory required to backup twice per week at least. such as: digits \"1100000\" stands for the backup took place on Saturday and Friday.\n"},"chargeType":{"type":"string","description":"The charge type of db instance, possible values are: \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\"\u003e`year`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e as pay by hour (specific permission required). (Default: \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e).\n"},"createTime":{"type":"string","description":"The creation time of database, formatted by RFC3339 time string.\n"},"dbInstanceId":{"type":"string","description":"The ID of the resource db instance.\n"},"duration":{"type":"number","description":"The duration that you will buy the db instance (Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e). The value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e when pay by month and the instance will be valid till the last day of that month. It is not required when \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e (pay by hour).\n"},"engine":{"type":"string","description":"The type of database engine, possible values are: \"mysql\", \"percona\", \"postgresql\".\n"},"engineVersion":{"type":"string","description":"The database engine version, possible values are: \"5.5\", \"5.6\", \"5.7\", \"9.4\", \"9.6\", \"10.4\".\n- 5.5/5.6/5.7 for mysql and percona engine.\n- 9.4/9.6/10.4 for postgresql engine.\n"},"expireTime":{"type":"string","description":"The expiration time of database, formatted by RFC3339 time string.\n"},"fromBackupId":{"type":"number","description":"Create the database instance with the\ncontent of specified backup. The backup id can be retrieved from UDB console\nor by using the \u003cspan pulumi-lang-nodejs=\"`ucloud.getDbBackups`\" pulumi-lang-dotnet=\"`ucloud.getDbBackups`\" pulumi-lang-go=\"`getDbBackups`\" pulumi-lang-python=\"`get_db_backups`\" pulumi-lang-yaml=\"`ucloud.getDbBackups`\" pulumi-lang-java=\"`ucloud.getDbBackups`\"\u003e`ucloud.getDbBackups`\u003c/span\u003e datasource.\n"},"instanceStorage":{"type":"number","description":"Specifies the allocated storage size in gigabytes (GB), range from 20 to 32000GB. The volume adjustment must be a multiple of 10 GB. The maximum disk volume for Highly Availability NVMe SSD is range 20 to 32000GB; The maximum disk volume for Highly Availability SATA SSD type are：\n- 500GB if the memory chosen is equal or less than 6GB;\n- 1000GB if the memory chosen is from 8 to 16GB;\n- 2000GB if the memory chosen is 24GB or 32GB;\n- 3500GB if the memory chosen is 48GB or 64GB;\n- 4500GB if the memory chosen is equal or more than 96GB;\n"},"instanceType":{"type":"string","description":"The type of database instance, please visit the instance type table.\n\n- - -\n"},"modifyTime":{"type":"string","description":"The modification time of database, formatted by RFC3339 time string.\n"},"name":{"type":"string"},"parameterGroup":{"type":"string","description":"The parameter group for database. If you not set, the default parameter group will be used. You can select one by the data source ucloud_db_parameter_groups.\n"},"password":{"type":"string","secret":true},"port":{"type":"number","description":"The port on which the database accepts connections, the default port is 3306 for mysql and percona.\n"},"privateIp":{"type":"string","description":"The private IP address assigned to the database instance.\n"},"standbyZone":{"type":"string","description":"Availability zone where the standby database instance is located for the high availability database instance with multiple zone; The disaster recovery of data center can be activated by switching to the standby database instance for the high availability database instance.\n"},"status":{"type":"string","description":"Specifies the status of database, possible values are: `Init`, `Fail`, `Starting`, `Running`, `Shutdown`, `Shutoff`, `Delete`, `Upgrading`, `Promoting`, `Recovering` and `Recover fail`.\n"},"subnetId":{"type":"string","description":"The ID of subnet.\n"},"tag":{"type":"string","description":"A tag assigned to database instance, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"timeouts":{"$ref":"#/types/ucloud:index%2FDbInstanceTimeouts:DbInstanceTimeouts"},"vpcId":{"type":"string","description":"The ID of VPC linked to the database instances.\n"}},"type":"object"}},"ucloud:index/disk:Disk":{"description":"Provides a Cloud Disk resource.\n\n\u003e **Note** If the disk have attached to the instance and\u003cspan pulumi-lang-nodejs=\" rebootInstanceForResizing \" pulumi-lang-dotnet=\" RebootInstanceForResizing \" pulumi-lang-go=\" rebootInstanceForResizing \" pulumi-lang-python=\" reboot_instance_for_resizing \" pulumi-lang-yaml=\" rebootInstanceForResizing \" pulumi-lang-java=\" rebootInstanceForResizing \"\u003e reboot_instance_for_resizing \u003c/span\u003eis not set to false, the instance will reboot automatically to make the change take effect when update the  \u003cspan pulumi-lang-nodejs=\"`diskSize`\" pulumi-lang-dotnet=\"`DiskSize`\" pulumi-lang-go=\"`diskSize`\" pulumi-lang-python=\"`disk_size`\" pulumi-lang-yaml=\"`diskSize`\" pulumi-lang-java=\"`diskSize`\"\u003e`disk_size`\u003c/span\u003e by default.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\n// Query availability zone\nconst _default = ucloud.getZones({});\n// Create cloud disk\nconst example = new ucloud.Disk(\"example\", {\n    availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n    name: \"tf-example-disk\",\n    diskSize: 10,\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\n# Query availability zone\ndefault = ucloud.get_zones()\n# Create cloud disk\nexample = ucloud.Disk(\"example\",\n    availability_zone=default.zones[0].id,\n    name=\"tf-example-disk\",\n    disk_size=10)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Query availability zone\n    var @default = Ucloud.GetZones.Invoke();\n\n    // Create cloud disk\n    var example = new Ucloud.Disk(\"example\", new()\n    {\n        AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n        Name = \"tf-example-disk\",\n        DiskSize = 10,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Query availability zone\n\t\t_default, err := ucloud.GetZones(ctx, \u0026ucloud.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create cloud disk\n\t\t_, err = ucloud.NewDisk(ctx, \"example\", \u0026ucloud.DiskArgs{\n\t\t\tAvailabilityZone: pulumi.String(_default.Zones[0].Id),\n\t\t\tName:             pulumi.String(\"tf-example-disk\"),\n\t\t\tDiskSize:         pulumi.Float64(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetZonesArgs;\nimport com.pulumi.ucloud.Disk;\nimport com.pulumi.ucloud.DiskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Query availability zone\n        final var default = UcloudFunctions.getZones(GetZonesArgs.builder()\n            .build());\n\n        // Create cloud disk\n        var example = new Disk(\"example\", DiskArgs.builder()\n            .availabilityZone(default_.zones()[0].id())\n            .name(\"tf-example-disk\")\n            .diskSize(10.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create cloud disk\n  example:\n    type: ucloud:Disk\n    properties:\n      availabilityZone: ${default.zones[0].id}\n      name: tf-example-disk\n      diskSize: 10\nvariables:\n  # Query availability zone\n  default:\n    fn::invoke:\n      function: ucloud:getZones\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDisk can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import ucloud:index/disk:Disk example bsm-abcdefg\n```\n","properties":{"availabilityZone":{"type":"string","description":"Availability zone where cloud disk is located. Such as: \"cn-bj2-02\". You may refer to [list of availability zone](https://docs.ucloud.cn/api/summary/regionlist).\n"},"chargeType":{"type":"string","description":"Charge type of disk. Possible values are: \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\"\u003e`year`\u003c/span\u003e as pay by year, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e as pay by month, \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e as pay by hour. (Default: \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e).\n"},"createTime":{"type":"string","description":"The time of creation of disk, formatted in RFC3339 time string.\n"},"diskId":{"type":"string","description":"The ID of the resource disk.\n"},"diskSize":{"type":"number","description":"The size of disk. Purchase the size of disk in GB. 20-8000 for a cloud disk, 20-8000 for SSD cloud disk . If the disk have attached to the instance, the instance will reboot automatically to make the change take effect when update the  \u003cspan pulumi-lang-nodejs=\"`diskSize`\" pulumi-lang-dotnet=\"`DiskSize`\" pulumi-lang-go=\"`diskSize`\" pulumi-lang-python=\"`disk_size`\" pulumi-lang-yaml=\"`diskSize`\" pulumi-lang-java=\"`diskSize`\"\u003e`disk_size`\u003c/span\u003e.\n\n- - -\n"},"diskType":{"type":"string","description":"The type of disk. Possible values are: \u003cspan pulumi-lang-nodejs=\"`dataDisk`\" pulumi-lang-dotnet=\"`DataDisk`\" pulumi-lang-go=\"`dataDisk`\" pulumi-lang-python=\"`data_disk`\" pulumi-lang-yaml=\"`dataDisk`\" pulumi-lang-java=\"`dataDisk`\"\u003e`data_disk`\u003c/span\u003eas cloud disk, \u003cspan pulumi-lang-nodejs=\"`ssdDataDisk`\" pulumi-lang-dotnet=\"`SsdDataDisk`\" pulumi-lang-go=\"`ssdDataDisk`\" pulumi-lang-python=\"`ssd_data_disk`\" pulumi-lang-yaml=\"`ssdDataDisk`\" pulumi-lang-java=\"`ssdDataDisk`\"\u003e`ssd_data_disk`\u003c/span\u003e as ssd cloud disk, \u003cspan pulumi-lang-nodejs=\"`rssdDataDisk`\" pulumi-lang-dotnet=\"`RssdDataDisk`\" pulumi-lang-go=\"`rssdDataDisk`\" pulumi-lang-python=\"`rssd_data_disk`\" pulumi-lang-yaml=\"`rssdDataDisk`\" pulumi-lang-java=\"`rssdDataDisk`\"\u003e`rssd_data_disk`\u003c/span\u003e as RDMA-SSD cloud disk.(Default: \u003cspan pulumi-lang-nodejs=\"`dataDisk`\" pulumi-lang-dotnet=\"`DataDisk`\" pulumi-lang-go=\"`dataDisk`\" pulumi-lang-python=\"`data_disk`\" pulumi-lang-yaml=\"`dataDisk`\" pulumi-lang-java=\"`dataDisk`\"\u003e`data_disk`\u003c/span\u003e).\n"},"duration":{"type":"number","description":"The duration that you will buy the resource. (Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e). It is not required when \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e (pay by hour), the value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e(pay by month) and the disk will be vaild till the last day of that month.\n"},"expireTime":{"type":"string","description":"The expiration time of disk, formatted in RFC3339 time string.\n"},"name":{"type":"string"},"rdmaClusterId":{"type":"string","description":"The RDMA Cluster ID of disk. It is mandatory if your disk type is \u003cspan pulumi-lang-nodejs=\"`rssdDataDisk`\" pulumi-lang-dotnet=\"`RssdDataDisk`\" pulumi-lang-go=\"`rssdDataDisk`\" pulumi-lang-python=\"`rssd_data_disk`\" pulumi-lang-yaml=\"`rssdDataDisk`\" pulumi-lang-java=\"`rssdDataDisk`\"\u003e`rssd_data_disk`\u003c/span\u003e and must be set to the same value as the UHost instance to attach to. If you don't specifiy this attribute while you are intended to use RSSD, the UHost instance creation has little chance to succeed. So make sure you set this attribute to the value you get from the response of UHost instance creation. For disk type other than \u003cspan pulumi-lang-nodejs=\"`rssdDataDisk`\" pulumi-lang-dotnet=\"`RssdDataDisk`\" pulumi-lang-go=\"`rssdDataDisk`\" pulumi-lang-python=\"`rssd_data_disk`\" pulumi-lang-yaml=\"`rssdDataDisk`\" pulumi-lang-java=\"`rssdDataDisk`\"\u003e`rssd_data_disk`\u003c/span\u003e, this attribute is ignored.\n"},"rebootInstanceForResizing":{"type":"boolean","description":"Whether the attached instance of the disk will be rebooted automatically to make the change take effect when update the  \u003cspan pulumi-lang-nodejs=\"`diskSize`\" pulumi-lang-dotnet=\"`DiskSize`\" pulumi-lang-go=\"`diskSize`\" pulumi-lang-python=\"`disk_size`\" pulumi-lang-yaml=\"`diskSize`\" pulumi-lang-java=\"`diskSize`\"\u003e`disk_size`\u003c/span\u003e. (Default: `\"true\"`).\n"},"status":{"type":"string","description":"The status of disk. Possible values are: `Available`, `InUse`, `Detaching`, `Initializating`, `Failed`, `Cloning`, `Restoring`, `RestoreFailed`.\n"},"tag":{"type":"string","description":"A tag assigned to VPC, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"}},"type":"object","required":["availabilityZone","chargeType","createTime","diskId","diskSize","expireTime","name","status"],"inputProperties":{"availabilityZone":{"type":"string","description":"Availability zone where cloud disk is located. Such as: \"cn-bj2-02\". You may refer to [list of availability zone](https://docs.ucloud.cn/api/summary/regionlist).\n"},"chargeType":{"type":"string","description":"Charge type of disk. Possible values are: \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\"\u003e`year`\u003c/span\u003e as pay by year, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e as pay by month, \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e as pay by hour. (Default: \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e).\n"},"diskId":{"type":"string","description":"The ID of the resource disk.\n"},"diskSize":{"type":"number","description":"The size of disk. Purchase the size of disk in GB. 20-8000 for a cloud disk, 20-8000 for SSD cloud disk . If the disk have attached to the instance, the instance will reboot automatically to make the change take effect when update the  \u003cspan pulumi-lang-nodejs=\"`diskSize`\" pulumi-lang-dotnet=\"`DiskSize`\" pulumi-lang-go=\"`diskSize`\" pulumi-lang-python=\"`disk_size`\" pulumi-lang-yaml=\"`diskSize`\" pulumi-lang-java=\"`diskSize`\"\u003e`disk_size`\u003c/span\u003e.\n\n- - -\n"},"diskType":{"type":"string","description":"The type of disk. Possible values are: \u003cspan pulumi-lang-nodejs=\"`dataDisk`\" pulumi-lang-dotnet=\"`DataDisk`\" pulumi-lang-go=\"`dataDisk`\" pulumi-lang-python=\"`data_disk`\" pulumi-lang-yaml=\"`dataDisk`\" pulumi-lang-java=\"`dataDisk`\"\u003e`data_disk`\u003c/span\u003eas cloud disk, \u003cspan pulumi-lang-nodejs=\"`ssdDataDisk`\" pulumi-lang-dotnet=\"`SsdDataDisk`\" pulumi-lang-go=\"`ssdDataDisk`\" pulumi-lang-python=\"`ssd_data_disk`\" pulumi-lang-yaml=\"`ssdDataDisk`\" pulumi-lang-java=\"`ssdDataDisk`\"\u003e`ssd_data_disk`\u003c/span\u003e as ssd cloud disk, \u003cspan pulumi-lang-nodejs=\"`rssdDataDisk`\" pulumi-lang-dotnet=\"`RssdDataDisk`\" pulumi-lang-go=\"`rssdDataDisk`\" pulumi-lang-python=\"`rssd_data_disk`\" pulumi-lang-yaml=\"`rssdDataDisk`\" pulumi-lang-java=\"`rssdDataDisk`\"\u003e`rssd_data_disk`\u003c/span\u003e as RDMA-SSD cloud disk.(Default: \u003cspan pulumi-lang-nodejs=\"`dataDisk`\" pulumi-lang-dotnet=\"`DataDisk`\" pulumi-lang-go=\"`dataDisk`\" pulumi-lang-python=\"`data_disk`\" pulumi-lang-yaml=\"`dataDisk`\" pulumi-lang-java=\"`dataDisk`\"\u003e`data_disk`\u003c/span\u003e).\n"},"duration":{"type":"number","description":"The duration that you will buy the resource. (Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e). It is not required when \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e (pay by hour), the value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e(pay by month) and the disk will be vaild till the last day of that month.\n"},"name":{"type":"string"},"rdmaClusterId":{"type":"string","description":"The RDMA Cluster ID of disk. It is mandatory if your disk type is \u003cspan pulumi-lang-nodejs=\"`rssdDataDisk`\" pulumi-lang-dotnet=\"`RssdDataDisk`\" pulumi-lang-go=\"`rssdDataDisk`\" pulumi-lang-python=\"`rssd_data_disk`\" pulumi-lang-yaml=\"`rssdDataDisk`\" pulumi-lang-java=\"`rssdDataDisk`\"\u003e`rssd_data_disk`\u003c/span\u003e and must be set to the same value as the UHost instance to attach to. If you don't specifiy this attribute while you are intended to use RSSD, the UHost instance creation has little chance to succeed. So make sure you set this attribute to the value you get from the response of UHost instance creation. For disk type other than \u003cspan pulumi-lang-nodejs=\"`rssdDataDisk`\" pulumi-lang-dotnet=\"`RssdDataDisk`\" pulumi-lang-go=\"`rssdDataDisk`\" pulumi-lang-python=\"`rssd_data_disk`\" pulumi-lang-yaml=\"`rssdDataDisk`\" pulumi-lang-java=\"`rssdDataDisk`\"\u003e`rssd_data_disk`\u003c/span\u003e, this attribute is ignored.\n"},"rebootInstanceForResizing":{"type":"boolean","description":"Whether the attached instance of the disk will be rebooted automatically to make the change take effect when update the  \u003cspan pulumi-lang-nodejs=\"`diskSize`\" pulumi-lang-dotnet=\"`DiskSize`\" pulumi-lang-go=\"`diskSize`\" pulumi-lang-python=\"`disk_size`\" pulumi-lang-yaml=\"`diskSize`\" pulumi-lang-java=\"`diskSize`\"\u003e`disk_size`\u003c/span\u003e. (Default: `\"true\"`).\n"},"tag":{"type":"string","description":"A tag assigned to VPC, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"}},"requiredInputs":["availabilityZone","diskSize"],"stateInputs":{"description":"Input properties used for looking up and filtering Disk resources.\n","properties":{"availabilityZone":{"type":"string","description":"Availability zone where cloud disk is located. Such as: \"cn-bj2-02\". You may refer to [list of availability zone](https://docs.ucloud.cn/api/summary/regionlist).\n"},"chargeType":{"type":"string","description":"Charge type of disk. Possible values are: \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\"\u003e`year`\u003c/span\u003e as pay by year, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e as pay by month, \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e as pay by hour. (Default: \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e).\n"},"createTime":{"type":"string","description":"The time of creation of disk, formatted in RFC3339 time string.\n"},"diskId":{"type":"string","description":"The ID of the resource disk.\n"},"diskSize":{"type":"number","description":"The size of disk. Purchase the size of disk in GB. 20-8000 for a cloud disk, 20-8000 for SSD cloud disk . If the disk have attached to the instance, the instance will reboot automatically to make the change take effect when update the  \u003cspan pulumi-lang-nodejs=\"`diskSize`\" pulumi-lang-dotnet=\"`DiskSize`\" pulumi-lang-go=\"`diskSize`\" pulumi-lang-python=\"`disk_size`\" pulumi-lang-yaml=\"`diskSize`\" pulumi-lang-java=\"`diskSize`\"\u003e`disk_size`\u003c/span\u003e.\n\n- - -\n"},"diskType":{"type":"string","description":"The type of disk. Possible values are: \u003cspan pulumi-lang-nodejs=\"`dataDisk`\" pulumi-lang-dotnet=\"`DataDisk`\" pulumi-lang-go=\"`dataDisk`\" pulumi-lang-python=\"`data_disk`\" pulumi-lang-yaml=\"`dataDisk`\" pulumi-lang-java=\"`dataDisk`\"\u003e`data_disk`\u003c/span\u003eas cloud disk, \u003cspan pulumi-lang-nodejs=\"`ssdDataDisk`\" pulumi-lang-dotnet=\"`SsdDataDisk`\" pulumi-lang-go=\"`ssdDataDisk`\" pulumi-lang-python=\"`ssd_data_disk`\" pulumi-lang-yaml=\"`ssdDataDisk`\" pulumi-lang-java=\"`ssdDataDisk`\"\u003e`ssd_data_disk`\u003c/span\u003e as ssd cloud disk, \u003cspan pulumi-lang-nodejs=\"`rssdDataDisk`\" pulumi-lang-dotnet=\"`RssdDataDisk`\" pulumi-lang-go=\"`rssdDataDisk`\" pulumi-lang-python=\"`rssd_data_disk`\" pulumi-lang-yaml=\"`rssdDataDisk`\" pulumi-lang-java=\"`rssdDataDisk`\"\u003e`rssd_data_disk`\u003c/span\u003e as RDMA-SSD cloud disk.(Default: \u003cspan pulumi-lang-nodejs=\"`dataDisk`\" pulumi-lang-dotnet=\"`DataDisk`\" pulumi-lang-go=\"`dataDisk`\" pulumi-lang-python=\"`data_disk`\" pulumi-lang-yaml=\"`dataDisk`\" pulumi-lang-java=\"`dataDisk`\"\u003e`data_disk`\u003c/span\u003e).\n"},"duration":{"type":"number","description":"The duration that you will buy the resource. (Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e). It is not required when \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e (pay by hour), the value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e(pay by month) and the disk will be vaild till the last day of that month.\n"},"expireTime":{"type":"string","description":"The expiration time of disk, formatted in RFC3339 time string.\n"},"name":{"type":"string"},"rdmaClusterId":{"type":"string","description":"The RDMA Cluster ID of disk. It is mandatory if your disk type is \u003cspan pulumi-lang-nodejs=\"`rssdDataDisk`\" pulumi-lang-dotnet=\"`RssdDataDisk`\" pulumi-lang-go=\"`rssdDataDisk`\" pulumi-lang-python=\"`rssd_data_disk`\" pulumi-lang-yaml=\"`rssdDataDisk`\" pulumi-lang-java=\"`rssdDataDisk`\"\u003e`rssd_data_disk`\u003c/span\u003e and must be set to the same value as the UHost instance to attach to. If you don't specifiy this attribute while you are intended to use RSSD, the UHost instance creation has little chance to succeed. So make sure you set this attribute to the value you get from the response of UHost instance creation. For disk type other than \u003cspan pulumi-lang-nodejs=\"`rssdDataDisk`\" pulumi-lang-dotnet=\"`RssdDataDisk`\" pulumi-lang-go=\"`rssdDataDisk`\" pulumi-lang-python=\"`rssd_data_disk`\" pulumi-lang-yaml=\"`rssdDataDisk`\" pulumi-lang-java=\"`rssdDataDisk`\"\u003e`rssd_data_disk`\u003c/span\u003e, this attribute is ignored.\n"},"rebootInstanceForResizing":{"type":"boolean","description":"Whether the attached instance of the disk will be rebooted automatically to make the change take effect when update the  \u003cspan pulumi-lang-nodejs=\"`diskSize`\" pulumi-lang-dotnet=\"`DiskSize`\" pulumi-lang-go=\"`diskSize`\" pulumi-lang-python=\"`disk_size`\" pulumi-lang-yaml=\"`diskSize`\" pulumi-lang-java=\"`diskSize`\"\u003e`disk_size`\u003c/span\u003e. (Default: `\"true\"`).\n"},"status":{"type":"string","description":"The status of disk. Possible values are: `Available`, `InUse`, `Detaching`, `Initializating`, `Failed`, `Cloning`, `Restoring`, `RestoreFailed`.\n"},"tag":{"type":"string","description":"A tag assigned to VPC, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"}},"type":"object"}},"ucloud:index/diskAttachment:DiskAttachment":{"description":"Provides a Cloud Disk Attachment resource for attaching Cloud Disk to UHost Instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\n// Query availability zone\nconst _default = ucloud.getZones({});\n// Query image\nconst defaultGetImages = _default.then(_default =\u003e ucloud.getImages({\n    availabilityZone: _default.zones?.[0]?.id,\n    nameRegex: \"^CentOS 7.[1-2] 64\",\n    imageType: \"base\",\n}));\n// Create cloud disk\nconst defaultDisk = new ucloud.Disk(\"default\", {\n    availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n    name: \"tf-example-disk\",\n    diskSize: 10,\n});\n// Create a web server\nconst web = new ucloud.Instance(\"web\", {\n    availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n    instanceType: \"n-basic-2\",\n    imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n    rootPassword: \"wA1234567\",\n    name: \"tf-example-disk\",\n    tag: \"tf-example\",\n});\n// attach cloud disk to instance\nconst defaultDiskAttachment = new ucloud.DiskAttachment(\"default\", {\n    availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n    diskId: defaultDisk.diskId,\n    instanceId: web.instanceId,\n    stopInstanceBeforeDetaching: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\n# Query availability zone\ndefault = ucloud.get_zones()\n# Query image\ndefault_get_images = ucloud.get_images(availability_zone=default.zones[0].id,\n    name_regex=\"^CentOS 7.[1-2] 64\",\n    image_type=\"base\")\n# Create cloud disk\ndefault_disk = ucloud.Disk(\"default\",\n    availability_zone=default.zones[0].id,\n    name=\"tf-example-disk\",\n    disk_size=10)\n# Create a web server\nweb = ucloud.Instance(\"web\",\n    availability_zone=default.zones[0].id,\n    instance_type=\"n-basic-2\",\n    image_id=default_get_images.images[0].id,\n    root_password=\"wA1234567\",\n    name=\"tf-example-disk\",\n    tag=\"tf-example\")\n# attach cloud disk to instance\ndefault_disk_attachment = ucloud.DiskAttachment(\"default\",\n    availability_zone=default.zones[0].id,\n    disk_id=default_disk.disk_id,\n    instance_id=web.instance_id,\n    stop_instance_before_detaching=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Query availability zone\n    var @default = Ucloud.GetZones.Invoke();\n\n    // Query image\n    var defaultGetImages = Ucloud.GetImages.Invoke(new()\n    {\n        AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n        NameRegex = \"^CentOS 7.[1-2] 64\",\n        ImageType = \"base\",\n    });\n\n    // Create cloud disk\n    var defaultDisk = new Ucloud.Disk(\"default\", new()\n    {\n        AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n        Name = \"tf-example-disk\",\n        DiskSize = 10,\n    });\n\n    // Create a web server\n    var web = new Ucloud.Instance(\"web\", new()\n    {\n        AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n        InstanceType = \"n-basic-2\",\n        ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n        RootPassword = \"wA1234567\",\n        Name = \"tf-example-disk\",\n        Tag = \"tf-example\",\n    });\n\n    // attach cloud disk to instance\n    var defaultDiskAttachment = new Ucloud.DiskAttachment(\"default\", new()\n    {\n        AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n        DiskId = defaultDisk.DiskId,\n        InstanceId = web.InstanceId,\n        StopInstanceBeforeDetaching = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Query availability zone\n\t\t_default, err := ucloud.GetZones(ctx, \u0026ucloud.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Query image\n\t\tdefaultGetImages, err := ucloud.GetImages(ctx, \u0026ucloud.GetImagesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tNameRegex:        pulumi.StringRef(\"^CentOS 7.[1-2] 64\"),\n\t\t\tImageType:        pulumi.StringRef(\"base\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create cloud disk\n\t\tdefaultDisk, err := ucloud.NewDisk(ctx, \"default\", \u0026ucloud.DiskArgs{\n\t\t\tAvailabilityZone: pulumi.String(_default.Zones[0].Id),\n\t\t\tName:             pulumi.String(\"tf-example-disk\"),\n\t\t\tDiskSize:         pulumi.Float64(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a web server\n\t\tweb, err := ucloud.NewInstance(ctx, \"web\", \u0026ucloud.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(_default.Zones[0].Id),\n\t\t\tInstanceType:     pulumi.String(\"n-basic-2\"),\n\t\t\tImageId:          pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tRootPassword:     pulumi.String(\"wA1234567\"),\n\t\t\tName:             pulumi.String(\"tf-example-disk\"),\n\t\t\tTag:              pulumi.String(\"tf-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// attach cloud disk to instance\n\t\t_, err = ucloud.NewDiskAttachment(ctx, \"default\", \u0026ucloud.DiskAttachmentArgs{\n\t\t\tAvailabilityZone:            pulumi.String(_default.Zones[0].Id),\n\t\t\tDiskId:                      defaultDisk.DiskId,\n\t\t\tInstanceId:                  web.InstanceId,\n\t\t\tStopInstanceBeforeDetaching: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetZonesArgs;\nimport com.pulumi.ucloud.inputs.GetImagesArgs;\nimport com.pulumi.ucloud.Disk;\nimport com.pulumi.ucloud.DiskArgs;\nimport com.pulumi.ucloud.Instance;\nimport com.pulumi.ucloud.InstanceArgs;\nimport com.pulumi.ucloud.DiskAttachment;\nimport com.pulumi.ucloud.DiskAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Query availability zone\n        final var default = UcloudFunctions.getZones(GetZonesArgs.builder()\n            .build());\n\n        // Query image\n        final var defaultGetImages = UcloudFunctions.getImages(GetImagesArgs.builder()\n            .availabilityZone(default_.zones()[0].id())\n            .nameRegex(\"^CentOS 7.[1-2] 64\")\n            .imageType(\"base\")\n            .build());\n\n        // Create cloud disk\n        var defaultDisk = new Disk(\"defaultDisk\", DiskArgs.builder()\n            .availabilityZone(default_.zones()[0].id())\n            .name(\"tf-example-disk\")\n            .diskSize(10.0)\n            .build());\n\n        // Create a web server\n        var web = new Instance(\"web\", InstanceArgs.builder()\n            .availabilityZone(default_.zones()[0].id())\n            .instanceType(\"n-basic-2\")\n            .imageId(defaultGetImages.images()[0].id())\n            .rootPassword(\"wA1234567\")\n            .name(\"tf-example-disk\")\n            .tag(\"tf-example\")\n            .build());\n\n        // attach cloud disk to instance\n        var defaultDiskAttachment = new DiskAttachment(\"defaultDiskAttachment\", DiskAttachmentArgs.builder()\n            .availabilityZone(default_.zones()[0].id())\n            .diskId(defaultDisk.diskId())\n            .instanceId(web.instanceId())\n            .stopInstanceBeforeDetaching(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create cloud disk\n  defaultDisk:\n    type: ucloud:Disk\n    name: default\n    properties:\n      availabilityZone: ${default.zones[0].id}\n      name: tf-example-disk\n      diskSize: 10\n  # Create a web server\n  web:\n    type: ucloud:Instance\n    properties:\n      availabilityZone: ${default.zones[0].id}\n      instanceType: n-basic-2\n      imageId: ${defaultGetImages.images[0].id}\n      rootPassword: wA1234567\n      name: tf-example-disk\n      tag: tf-example\n  # attach cloud disk to instance\n  defaultDiskAttachment:\n    type: ucloud:DiskAttachment\n    name: default\n    properties:\n      availabilityZone: ${default.zones[0].id}\n      diskId: ${defaultDisk.diskId}\n      instanceId: ${web.instanceId}\n      stopInstanceBeforeDetaching: true\nvariables:\n  # Query availability zone\n  default:\n    fn::invoke:\n      function: ucloud:getZones\n      arguments: {}\n  # Query image\n  defaultGetImages:\n    fn::invoke:\n      function: ucloud:getImages\n      arguments:\n        availabilityZone: ${default.zones[0].id}\n        nameRegex: ^CentOS 7.[1-2] 64\n        imageType: base\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"availabilityZone":{"type":"string","description":"The Zone to attach the disk in.\n"},"deviceName":{"type":"string","description":"The device name to expose to the instance, for example \u003cspan pulumi-lang-nodejs=\"`vdb`\" pulumi-lang-dotnet=\"`Vdb`\" pulumi-lang-go=\"`vdb`\" pulumi-lang-python=\"`vdb`\" pulumi-lang-yaml=\"`vdb`\" pulumi-lang-java=\"`vdb`\"\u003e`vdb`\u003c/span\u003e.\n"},"diskAttachmentId":{"type":"string"},"diskId":{"type":"string","description":"The ID of disk that needs to be attached\n"},"instanceId":{"type":"string","description":"The ID of instance.\n"},"stopInstanceBeforeDetaching":{"type":"boolean","description":"Set this to true to ensure that the target instance is stopped\nbefore trying to detach the volume.\n"}},"type":"object","required":["availabilityZone","deviceName","diskAttachmentId","diskId","instanceId"],"inputProperties":{"availabilityZone":{"type":"string","description":"The Zone to attach the disk in.\n"},"diskAttachmentId":{"type":"string"},"diskId":{"type":"string","description":"The ID of disk that needs to be attached\n"},"instanceId":{"type":"string","description":"The ID of instance.\n"},"stopInstanceBeforeDetaching":{"type":"boolean","description":"Set this to true to ensure that the target instance is stopped\nbefore trying to detach the volume.\n"}},"requiredInputs":["availabilityZone","diskId","instanceId"],"stateInputs":{"description":"Input properties used for looking up and filtering DiskAttachment resources.\n","properties":{"availabilityZone":{"type":"string","description":"The Zone to attach the disk in.\n"},"deviceName":{"type":"string","description":"The device name to expose to the instance, for example \u003cspan pulumi-lang-nodejs=\"`vdb`\" pulumi-lang-dotnet=\"`Vdb`\" pulumi-lang-go=\"`vdb`\" pulumi-lang-python=\"`vdb`\" pulumi-lang-yaml=\"`vdb`\" pulumi-lang-java=\"`vdb`\"\u003e`vdb`\u003c/span\u003e.\n"},"diskAttachmentId":{"type":"string"},"diskId":{"type":"string","description":"The ID of disk that needs to be attached\n"},"instanceId":{"type":"string","description":"The ID of instance.\n"},"stopInstanceBeforeDetaching":{"type":"boolean","description":"Set this to true to ensure that the target instance is stopped\nbefore trying to detach the volume.\n"}},"type":"object"}},"ucloud:index/eip:Eip":{"description":"Provides an Elastic IP resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst example = new ucloud.Eip(\"example\", {\n    bandwidth: 2,\n    chargeMode: \"bandwidth\",\n    name: \"tf-example-eip\",\n    tag: \"tf-example\",\n    internetType: \"bgp\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nexample = ucloud.Eip(\"example\",\n    bandwidth=2,\n    charge_mode=\"bandwidth\",\n    name=\"tf-example-eip\",\n    tag=\"tf-example\",\n    internet_type=\"bgp\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Ucloud.Eip(\"example\", new()\n    {\n        Bandwidth = 2,\n        ChargeMode = \"bandwidth\",\n        Name = \"tf-example-eip\",\n        Tag = \"tf-example\",\n        InternetType = \"bgp\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ucloud.NewEip(ctx, \"example\", \u0026ucloud.EipArgs{\n\t\t\tBandwidth:    pulumi.Float64(2),\n\t\t\tChargeMode:   pulumi.String(\"bandwidth\"),\n\t\t\tName:         pulumi.String(\"tf-example-eip\"),\n\t\t\tTag:          pulumi.String(\"tf-example\"),\n\t\t\tInternetType: pulumi.String(\"bgp\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.Eip;\nimport com.pulumi.ucloud.EipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Eip(\"example\", EipArgs.builder()\n            .bandwidth(2.0)\n            .chargeMode(\"bandwidth\")\n            .name(\"tf-example-eip\")\n            .tag(\"tf-example\")\n            .internetType(\"bgp\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: ucloud:Eip\n    properties:\n      bandwidth: 2\n      chargeMode: bandwidth\n      name: tf-example-eip\n      tag: tf-example\n      internetType: bgp\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### With Shared Bandwidth\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst exampleShared = new ucloud.Eip(\"example_shared\", {\n    internetType: \"bgp\",\n    bandwidth: 0,\n    chargeMode: \"share_bandwidth\",\n    shareBandwidthPackageId: \"bwpack-xxxxx\",\n    name: \"tf-example-eip-shared\",\n    tag: \"tf-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nexample_shared = ucloud.Eip(\"example_shared\",\n    internet_type=\"bgp\",\n    bandwidth=0,\n    charge_mode=\"share_bandwidth\",\n    share_bandwidth_package_id=\"bwpack-xxxxx\",\n    name=\"tf-example-eip-shared\",\n    tag=\"tf-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleShared = new Ucloud.Eip(\"example_shared\", new()\n    {\n        InternetType = \"bgp\",\n        Bandwidth = 0,\n        ChargeMode = \"share_bandwidth\",\n        ShareBandwidthPackageId = \"bwpack-xxxxx\",\n        Name = \"tf-example-eip-shared\",\n        Tag = \"tf-example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ucloud.NewEip(ctx, \"example_shared\", \u0026ucloud.EipArgs{\n\t\t\tInternetType:            pulumi.String(\"bgp\"),\n\t\t\tBandwidth:               pulumi.Float64(0),\n\t\t\tChargeMode:              pulumi.String(\"share_bandwidth\"),\n\t\t\tShareBandwidthPackageId: pulumi.String(\"bwpack-xxxxx\"),\n\t\t\tName:                    pulumi.String(\"tf-example-eip-shared\"),\n\t\t\tTag:                     pulumi.String(\"tf-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.Eip;\nimport com.pulumi.ucloud.EipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleShared = new Eip(\"exampleShared\", EipArgs.builder()\n            .internetType(\"bgp\")\n            .bandwidth(0.0)\n            .chargeMode(\"share_bandwidth\")\n            .shareBandwidthPackageId(\"bwpack-xxxxx\")\n            .name(\"tf-example-eip-shared\")\n            .tag(\"tf-example\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleShared:\n    type: ucloud:Eip\n    name: example_shared\n    properties:\n      internetType: bgp\n      bandwidth: 0\n      chargeMode: share_bandwidth\n      shareBandwidthPackageId: bwpack-xxxxx\n      name: tf-example-eip-shared\n      tag: tf-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEIP can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import ucloud:index/eip:Eip example eip-abcdefg\n```\n","properties":{"bandwidth":{"type":"number","description":"Maximum bandwidth to the elastic public network, measured in Mbps (Mega bit per second). The ranges for bandwidth are: 1-200 for pay by traffic, 1-800 for pay by bandwidth. (Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e).\n"},"chargeMode":{"type":"string","description":"Elastic IP charge mode. Possible values are: \u003cspan pulumi-lang-nodejs=\"`traffic`\" pulumi-lang-dotnet=\"`Traffic`\" pulumi-lang-go=\"`traffic`\" pulumi-lang-python=\"`traffic`\" pulumi-lang-yaml=\"`traffic`\" pulumi-lang-java=\"`traffic`\"\u003e`traffic`\u003c/span\u003e as pay by traffic, \u003cspan pulumi-lang-nodejs=\"`bandwidth`\" pulumi-lang-dotnet=\"`Bandwidth`\" pulumi-lang-go=\"`bandwidth`\" pulumi-lang-python=\"`bandwidth`\" pulumi-lang-yaml=\"`bandwidth`\" pulumi-lang-java=\"`bandwidth`\"\u003e`bandwidth`\u003c/span\u003e as pay by bandwidth, \u003cspan pulumi-lang-nodejs=\"`shareBandwidth`\" pulumi-lang-dotnet=\"`ShareBandwidth`\" pulumi-lang-go=\"`shareBandwidth`\" pulumi-lang-python=\"`share_bandwidth`\" pulumi-lang-yaml=\"`shareBandwidth`\" pulumi-lang-java=\"`shareBandwidth`\"\u003e`share_bandwidth`\u003c/span\u003e as share bandwidth mode. (Default: \u003cspan pulumi-lang-nodejs=\"`bandwidth`\" pulumi-lang-dotnet=\"`Bandwidth`\" pulumi-lang-go=\"`bandwidth`\" pulumi-lang-python=\"`bandwidth`\" pulumi-lang-yaml=\"`bandwidth`\" pulumi-lang-java=\"`bandwidth`\"\u003e`bandwidth`\u003c/span\u003e for the Elastic IP). When set to \u003cspan pulumi-lang-nodejs=\"`shareBandwidth`\" pulumi-lang-dotnet=\"`ShareBandwidth`\" pulumi-lang-go=\"`shareBandwidth`\" pulumi-lang-python=\"`share_bandwidth`\" pulumi-lang-yaml=\"`shareBandwidth`\" pulumi-lang-java=\"`shareBandwidth`\"\u003e`share_bandwidth`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`shareBandwidthPackageId`\" pulumi-lang-dotnet=\"`ShareBandwidthPackageId`\" pulumi-lang-go=\"`shareBandwidthPackageId`\" pulumi-lang-python=\"`share_bandwidth_package_id`\" pulumi-lang-yaml=\"`shareBandwidthPackageId`\" pulumi-lang-java=\"`shareBandwidthPackageId`\"\u003e`share_bandwidth_package_id`\u003c/span\u003e is required.\n"},"chargeType":{"type":"string","description":"Elastic IP charge type. Possible values are: \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\"\u003e`year`\u003c/span\u003e as pay by year, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e as pay by month, \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e as pay by hour (specific permission required). (Default: \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e).\n"},"createTime":{"type":"string","description":"The time of creation for EIP, formatted in RFC3339 time string.\n"},"duration":{"type":"number","description":"The duration that you will buy the resource. (Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e). It is not required when \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e (pay by hour), the value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e(pay by month) and the instance will be valid till the last day of that month.\n"},"eipId":{"type":"string","description":"The ID of the resource with EIP attached.\n"},"expireTime":{"type":"string","description":"The expiration time for EIP, formatted in RFC3339 time string.\n"},"internetType":{"type":"string","description":"Type of Elastic IP routes. Possible values are: \u003cspan pulumi-lang-nodejs=\"`international`\" pulumi-lang-dotnet=\"`International`\" pulumi-lang-go=\"`international`\" pulumi-lang-python=\"`international`\" pulumi-lang-yaml=\"`international`\" pulumi-lang-java=\"`international`\"\u003e`international`\u003c/span\u003e as international BGP IP and \u003cspan pulumi-lang-nodejs=\"`bgp`\" pulumi-lang-dotnet=\"`Bgp`\" pulumi-lang-go=\"`bgp`\" pulumi-lang-python=\"`bgp`\" pulumi-lang-yaml=\"`bgp`\" pulumi-lang-java=\"`bgp`\"\u003e`bgp`\u003c/span\u003e as china mainland BGP IP.\n\n- - -\n"},"ipSets":{"type":"array","items":{"$ref":"#/types/ucloud:index%2FEipIpSet:EipIpSet"},"description":"It is a nested type which documented below.\n"},"name":{"type":"string"},"publicIp":{"type":"string","description":"Public IP address of Elastic IP.\n"},"remark":{"type":"string","description":"The remarks of the EIP. (Default: `\"\"`).\n"},"resource":{"type":"object","additionalProperties":{"type":"string"},"description":"It is a nested type which documented below.\n"},"shareBandwidthPackageId":{"type":"string","description":"The￿ Id of Share Bandwidth Package. If it is filled in, the \u003cspan pulumi-lang-nodejs=\"`chargeMode`\" pulumi-lang-dotnet=\"`ChargeMode`\" pulumi-lang-go=\"`chargeMode`\" pulumi-lang-python=\"`charge_mode`\" pulumi-lang-yaml=\"`chargeMode`\" pulumi-lang-java=\"`chargeMode`\"\u003e`charge_mode`\u003c/span\u003e can only be set with \u003cspan pulumi-lang-nodejs=\"`shareBandwidth`\" pulumi-lang-dotnet=\"`ShareBandwidth`\" pulumi-lang-go=\"`shareBandwidth`\" pulumi-lang-python=\"`share_bandwidth`\" pulumi-lang-yaml=\"`shareBandwidth`\" pulumi-lang-java=\"`shareBandwidth`\"\u003e`share_bandwidth`\u003c/span\u003e.\n"},"status":{"type":"string","description":"EIP status. Possible values are: \u003cspan pulumi-lang-nodejs=\"`used`\" pulumi-lang-dotnet=\"`Used`\" pulumi-lang-go=\"`used`\" pulumi-lang-python=\"`used`\" pulumi-lang-yaml=\"`used`\" pulumi-lang-java=\"`used`\"\u003e`used`\u003c/span\u003e as in use, \u003cspan pulumi-lang-nodejs=\"`free`\" pulumi-lang-dotnet=\"`Free`\" pulumi-lang-go=\"`free`\" pulumi-lang-python=\"`free`\" pulumi-lang-yaml=\"`free`\" pulumi-lang-java=\"`free`\"\u003e`free`\u003c/span\u003e as available and \u003cspan pulumi-lang-nodejs=\"`freeze`\" pulumi-lang-dotnet=\"`Freeze`\" pulumi-lang-go=\"`freeze`\" pulumi-lang-python=\"`freeze`\" pulumi-lang-yaml=\"`freeze`\" pulumi-lang-java=\"`freeze`\"\u003e`freeze`\u003c/span\u003e as associating.\n"},"tag":{"type":"string","description":"A tag assigned to Elastic IP, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"}},"type":"object","required":["bandwidth","chargeMode","chargeType","createTime","eipId","expireTime","internetType","ipSets","name","publicIp","remark","resource","status"],"inputProperties":{"bandwidth":{"type":"number","description":"Maximum bandwidth to the elastic public network, measured in Mbps (Mega bit per second). The ranges for bandwidth are: 1-200 for pay by traffic, 1-800 for pay by bandwidth. (Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e).\n"},"chargeMode":{"type":"string","description":"Elastic IP charge mode. Possible values are: \u003cspan pulumi-lang-nodejs=\"`traffic`\" pulumi-lang-dotnet=\"`Traffic`\" pulumi-lang-go=\"`traffic`\" pulumi-lang-python=\"`traffic`\" pulumi-lang-yaml=\"`traffic`\" pulumi-lang-java=\"`traffic`\"\u003e`traffic`\u003c/span\u003e as pay by traffic, \u003cspan pulumi-lang-nodejs=\"`bandwidth`\" pulumi-lang-dotnet=\"`Bandwidth`\" pulumi-lang-go=\"`bandwidth`\" pulumi-lang-python=\"`bandwidth`\" pulumi-lang-yaml=\"`bandwidth`\" pulumi-lang-java=\"`bandwidth`\"\u003e`bandwidth`\u003c/span\u003e as pay by bandwidth, \u003cspan pulumi-lang-nodejs=\"`shareBandwidth`\" pulumi-lang-dotnet=\"`ShareBandwidth`\" pulumi-lang-go=\"`shareBandwidth`\" pulumi-lang-python=\"`share_bandwidth`\" pulumi-lang-yaml=\"`shareBandwidth`\" pulumi-lang-java=\"`shareBandwidth`\"\u003e`share_bandwidth`\u003c/span\u003e as share bandwidth mode. (Default: \u003cspan pulumi-lang-nodejs=\"`bandwidth`\" pulumi-lang-dotnet=\"`Bandwidth`\" pulumi-lang-go=\"`bandwidth`\" pulumi-lang-python=\"`bandwidth`\" pulumi-lang-yaml=\"`bandwidth`\" pulumi-lang-java=\"`bandwidth`\"\u003e`bandwidth`\u003c/span\u003e for the Elastic IP). When set to \u003cspan pulumi-lang-nodejs=\"`shareBandwidth`\" pulumi-lang-dotnet=\"`ShareBandwidth`\" pulumi-lang-go=\"`shareBandwidth`\" pulumi-lang-python=\"`share_bandwidth`\" pulumi-lang-yaml=\"`shareBandwidth`\" pulumi-lang-java=\"`shareBandwidth`\"\u003e`share_bandwidth`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`shareBandwidthPackageId`\" pulumi-lang-dotnet=\"`ShareBandwidthPackageId`\" pulumi-lang-go=\"`shareBandwidthPackageId`\" pulumi-lang-python=\"`share_bandwidth_package_id`\" pulumi-lang-yaml=\"`shareBandwidthPackageId`\" pulumi-lang-java=\"`shareBandwidthPackageId`\"\u003e`share_bandwidth_package_id`\u003c/span\u003e is required.\n"},"chargeType":{"type":"string","description":"Elastic IP charge type. Possible values are: \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\"\u003e`year`\u003c/span\u003e as pay by year, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e as pay by month, \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e as pay by hour (specific permission required). (Default: \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e).\n"},"duration":{"type":"number","description":"The duration that you will buy the resource. (Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e). It is not required when \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e (pay by hour), the value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e(pay by month) and the instance will be valid till the last day of that month.\n"},"eipId":{"type":"string","description":"The ID of the resource with EIP attached.\n"},"internetType":{"type":"string","description":"Type of Elastic IP routes. Possible values are: \u003cspan pulumi-lang-nodejs=\"`international`\" pulumi-lang-dotnet=\"`International`\" pulumi-lang-go=\"`international`\" pulumi-lang-python=\"`international`\" pulumi-lang-yaml=\"`international`\" pulumi-lang-java=\"`international`\"\u003e`international`\u003c/span\u003e as international BGP IP and \u003cspan pulumi-lang-nodejs=\"`bgp`\" pulumi-lang-dotnet=\"`Bgp`\" pulumi-lang-go=\"`bgp`\" pulumi-lang-python=\"`bgp`\" pulumi-lang-yaml=\"`bgp`\" pulumi-lang-java=\"`bgp`\"\u003e`bgp`\u003c/span\u003e as china mainland BGP IP.\n\n- - -\n"},"name":{"type":"string"},"remark":{"type":"string","description":"The remarks of the EIP. (Default: `\"\"`).\n"},"shareBandwidthPackageId":{"type":"string","description":"The￿ Id of Share Bandwidth Package. If it is filled in, the \u003cspan pulumi-lang-nodejs=\"`chargeMode`\" pulumi-lang-dotnet=\"`ChargeMode`\" pulumi-lang-go=\"`chargeMode`\" pulumi-lang-python=\"`charge_mode`\" pulumi-lang-yaml=\"`chargeMode`\" pulumi-lang-java=\"`chargeMode`\"\u003e`charge_mode`\u003c/span\u003e can only be set with \u003cspan pulumi-lang-nodejs=\"`shareBandwidth`\" pulumi-lang-dotnet=\"`ShareBandwidth`\" pulumi-lang-go=\"`shareBandwidth`\" pulumi-lang-python=\"`share_bandwidth`\" pulumi-lang-yaml=\"`shareBandwidth`\" pulumi-lang-java=\"`shareBandwidth`\"\u003e`share_bandwidth`\u003c/span\u003e.\n"},"tag":{"type":"string","description":"A tag assigned to Elastic IP, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"}},"requiredInputs":["internetType"],"stateInputs":{"description":"Input properties used for looking up and filtering Eip resources.\n","properties":{"bandwidth":{"type":"number","description":"Maximum bandwidth to the elastic public network, measured in Mbps (Mega bit per second). The ranges for bandwidth are: 1-200 for pay by traffic, 1-800 for pay by bandwidth. (Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e).\n"},"chargeMode":{"type":"string","description":"Elastic IP charge mode. Possible values are: \u003cspan pulumi-lang-nodejs=\"`traffic`\" pulumi-lang-dotnet=\"`Traffic`\" pulumi-lang-go=\"`traffic`\" pulumi-lang-python=\"`traffic`\" pulumi-lang-yaml=\"`traffic`\" pulumi-lang-java=\"`traffic`\"\u003e`traffic`\u003c/span\u003e as pay by traffic, \u003cspan pulumi-lang-nodejs=\"`bandwidth`\" pulumi-lang-dotnet=\"`Bandwidth`\" pulumi-lang-go=\"`bandwidth`\" pulumi-lang-python=\"`bandwidth`\" pulumi-lang-yaml=\"`bandwidth`\" pulumi-lang-java=\"`bandwidth`\"\u003e`bandwidth`\u003c/span\u003e as pay by bandwidth, \u003cspan pulumi-lang-nodejs=\"`shareBandwidth`\" pulumi-lang-dotnet=\"`ShareBandwidth`\" pulumi-lang-go=\"`shareBandwidth`\" pulumi-lang-python=\"`share_bandwidth`\" pulumi-lang-yaml=\"`shareBandwidth`\" pulumi-lang-java=\"`shareBandwidth`\"\u003e`share_bandwidth`\u003c/span\u003e as share bandwidth mode. (Default: \u003cspan pulumi-lang-nodejs=\"`bandwidth`\" pulumi-lang-dotnet=\"`Bandwidth`\" pulumi-lang-go=\"`bandwidth`\" pulumi-lang-python=\"`bandwidth`\" pulumi-lang-yaml=\"`bandwidth`\" pulumi-lang-java=\"`bandwidth`\"\u003e`bandwidth`\u003c/span\u003e for the Elastic IP). When set to \u003cspan pulumi-lang-nodejs=\"`shareBandwidth`\" pulumi-lang-dotnet=\"`ShareBandwidth`\" pulumi-lang-go=\"`shareBandwidth`\" pulumi-lang-python=\"`share_bandwidth`\" pulumi-lang-yaml=\"`shareBandwidth`\" pulumi-lang-java=\"`shareBandwidth`\"\u003e`share_bandwidth`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`shareBandwidthPackageId`\" pulumi-lang-dotnet=\"`ShareBandwidthPackageId`\" pulumi-lang-go=\"`shareBandwidthPackageId`\" pulumi-lang-python=\"`share_bandwidth_package_id`\" pulumi-lang-yaml=\"`shareBandwidthPackageId`\" pulumi-lang-java=\"`shareBandwidthPackageId`\"\u003e`share_bandwidth_package_id`\u003c/span\u003e is required.\n"},"chargeType":{"type":"string","description":"Elastic IP charge type. Possible values are: \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\"\u003e`year`\u003c/span\u003e as pay by year, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e as pay by month, \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e as pay by hour (specific permission required). (Default: \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e).\n"},"createTime":{"type":"string","description":"The time of creation for EIP, formatted in RFC3339 time string.\n"},"duration":{"type":"number","description":"The duration that you will buy the resource. (Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e). It is not required when \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e (pay by hour), the value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e(pay by month) and the instance will be valid till the last day of that month.\n"},"eipId":{"type":"string","description":"The ID of the resource with EIP attached.\n"},"expireTime":{"type":"string","description":"The expiration time for EIP, formatted in RFC3339 time string.\n"},"internetType":{"type":"string","description":"Type of Elastic IP routes. Possible values are: \u003cspan pulumi-lang-nodejs=\"`international`\" pulumi-lang-dotnet=\"`International`\" pulumi-lang-go=\"`international`\" pulumi-lang-python=\"`international`\" pulumi-lang-yaml=\"`international`\" pulumi-lang-java=\"`international`\"\u003e`international`\u003c/span\u003e as international BGP IP and \u003cspan pulumi-lang-nodejs=\"`bgp`\" pulumi-lang-dotnet=\"`Bgp`\" pulumi-lang-go=\"`bgp`\" pulumi-lang-python=\"`bgp`\" pulumi-lang-yaml=\"`bgp`\" pulumi-lang-java=\"`bgp`\"\u003e`bgp`\u003c/span\u003e as china mainland BGP IP.\n\n- - -\n"},"ipSets":{"type":"array","items":{"$ref":"#/types/ucloud:index%2FEipIpSet:EipIpSet"},"description":"It is a nested type which documented below.\n"},"name":{"type":"string"},"publicIp":{"type":"string","description":"Public IP address of Elastic IP.\n"},"remark":{"type":"string","description":"The remarks of the EIP. (Default: `\"\"`).\n"},"resource":{"type":"object","additionalProperties":{"type":"string"},"description":"It is a nested type which documented below.\n"},"shareBandwidthPackageId":{"type":"string","description":"The￿ Id of Share Bandwidth Package. If it is filled in, the \u003cspan pulumi-lang-nodejs=\"`chargeMode`\" pulumi-lang-dotnet=\"`ChargeMode`\" pulumi-lang-go=\"`chargeMode`\" pulumi-lang-python=\"`charge_mode`\" pulumi-lang-yaml=\"`chargeMode`\" pulumi-lang-java=\"`chargeMode`\"\u003e`charge_mode`\u003c/span\u003e can only be set with \u003cspan pulumi-lang-nodejs=\"`shareBandwidth`\" pulumi-lang-dotnet=\"`ShareBandwidth`\" pulumi-lang-go=\"`shareBandwidth`\" pulumi-lang-python=\"`share_bandwidth`\" pulumi-lang-yaml=\"`shareBandwidth`\" pulumi-lang-java=\"`shareBandwidth`\"\u003e`share_bandwidth`\u003c/span\u003e.\n"},"status":{"type":"string","description":"EIP status. Possible values are: \u003cspan pulumi-lang-nodejs=\"`used`\" pulumi-lang-dotnet=\"`Used`\" pulumi-lang-go=\"`used`\" pulumi-lang-python=\"`used`\" pulumi-lang-yaml=\"`used`\" pulumi-lang-java=\"`used`\"\u003e`used`\u003c/span\u003e as in use, \u003cspan pulumi-lang-nodejs=\"`free`\" pulumi-lang-dotnet=\"`Free`\" pulumi-lang-go=\"`free`\" pulumi-lang-python=\"`free`\" pulumi-lang-yaml=\"`free`\" pulumi-lang-java=\"`free`\"\u003e`free`\u003c/span\u003e as available and \u003cspan pulumi-lang-nodejs=\"`freeze`\" pulumi-lang-dotnet=\"`Freeze`\" pulumi-lang-go=\"`freeze`\" pulumi-lang-python=\"`freeze`\" pulumi-lang-yaml=\"`freeze`\" pulumi-lang-java=\"`freeze`\"\u003e`freeze`\u003c/span\u003e as associating.\n"},"tag":{"type":"string","description":"A tag assigned to Elastic IP, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"}},"type":"object"}},"ucloud:index/eipAssociation:EipAssociation":{"description":"Provides an EIP Association resource for associating Elastic IP to UHost Instance, Load Balancer, etc.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\n// Query availability zone\nconst _default = ucloud.getZones({});\n// Query image\nconst defaultGetImages = _default.then(_default =\u003e ucloud.getImages({\n    availabilityZone: _default.zones?.[0]?.id,\n    nameRegex: \"^CentOS 7.[1-2] 64\",\n    imageType: \"base\",\n}));\n// Create security group\nconst defaultSecurityGroup = new ucloud.SecurityGroup(\"default\", {\n    name: \"tf-example-eip\",\n    tag: \"tf-example\",\n    rules: [{\n        portRange: \"80\",\n        protocol: \"tcp\",\n        cidrBlock: \"0.0.0.0/0\",\n        policy: \"accept\",\n    }],\n});\n// Create an eip\nconst defaultEip = new ucloud.Eip(\"default\", {\n    bandwidth: 2,\n    chargeMode: \"bandwidth\",\n    name: \"tf-example-eip\",\n    tag: \"tf-example\",\n    internetType: \"bgp\",\n});\n// Create a web server\nconst web = new ucloud.Instance(\"web\", {\n    instanceType: \"n-basic-2\",\n    availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n    imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n    dataDiskSize: 50,\n    rootPassword: \"wA1234567\",\n    securityGroup: defaultSecurityGroup.securityGroupId,\n    name: \"tf-example-eip\",\n    tag: \"tf-example\",\n});\n// Bind eip to instance\nconst defaultEipAssociation = new ucloud.EipAssociation(\"default\", {\n    resourceId: web.instanceId,\n    eipId: defaultEip.eipId,\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\n# Query availability zone\ndefault = ucloud.get_zones()\n# Query image\ndefault_get_images = ucloud.get_images(availability_zone=default.zones[0].id,\n    name_regex=\"^CentOS 7.[1-2] 64\",\n    image_type=\"base\")\n# Create security group\ndefault_security_group = ucloud.SecurityGroup(\"default\",\n    name=\"tf-example-eip\",\n    tag=\"tf-example\",\n    rules=[{\n        \"port_range\": \"80\",\n        \"protocol\": \"tcp\",\n        \"cidr_block\": \"0.0.0.0/0\",\n        \"policy\": \"accept\",\n    }])\n# Create an eip\ndefault_eip = ucloud.Eip(\"default\",\n    bandwidth=2,\n    charge_mode=\"bandwidth\",\n    name=\"tf-example-eip\",\n    tag=\"tf-example\",\n    internet_type=\"bgp\")\n# Create a web server\nweb = ucloud.Instance(\"web\",\n    instance_type=\"n-basic-2\",\n    availability_zone=default.zones[0].id,\n    image_id=default_get_images.images[0].id,\n    data_disk_size=50,\n    root_password=\"wA1234567\",\n    security_group=default_security_group.security_group_id,\n    name=\"tf-example-eip\",\n    tag=\"tf-example\")\n# Bind eip to instance\ndefault_eip_association = ucloud.EipAssociation(\"default\",\n    resource_id=web.instance_id,\n    eip_id=default_eip.eip_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Query availability zone\n    var @default = Ucloud.GetZones.Invoke();\n\n    // Query image\n    var defaultGetImages = Ucloud.GetImages.Invoke(new()\n    {\n        AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n        NameRegex = \"^CentOS 7.[1-2] 64\",\n        ImageType = \"base\",\n    });\n\n    // Create security group\n    var defaultSecurityGroup = new Ucloud.SecurityGroup(\"default\", new()\n    {\n        Name = \"tf-example-eip\",\n        Tag = \"tf-example\",\n        Rules = new[]\n        {\n            new Ucloud.Inputs.SecurityGroupRuleArgs\n            {\n                PortRange = \"80\",\n                Protocol = \"tcp\",\n                CidrBlock = \"0.0.0.0/0\",\n                Policy = \"accept\",\n            },\n        },\n    });\n\n    // Create an eip\n    var defaultEip = new Ucloud.Eip(\"default\", new()\n    {\n        Bandwidth = 2,\n        ChargeMode = \"bandwidth\",\n        Name = \"tf-example-eip\",\n        Tag = \"tf-example\",\n        InternetType = \"bgp\",\n    });\n\n    // Create a web server\n    var web = new Ucloud.Instance(\"web\", new()\n    {\n        InstanceType = \"n-basic-2\",\n        AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n        ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n        DataDiskSize = 50,\n        RootPassword = \"wA1234567\",\n        SecurityGroup = defaultSecurityGroup.SecurityGroupId,\n        Name = \"tf-example-eip\",\n        Tag = \"tf-example\",\n    });\n\n    // Bind eip to instance\n    var defaultEipAssociation = new Ucloud.EipAssociation(\"default\", new()\n    {\n        ResourceId = web.InstanceId,\n        EipId = defaultEip.EipId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Query availability zone\n\t\t_default, err := ucloud.GetZones(ctx, \u0026ucloud.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Query image\n\t\tdefaultGetImages, err := ucloud.GetImages(ctx, \u0026ucloud.GetImagesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tNameRegex:        pulumi.StringRef(\"^CentOS 7.[1-2] 64\"),\n\t\t\tImageType:        pulumi.StringRef(\"base\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create security group\n\t\tdefaultSecurityGroup, err := ucloud.NewSecurityGroup(ctx, \"default\", \u0026ucloud.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"tf-example-eip\"),\n\t\t\tTag:  pulumi.String(\"tf-example\"),\n\t\t\tRules: ucloud.SecurityGroupRuleArray{\n\t\t\t\t\u0026ucloud.SecurityGroupRuleArgs{\n\t\t\t\t\tPortRange: pulumi.String(\"80\"),\n\t\t\t\t\tProtocol:  pulumi.String(\"tcp\"),\n\t\t\t\t\tCidrBlock: pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\tPolicy:    pulumi.String(\"accept\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create an eip\n\t\tdefaultEip, err := ucloud.NewEip(ctx, \"default\", \u0026ucloud.EipArgs{\n\t\t\tBandwidth:    pulumi.Float64(2),\n\t\t\tChargeMode:   pulumi.String(\"bandwidth\"),\n\t\t\tName:         pulumi.String(\"tf-example-eip\"),\n\t\t\tTag:          pulumi.String(\"tf-example\"),\n\t\t\tInternetType: pulumi.String(\"bgp\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a web server\n\t\tweb, err := ucloud.NewInstance(ctx, \"web\", \u0026ucloud.InstanceArgs{\n\t\t\tInstanceType:     pulumi.String(\"n-basic-2\"),\n\t\t\tAvailabilityZone: pulumi.String(_default.Zones[0].Id),\n\t\t\tImageId:          pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tDataDiskSize:     pulumi.Float64(50),\n\t\t\tRootPassword:     pulumi.String(\"wA1234567\"),\n\t\t\tSecurityGroup:    defaultSecurityGroup.SecurityGroupId,\n\t\t\tName:             pulumi.String(\"tf-example-eip\"),\n\t\t\tTag:              pulumi.String(\"tf-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Bind eip to instance\n\t\t_, err = ucloud.NewEipAssociation(ctx, \"default\", \u0026ucloud.EipAssociationArgs{\n\t\t\tResourceId: web.InstanceId,\n\t\t\tEipId:      defaultEip.EipId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetZonesArgs;\nimport com.pulumi.ucloud.inputs.GetImagesArgs;\nimport com.pulumi.ucloud.SecurityGroup;\nimport com.pulumi.ucloud.SecurityGroupArgs;\nimport com.pulumi.ucloud.inputs.SecurityGroupRuleArgs;\nimport com.pulumi.ucloud.Eip;\nimport com.pulumi.ucloud.EipArgs;\nimport com.pulumi.ucloud.Instance;\nimport com.pulumi.ucloud.InstanceArgs;\nimport com.pulumi.ucloud.EipAssociation;\nimport com.pulumi.ucloud.EipAssociationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Query availability zone\n        final var default = UcloudFunctions.getZones(GetZonesArgs.builder()\n            .build());\n\n        // Query image\n        final var defaultGetImages = UcloudFunctions.getImages(GetImagesArgs.builder()\n            .availabilityZone(default_.zones()[0].id())\n            .nameRegex(\"^CentOS 7.[1-2] 64\")\n            .imageType(\"base\")\n            .build());\n\n        // Create security group\n        var defaultSecurityGroup = new SecurityGroup(\"defaultSecurityGroup\", SecurityGroupArgs.builder()\n            .name(\"tf-example-eip\")\n            .tag(\"tf-example\")\n            .rules(SecurityGroupRuleArgs.builder()\n                .portRange(\"80\")\n                .protocol(\"tcp\")\n                .cidrBlock(\"0.0.0.0/0\")\n                .policy(\"accept\")\n                .build())\n            .build());\n\n        // Create an eip\n        var defaultEip = new Eip(\"defaultEip\", EipArgs.builder()\n            .bandwidth(2.0)\n            .chargeMode(\"bandwidth\")\n            .name(\"tf-example-eip\")\n            .tag(\"tf-example\")\n            .internetType(\"bgp\")\n            .build());\n\n        // Create a web server\n        var web = new Instance(\"web\", InstanceArgs.builder()\n            .instanceType(\"n-basic-2\")\n            .availabilityZone(default_.zones()[0].id())\n            .imageId(defaultGetImages.images()[0].id())\n            .dataDiskSize(50.0)\n            .rootPassword(\"wA1234567\")\n            .securityGroup(defaultSecurityGroup.securityGroupId())\n            .name(\"tf-example-eip\")\n            .tag(\"tf-example\")\n            .build());\n\n        // Bind eip to instance\n        var defaultEipAssociation = new EipAssociation(\"defaultEipAssociation\", EipAssociationArgs.builder()\n            .resourceId(web.instanceId())\n            .eipId(defaultEip.eipId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create security group\n  defaultSecurityGroup:\n    type: ucloud:SecurityGroup\n    name: default\n    properties:\n      name: tf-example-eip\n      tag: tf-example\n      rules:\n        - portRange: '80'\n          protocol: tcp\n          cidrBlock: 0.0.0.0/0\n          policy: accept\n  # Create an eip\n  defaultEip:\n    type: ucloud:Eip\n    name: default\n    properties:\n      bandwidth: 2\n      chargeMode: bandwidth\n      name: tf-example-eip\n      tag: tf-example\n      internetType: bgp\n  # Create a web server\n  web:\n    type: ucloud:Instance\n    properties:\n      instanceType: n-basic-2\n      availabilityZone: ${default.zones[0].id}\n      imageId: ${defaultGetImages.images[0].id}\n      dataDiskSize: 50\n      rootPassword: wA1234567\n      securityGroup: ${defaultSecurityGroup.securityGroupId}\n      name: tf-example-eip\n      tag: tf-example\n  # Bind eip to instance\n  defaultEipAssociation:\n    type: ucloud:EipAssociation\n    name: default\n    properties:\n      resourceId: ${web.instanceId}\n      eipId: ${defaultEip.eipId}\nvariables:\n  # Query availability zone\n  default:\n    fn::invoke:\n      function: ucloud:getZones\n      arguments: {}\n  # Query image\n  defaultGetImages:\n    fn::invoke:\n      function: ucloud:getImages\n      arguments:\n        availabilityZone: ${default.zones[0].id}\n        nameRegex: ^CentOS 7.[1-2] 64\n        imageType: base\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"eipAssociationId":{"type":"string"},"eipId":{"type":"string","description":"The ID of EIP.\n"},"resourceId":{"type":"string","description":"The ID of resource with EIP attached.\n"},"resourceType":{"type":"string","description":"The type of resource with EIP attached, possible values are \u003cspan pulumi-lang-nodejs=\"`instance`\" pulumi-lang-dotnet=\"`Instance`\" pulumi-lang-go=\"`instance`\" pulumi-lang-python=\"`instance`\" pulumi-lang-yaml=\"`instance`\" pulumi-lang-java=\"`instance`\"\u003e`instance`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`uhost`\" pulumi-lang-dotnet=\"`Uhost`\" pulumi-lang-go=\"`uhost`\" pulumi-lang-python=\"`uhost`\" pulumi-lang-yaml=\"`uhost`\" pulumi-lang-java=\"`uhost`\"\u003e`uhost`\u003c/span\u003e as instance, \u003cspan pulumi-lang-nodejs=\"`lb`\" pulumi-lang-dotnet=\"`Lb`\" pulumi-lang-go=\"`lb`\" pulumi-lang-python=\"`lb`\" pulumi-lang-yaml=\"`lb`\" pulumi-lang-java=\"`lb`\"\u003e`lb`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`ulb`\" pulumi-lang-dotnet=\"`Ulb`\" pulumi-lang-go=\"`ulb`\" pulumi-lang-python=\"`ulb`\" pulumi-lang-yaml=\"`ulb`\" pulumi-lang-java=\"`ulb`\"\u003e`ulb`\u003c/span\u003e as load balancer, \u003cspan pulumi-lang-nodejs=\"`natgw`\" pulumi-lang-dotnet=\"`Natgw`\" pulumi-lang-go=\"`natgw`\" pulumi-lang-python=\"`natgw`\" pulumi-lang-yaml=\"`natgw`\" pulumi-lang-java=\"`natgw`\"\u003e`natgw`\u003c/span\u003e as NAT GateWay host, \u003cspan pulumi-lang-nodejs=\"`udb`\" pulumi-lang-dotnet=\"`Udb`\" pulumi-lang-go=\"`udb`\" pulumi-lang-python=\"`udb`\" pulumi-lang-yaml=\"`udb`\" pulumi-lang-java=\"`udb`\"\u003e`udb`\u003c/span\u003e as database, \u003cspan pulumi-lang-nodejs=\"`vpngw`\" pulumi-lang-dotnet=\"`Vpngw`\" pulumi-lang-go=\"`vpngw`\" pulumi-lang-python=\"`vpngw`\" pulumi-lang-yaml=\"`vpngw`\" pulumi-lang-java=\"`vpngw`\"\u003e`vpngw`\u003c/span\u003e as ipsec vpn host, \u003cspan pulumi-lang-nodejs=\"`baremetal`\" pulumi-lang-dotnet=\"`Baremetal`\" pulumi-lang-go=\"`baremetal`\" pulumi-lang-python=\"`baremetal`\" pulumi-lang-yaml=\"`baremetal`\" pulumi-lang-java=\"`baremetal`\"\u003e`baremetal`\u003c/span\u003e as bare metal instance.\n"}},"type":"object","required":["eipAssociationId","eipId","resourceId","resourceType"],"inputProperties":{"eipAssociationId":{"type":"string"},"eipId":{"type":"string","description":"The ID of EIP.\n"},"resourceId":{"type":"string","description":"The ID of resource with EIP attached.\n"},"resourceType":{"type":"string","description":"The type of resource with EIP attached, possible values are \u003cspan pulumi-lang-nodejs=\"`instance`\" pulumi-lang-dotnet=\"`Instance`\" pulumi-lang-go=\"`instance`\" pulumi-lang-python=\"`instance`\" pulumi-lang-yaml=\"`instance`\" pulumi-lang-java=\"`instance`\"\u003e`instance`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`uhost`\" pulumi-lang-dotnet=\"`Uhost`\" pulumi-lang-go=\"`uhost`\" pulumi-lang-python=\"`uhost`\" pulumi-lang-yaml=\"`uhost`\" pulumi-lang-java=\"`uhost`\"\u003e`uhost`\u003c/span\u003e as instance, \u003cspan pulumi-lang-nodejs=\"`lb`\" pulumi-lang-dotnet=\"`Lb`\" pulumi-lang-go=\"`lb`\" pulumi-lang-python=\"`lb`\" pulumi-lang-yaml=\"`lb`\" pulumi-lang-java=\"`lb`\"\u003e`lb`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`ulb`\" pulumi-lang-dotnet=\"`Ulb`\" pulumi-lang-go=\"`ulb`\" pulumi-lang-python=\"`ulb`\" pulumi-lang-yaml=\"`ulb`\" pulumi-lang-java=\"`ulb`\"\u003e`ulb`\u003c/span\u003e as load balancer, \u003cspan pulumi-lang-nodejs=\"`natgw`\" pulumi-lang-dotnet=\"`Natgw`\" pulumi-lang-go=\"`natgw`\" pulumi-lang-python=\"`natgw`\" pulumi-lang-yaml=\"`natgw`\" pulumi-lang-java=\"`natgw`\"\u003e`natgw`\u003c/span\u003e as NAT GateWay host, \u003cspan pulumi-lang-nodejs=\"`udb`\" pulumi-lang-dotnet=\"`Udb`\" pulumi-lang-go=\"`udb`\" pulumi-lang-python=\"`udb`\" pulumi-lang-yaml=\"`udb`\" pulumi-lang-java=\"`udb`\"\u003e`udb`\u003c/span\u003e as database, \u003cspan pulumi-lang-nodejs=\"`vpngw`\" pulumi-lang-dotnet=\"`Vpngw`\" pulumi-lang-go=\"`vpngw`\" pulumi-lang-python=\"`vpngw`\" pulumi-lang-yaml=\"`vpngw`\" pulumi-lang-java=\"`vpngw`\"\u003e`vpngw`\u003c/span\u003e as ipsec vpn host, \u003cspan pulumi-lang-nodejs=\"`baremetal`\" pulumi-lang-dotnet=\"`Baremetal`\" pulumi-lang-go=\"`baremetal`\" pulumi-lang-python=\"`baremetal`\" pulumi-lang-yaml=\"`baremetal`\" pulumi-lang-java=\"`baremetal`\"\u003e`baremetal`\u003c/span\u003e as bare metal instance.\n"}},"requiredInputs":["eipId","resourceId"],"stateInputs":{"description":"Input properties used for looking up and filtering EipAssociation resources.\n","properties":{"eipAssociationId":{"type":"string"},"eipId":{"type":"string","description":"The ID of EIP.\n"},"resourceId":{"type":"string","description":"The ID of resource with EIP attached.\n"},"resourceType":{"type":"string","description":"The type of resource with EIP attached, possible values are \u003cspan pulumi-lang-nodejs=\"`instance`\" pulumi-lang-dotnet=\"`Instance`\" pulumi-lang-go=\"`instance`\" pulumi-lang-python=\"`instance`\" pulumi-lang-yaml=\"`instance`\" pulumi-lang-java=\"`instance`\"\u003e`instance`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`uhost`\" pulumi-lang-dotnet=\"`Uhost`\" pulumi-lang-go=\"`uhost`\" pulumi-lang-python=\"`uhost`\" pulumi-lang-yaml=\"`uhost`\" pulumi-lang-java=\"`uhost`\"\u003e`uhost`\u003c/span\u003e as instance, \u003cspan pulumi-lang-nodejs=\"`lb`\" pulumi-lang-dotnet=\"`Lb`\" pulumi-lang-go=\"`lb`\" pulumi-lang-python=\"`lb`\" pulumi-lang-yaml=\"`lb`\" pulumi-lang-java=\"`lb`\"\u003e`lb`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`ulb`\" pulumi-lang-dotnet=\"`Ulb`\" pulumi-lang-go=\"`ulb`\" pulumi-lang-python=\"`ulb`\" pulumi-lang-yaml=\"`ulb`\" pulumi-lang-java=\"`ulb`\"\u003e`ulb`\u003c/span\u003e as load balancer, \u003cspan pulumi-lang-nodejs=\"`natgw`\" pulumi-lang-dotnet=\"`Natgw`\" pulumi-lang-go=\"`natgw`\" pulumi-lang-python=\"`natgw`\" pulumi-lang-yaml=\"`natgw`\" pulumi-lang-java=\"`natgw`\"\u003e`natgw`\u003c/span\u003e as NAT GateWay host, \u003cspan pulumi-lang-nodejs=\"`udb`\" pulumi-lang-dotnet=\"`Udb`\" pulumi-lang-go=\"`udb`\" pulumi-lang-python=\"`udb`\" pulumi-lang-yaml=\"`udb`\" pulumi-lang-java=\"`udb`\"\u003e`udb`\u003c/span\u003e as database, \u003cspan pulumi-lang-nodejs=\"`vpngw`\" pulumi-lang-dotnet=\"`Vpngw`\" pulumi-lang-go=\"`vpngw`\" pulumi-lang-python=\"`vpngw`\" pulumi-lang-yaml=\"`vpngw`\" pulumi-lang-java=\"`vpngw`\"\u003e`vpngw`\u003c/span\u003e as ipsec vpn host, \u003cspan pulumi-lang-nodejs=\"`baremetal`\" pulumi-lang-dotnet=\"`Baremetal`\" pulumi-lang-go=\"`baremetal`\" pulumi-lang-python=\"`baremetal`\" pulumi-lang-yaml=\"`baremetal`\" pulumi-lang-java=\"`baremetal`\"\u003e`baremetal`\u003c/span\u003e as bare metal instance.\n"}},"type":"object"}},"ucloud:index/iamAccessKey:IamAccessKey":{"description":"Provides an IAM access key resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst foo = new ucloud.IamUser(\"foo\", {\n    name: \"tf-acc-iam-user\",\n    loginEnable: false,\n    isFrozen: false,\n});\nconst fooIamAccessKey = new ucloud.IamAccessKey(\"foo\", {userName: foo.name});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nfoo = ucloud.IamUser(\"foo\",\n    name=\"tf-acc-iam-user\",\n    login_enable=False,\n    is_frozen=False)\nfoo_iam_access_key = ucloud.IamAccessKey(\"foo\", user_name=foo.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = new Ucloud.IamUser(\"foo\", new()\n    {\n        Name = \"tf-acc-iam-user\",\n        LoginEnable = false,\n        IsFrozen = false,\n    });\n\n    var fooIamAccessKey = new Ucloud.IamAccessKey(\"foo\", new()\n    {\n        UserName = foo.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ucloud.NewIamUser(ctx, \"foo\", \u0026ucloud.IamUserArgs{\n\t\t\tName:        pulumi.String(\"tf-acc-iam-user\"),\n\t\t\tLoginEnable: pulumi.Bool(false),\n\t\t\tIsFrozen:    pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ucloud.NewIamAccessKey(ctx, \"foo\", \u0026ucloud.IamAccessKeyArgs{\n\t\t\tUserName: foo.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.IamUser;\nimport com.pulumi.ucloud.IamUserArgs;\nimport com.pulumi.ucloud.IamAccessKey;\nimport com.pulumi.ucloud.IamAccessKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var foo = new IamUser(\"foo\", IamUserArgs.builder()\n            .name(\"tf-acc-iam-user\")\n            .loginEnable(false)\n            .isFrozen(false)\n            .build());\n\n        var fooIamAccessKey = new IamAccessKey(\"fooIamAccessKey\", IamAccessKeyArgs.builder()\n            .userName(foo.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  foo:\n    type: ucloud:IamUser\n    properties:\n      name: tf-acc-iam-user\n      loginEnable: false\n      isFrozen: false\n  fooIamAccessKey:\n    type: ucloud:IamAccessKey\n    name: foo\n    properties:\n      userName: ${foo.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"encryptedSecret":{"type":"string"},"iamAccessKeyId":{"type":"string","description":"The access key ID.\n"},"keyFingerprint":{"type":"string","description":"The fingerprint of the PGP key used to encrypt the secret\n"},"pgpKey":{"type":"string","description":"Either a base-64 encoded PGP public key, or a keybase username in the form `keybase:some_person_that_exists`.\n"},"secret":{"type":"string","description":"The secret access key. Note that this will be written to the state file. Alternatively, you may supply a \u003cspan pulumi-lang-nodejs=\"`pgpKey`\" pulumi-lang-dotnet=\"`PgpKey`\" pulumi-lang-go=\"`pgpKey`\" pulumi-lang-python=\"`pgp_key`\" pulumi-lang-yaml=\"`pgpKey`\" pulumi-lang-java=\"`pgpKey`\"\u003e`pgp_key`\u003c/span\u003e instead, which will prevent the secret from being stored in plaintext.\n","secret":true},"secretFile":{"type":"string","description":"The name of file that can save access key id and access key secret.\n"},"status":{"type":"string","description":"Status of access key. It must be `Active` or `Inactive`. Default value is `Active`.\n"},"userName":{"type":"string","description":"Name of the IAM user.\n"}},"type":"object","required":["encryptedSecret","iamAccessKeyId","keyFingerprint","secret","userName"],"inputProperties":{"iamAccessKeyId":{"type":"string","description":"The access key ID.\n"},"pgpKey":{"type":"string","description":"Either a base-64 encoded PGP public key, or a keybase username in the form `keybase:some_person_that_exists`.\n"},"secretFile":{"type":"string","description":"The name of file that can save access key id and access key secret.\n"},"status":{"type":"string","description":"Status of access key. It must be `Active` or `Inactive`. Default value is `Active`.\n"},"userName":{"type":"string","description":"Name of the IAM user.\n"}},"requiredInputs":["userName"],"stateInputs":{"description":"Input properties used for looking up and filtering IamAccessKey resources.\n","properties":{"encryptedSecret":{"type":"string"},"iamAccessKeyId":{"type":"string","description":"The access key ID.\n"},"keyFingerprint":{"type":"string","description":"The fingerprint of the PGP key used to encrypt the secret\n"},"pgpKey":{"type":"string","description":"Either a base-64 encoded PGP public key, or a keybase username in the form `keybase:some_person_that_exists`.\n"},"secret":{"type":"string","description":"The secret access key. Note that this will be written to the state file. Alternatively, you may supply a \u003cspan pulumi-lang-nodejs=\"`pgpKey`\" pulumi-lang-dotnet=\"`PgpKey`\" pulumi-lang-go=\"`pgpKey`\" pulumi-lang-python=\"`pgp_key`\" pulumi-lang-yaml=\"`pgpKey`\" pulumi-lang-java=\"`pgpKey`\"\u003e`pgp_key`\u003c/span\u003e instead, which will prevent the secret from being stored in plaintext.\n","secret":true},"secretFile":{"type":"string","description":"The name of file that can save access key id and access key secret.\n"},"status":{"type":"string","description":"Status of access key. It must be `Active` or `Inactive`. Default value is `Active`.\n"},"userName":{"type":"string","description":"Name of the IAM user.\n"}},"type":"object"}},"ucloud:index/iamGroup:IamGroup":{"description":"Provides an IAM group resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst foo = new ucloud.IamGroup(\"foo\", {\n    name: \"tf-acc-iam-group\",\n    comment: \"comment\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nfoo = ucloud.IamGroup(\"foo\",\n    name=\"tf-acc-iam-group\",\n    comment=\"comment\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = new Ucloud.IamGroup(\"foo\", new()\n    {\n        Name = \"tf-acc-iam-group\",\n        Comment = \"comment\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ucloud.NewIamGroup(ctx, \"foo\", \u0026ucloud.IamGroupArgs{\n\t\t\tName:    pulumi.String(\"tf-acc-iam-group\"),\n\t\t\tComment: pulumi.String(\"comment\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.IamGroup;\nimport com.pulumi.ucloud.IamGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var foo = new IamGroup(\"foo\", IamGroupArgs.builder()\n            .name(\"tf-acc-iam-group\")\n            .comment(\"comment\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  foo:\n    type: ucloud:IamGroup\n    properties:\n      name: tf-acc-iam-group\n      comment: comment\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIAM group can be imported using group name, e.g.\n\n```sh\n$ pulumi import ucloud:index/iamGroup:IamGroup example Administrator\n```\n","properties":{"comment":{"type":"string","description":"Comment of the IAM group.\n"},"iamGroupId":{"type":"string"},"name":{"type":"string","description":"Name of the IAM group.\n"}},"type":"object","required":["iamGroupId","name"],"inputProperties":{"comment":{"type":"string","description":"Comment of the IAM group.\n"},"iamGroupId":{"type":"string"},"name":{"type":"string","description":"Name of the IAM group.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering IamGroup resources.\n","properties":{"comment":{"type":"string","description":"Comment of the IAM group.\n"},"iamGroupId":{"type":"string"},"name":{"type":"string","description":"Name of the IAM group.\n"}},"type":"object"}},"ucloud:index/iamGroupMembership:IamGroupMembership":{"description":"Provides an IAM group membership resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst foo = new ucloud.IamUser(\"foo\", {\n    name: \"tf-acc-iam-user\",\n    loginEnable: false,\n    isFrozen: false,\n});\nconst fooIamGroup = new ucloud.IamGroup(\"foo\", {\n    name: \"tf-acc-iam-group\",\n    comment: \"comment\",\n});\nconst fooIamGroupMembership = new ucloud.IamGroupMembership(\"foo\", {\n    groupName: fooIamGroup.name,\n    userNames: [foo.name],\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nfoo = ucloud.IamUser(\"foo\",\n    name=\"tf-acc-iam-user\",\n    login_enable=False,\n    is_frozen=False)\nfoo_iam_group = ucloud.IamGroup(\"foo\",\n    name=\"tf-acc-iam-group\",\n    comment=\"comment\")\nfoo_iam_group_membership = ucloud.IamGroupMembership(\"foo\",\n    group_name=foo_iam_group.name,\n    user_names=[foo.name])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = new Ucloud.IamUser(\"foo\", new()\n    {\n        Name = \"tf-acc-iam-user\",\n        LoginEnable = false,\n        IsFrozen = false,\n    });\n\n    var fooIamGroup = new Ucloud.IamGroup(\"foo\", new()\n    {\n        Name = \"tf-acc-iam-group\",\n        Comment = \"comment\",\n    });\n\n    var fooIamGroupMembership = new Ucloud.IamGroupMembership(\"foo\", new()\n    {\n        GroupName = fooIamGroup.Name,\n        UserNames = new[]\n        {\n            foo.Name,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ucloud.NewIamUser(ctx, \"foo\", \u0026ucloud.IamUserArgs{\n\t\t\tName:        pulumi.String(\"tf-acc-iam-user\"),\n\t\t\tLoginEnable: pulumi.Bool(false),\n\t\t\tIsFrozen:    pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooIamGroup, err := ucloud.NewIamGroup(ctx, \"foo\", \u0026ucloud.IamGroupArgs{\n\t\t\tName:    pulumi.String(\"tf-acc-iam-group\"),\n\t\t\tComment: pulumi.String(\"comment\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ucloud.NewIamGroupMembership(ctx, \"foo\", \u0026ucloud.IamGroupMembershipArgs{\n\t\t\tGroupName: fooIamGroup.Name,\n\t\t\tUserNames: pulumi.StringArray{\n\t\t\t\tfoo.Name,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.IamUser;\nimport com.pulumi.ucloud.IamUserArgs;\nimport com.pulumi.ucloud.IamGroup;\nimport com.pulumi.ucloud.IamGroupArgs;\nimport com.pulumi.ucloud.IamGroupMembership;\nimport com.pulumi.ucloud.IamGroupMembershipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var foo = new IamUser(\"foo\", IamUserArgs.builder()\n            .name(\"tf-acc-iam-user\")\n            .loginEnable(false)\n            .isFrozen(false)\n            .build());\n\n        var fooIamGroup = new IamGroup(\"fooIamGroup\", IamGroupArgs.builder()\n            .name(\"tf-acc-iam-group\")\n            .comment(\"comment\")\n            .build());\n\n        var fooIamGroupMembership = new IamGroupMembership(\"fooIamGroupMembership\", IamGroupMembershipArgs.builder()\n            .groupName(fooIamGroup.name())\n            .userNames(foo.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  foo:\n    type: ucloud:IamUser\n    properties:\n      name: tf-acc-iam-user\n      loginEnable: false\n      isFrozen: false\n  fooIamGroup:\n    type: ucloud:IamGroup\n    name: foo\n    properties:\n      name: tf-acc-iam-group\n      comment: comment\n  fooIamGroupMembership:\n    type: ucloud:IamGroupMembership\n    name: foo\n    properties:\n      groupName: ${fooIamGroup.name}\n      userNames:\n        - ${foo.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIAM group membership can be imported using group name, e.g.\n\n```sh\n$ pulumi import ucloud:index/iamGroupMembership:IamGroupMembership example Administrator\n```\n","properties":{"groupName":{"type":"string","description":"Name of the IAM group.\n"},"iamGroupMembershipId":{"type":"string"},"userNames":{"type":"array","items":{"type":"string"},"description":"Set of user name which will be added to group.\n"}},"type":"object","required":["groupName","iamGroupMembershipId","userNames"],"inputProperties":{"groupName":{"type":"string","description":"Name of the IAM group.\n"},"iamGroupMembershipId":{"type":"string"},"userNames":{"type":"array","items":{"type":"string"},"description":"Set of user name which will be added to group.\n"}},"requiredInputs":["groupName","userNames"],"stateInputs":{"description":"Input properties used for looking up and filtering IamGroupMembership resources.\n","properties":{"groupName":{"type":"string","description":"Name of the IAM group.\n"},"iamGroupMembershipId":{"type":"string"},"userNames":{"type":"array","items":{"type":"string"},"description":"Set of user name which will be added to group.\n"}},"type":"object"}},"ucloud:index/iamGroupPolicyAttachment:IamGroupPolicyAttachment":{"description":"Provides an IAM group policy attachment resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n  foo:\n    type: ucloud:IamGroup\n    properties:\n      name: tf-acc-iam-group\n      comment: comment\n  fooIamProject:\n    type: ucloud:IamProject\n    name: foo\n    properties:\n      name: tf-acc-iam-project\n  fooIamPolicy:\n    type: ucloud:IamPolicy\n    name: foo\n    properties:\n      name: tf-acc-iam-policy\n      comment: comment\n      policy:\n        fn::toJSON:\n          Version: '1'\n          Statement:\n            - Action:\n                - '*'\n              Effect: Allow\n              Resource:\n                - '*'\n      scopeType: Project\n  fooIamGroupPolicyAttachment:\n    type: ucloud:IamGroupPolicyAttachment\n    name: foo\n    properties:\n      groupName: ${foo.name}\n      policyUrn: ${fooIamPolicy.ucloudUrn}\n      projectId: ${fooIamProject.iamProjectId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIAM group policy attachment resource can be imported using `account/\u003cgroup-name\u003e/\u003cpolicy-urn\u003e` for account scope policy, or `project/\u003cproject-id\u003e/\u003cgroup-name\u003e/\u003cpolicy-urn\u003e` for project scope policy, e.g.\n\n```sh\n$ pulumi import ucloud:index/iamGroupPolicyAttachment:IamGroupPolicyAttachment example project/org-xxx/test-group/ucs:iam::ucs:policy/AdministratorAccess\n```\n","properties":{"createTime":{"type":"string","description":"The time of creation of group policy attachment, formatted in RFC3339 time string.\n"},"groupName":{"type":"string","description":"Name of the IAM user group.\n"},"iamGroupPolicyAttachmentId":{"type":"string"},"policyUrn":{"type":"string","description":"URN of the IAM policy, including user policy and system policy.\n"},"projectId":{"type":"string","description":"ID of the IAM project, which is the scope of the policy.\n"}},"type":"object","required":["createTime","groupName","iamGroupPolicyAttachmentId","policyUrn"],"inputProperties":{"groupName":{"type":"string","description":"Name of the IAM user group.\n"},"iamGroupPolicyAttachmentId":{"type":"string"},"policyUrn":{"type":"string","description":"URN of the IAM policy, including user policy and system policy.\n"},"projectId":{"type":"string","description":"ID of the IAM project, which is the scope of the policy.\n"}},"requiredInputs":["groupName","policyUrn"],"stateInputs":{"description":"Input properties used for looking up and filtering IamGroupPolicyAttachment resources.\n","properties":{"createTime":{"type":"string","description":"The time of creation of group policy attachment, formatted in RFC3339 time string.\n"},"groupName":{"type":"string","description":"Name of the IAM user group.\n"},"iamGroupPolicyAttachmentId":{"type":"string"},"policyUrn":{"type":"string","description":"URN of the IAM policy, including user policy and system policy.\n"},"projectId":{"type":"string","description":"ID of the IAM project, which is the scope of the policy.\n"}},"type":"object"}},"ucloud:index/iamPolicy:IamPolicy":{"description":"Provides an IAM custom policy resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst foo = new ucloud.IamPolicy(\"foo\", {\n    name: \"tf-acc-iam-policy\",\n    comment: \"comment\",\n    policy: JSON.stringify({\n        Version: \"1\",\n        Statement: [{\n            Action: [\"*\"],\n            Effect: \"Allow\",\n            Resource: [\"*\"],\n        }],\n    }),\n    scope: \"Project\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_ucloud as ucloud\n\nfoo = ucloud.IamPolicy(\"foo\",\n    name=\"tf-acc-iam-policy\",\n    comment=\"comment\",\n    policy=json.dumps({\n        \"Version\": \"1\",\n        \"Statement\": [{\n            \"Action\": [\"*\"],\n            \"Effect\": \"Allow\",\n            \"Resource\": [\"*\"],\n        }],\n    }),\n    scope=\"Project\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = new Ucloud.IamPolicy(\"foo\", new()\n    {\n        Name = \"tf-acc-iam-policy\",\n        Comment = \"comment\",\n        Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n        {\n            [\"Version\"] = \"1\",\n            [\"Statement\"] = new[]\n            {\n                new Dictionary\u003cstring, object?\u003e\n                {\n                    [\"Action\"] = new[]\n                    {\n                        \"*\",\n                    },\n                    [\"Effect\"] = \"Allow\",\n                    [\"Resource\"] = new[]\n                    {\n                        \"*\",\n                    },\n                },\n            },\n        }),\n        Scope = \"Project\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"1\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = ucloud.NewIamPolicy(ctx, \"foo\", \u0026ucloud.IamPolicyArgs{\n\t\t\tName:    pulumi.String(\"tf-acc-iam-policy\"),\n\t\t\tComment: pulumi.String(\"comment\"),\n\t\t\tPolicy:  pulumi.String(json0),\n\t\t\tScope:   pulumi.String(\"Project\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.IamPolicy;\nimport com.pulumi.ucloud.IamPolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var foo = new IamPolicy(\"foo\", IamPolicyArgs.builder()\n            .name(\"tf-acc-iam-policy\")\n            .comment(\"comment\")\n            .policy(serializeJson(\n                jsonObject(\n                    jsonProperty(\"Version\", \"1\"),\n                    jsonProperty(\"Statement\", jsonArray(jsonObject(\n                        jsonProperty(\"Action\", jsonArray(\"*\")),\n                        jsonProperty(\"Effect\", \"Allow\"),\n                        jsonProperty(\"Resource\", jsonArray(\"*\"))\n                    )))\n                )))\n            .scope(\"Project\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  foo:\n    type: ucloud:IamPolicy\n    properties:\n      name: tf-acc-iam-policy\n      comment: comment\n      policy:\n        fn::toJSON:\n          Version: '1'\n          Statement:\n            - Action:\n                - '*'\n              Effect: Allow\n              Resource:\n                - '*'\n      scope: Project\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIAM group can be imported using policy name, e.g.\n\n```sh\n$ pulumi import ucloud:index/iamPolicy:IamPolicy example uhost-policy\n```\n","properties":{"comment":{"type":"string","description":"Comments of the IAM policy.\n"},"createTime":{"type":"string","description":"The time of creation of policy, formatted in RFC3339 time string.\n"},"iamPolicyId":{"type":"string"},"name":{"type":"string","description":"The name of the policy.\n"},"policy":{"type":"string","description":"The policy document. This is a JSON formatted string.\n"},"scope":{"type":"string","description":"The policy scope, which value can be Project or Account.\n"},"ucloudUrn":{"type":"string","description":"URN of the policy.\n"}},"type":"object","required":["createTime","iamPolicyId","name","policy","scope","ucloudUrn"],"inputProperties":{"comment":{"type":"string","description":"Comments of the IAM policy.\n"},"iamPolicyId":{"type":"string"},"name":{"type":"string","description":"The name of the policy.\n"},"policy":{"type":"string","description":"The policy document. This is a JSON formatted string.\n"},"scope":{"type":"string","description":"The policy scope, which value can be Project or Account.\n"}},"requiredInputs":["policy","scope"],"stateInputs":{"description":"Input properties used for looking up and filtering IamPolicy resources.\n","properties":{"comment":{"type":"string","description":"Comments of the IAM policy.\n"},"createTime":{"type":"string","description":"The time of creation of policy, formatted in RFC3339 time string.\n"},"iamPolicyId":{"type":"string"},"name":{"type":"string","description":"The name of the policy.\n"},"policy":{"type":"string","description":"The policy document. This is a JSON formatted string.\n"},"scope":{"type":"string","description":"The policy scope, which value can be Project or Account.\n"},"ucloudUrn":{"type":"string","description":"URN of the policy.\n"}},"type":"object"}},"ucloud:index/iamProject:IamProject":{"description":"Provides an IAM project resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst foo = new ucloud.IamProject(\"foo\", {name: \"tf-acc-iam-project\"});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nfoo = ucloud.IamProject(\"foo\", name=\"tf-acc-iam-project\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = new Ucloud.IamProject(\"foo\", new()\n    {\n        Name = \"tf-acc-iam-project\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ucloud.NewIamProject(ctx, \"foo\", \u0026ucloud.IamProjectArgs{\n\t\t\tName: pulumi.String(\"tf-acc-iam-project\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.IamProject;\nimport com.pulumi.ucloud.IamProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var foo = new IamProject(\"foo\", IamProjectArgs.builder()\n            .name(\"tf-acc-iam-project\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  foo:\n    type: ucloud:IamProject\n    properties:\n      name: tf-acc-iam-project\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIAM group can be imported using project ID, e.g.\n\n```sh\n$ pulumi import ucloud:index/iamProject:IamProject example org-xxx\n```\n","properties":{"createTime":{"type":"string","description":"The time of creation of project, formatted in RFC3339 time string.\n"},"iamProjectId":{"type":"string"},"name":{"type":"string","description":"Name of the IAM project.\n"}},"type":"object","required":["createTime","iamProjectId","name"],"inputProperties":{"iamProjectId":{"type":"string"},"name":{"type":"string","description":"Name of the IAM project.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering IamProject resources.\n","properties":{"createTime":{"type":"string","description":"The time of creation of project, formatted in RFC3339 time string.\n"},"iamProjectId":{"type":"string"},"name":{"type":"string","description":"Name of the IAM project.\n"}},"type":"object"}},"ucloud:index/iamUser:IamUser":{"description":"Provides an IAM user resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst foo = new ucloud.IamUser(\"foo\", {\n    name: \"tf-acc-iam-user\",\n    loginEnable: false,\n    isFrozen: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nfoo = ucloud.IamUser(\"foo\",\n    name=\"tf-acc-iam-user\",\n    login_enable=False,\n    is_frozen=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = new Ucloud.IamUser(\"foo\", new()\n    {\n        Name = \"tf-acc-iam-user\",\n        LoginEnable = false,\n        IsFrozen = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ucloud.NewIamUser(ctx, \"foo\", \u0026ucloud.IamUserArgs{\n\t\t\tName:        pulumi.String(\"tf-acc-iam-user\"),\n\t\t\tLoginEnable: pulumi.Bool(false),\n\t\t\tIsFrozen:    pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.IamUser;\nimport com.pulumi.ucloud.IamUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var foo = new IamUser(\"foo\", IamUserArgs.builder()\n            .name(\"tf-acc-iam-user\")\n            .loginEnable(false)\n            .isFrozen(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  foo:\n    type: ucloud:IamUser\n    properties:\n      name: tf-acc-iam-user\n      loginEnable: false\n      isFrozen: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIAM group can be imported using name of user, e.g.\n\n```sh\n$ pulumi import ucloud:index/iamUser:IamUser example Administrator\n```\n","properties":{"displayName":{"type":"string","description":"Name of the IAM user which for display.\n"},"email":{"type":"string","description":"Email of the IAM user.\n"},"iamUserId":{"type":"string"},"isFrozen":{"type":"boolean","description":"true or false, default is false.\n"},"loginEnable":{"type":"boolean","description":"true or false, default is true.\n"},"name":{"type":"string","description":"Name of the IAM user.\n"},"status":{"type":"string","description":"Active, Inactive or Frozen.\n"}},"type":"object","required":["email","iamUserId","name","status"],"inputProperties":{"displayName":{"type":"string","description":"Name of the IAM user which for display.\n"},"email":{"type":"string","description":"Email of the IAM user.\n"},"iamUserId":{"type":"string"},"isFrozen":{"type":"boolean","description":"true or false, default is false.\n"},"loginEnable":{"type":"boolean","description":"true or false, default is true.\n"},"name":{"type":"string","description":"Name of the IAM user.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering IamUser resources.\n","properties":{"displayName":{"type":"string","description":"Name of the IAM user which for display.\n"},"email":{"type":"string","description":"Email of the IAM user.\n"},"iamUserId":{"type":"string"},"isFrozen":{"type":"boolean","description":"true or false, default is false.\n"},"loginEnable":{"type":"boolean","description":"true or false, default is true.\n"},"name":{"type":"string","description":"Name of the IAM user.\n"},"status":{"type":"string","description":"Active, Inactive or Frozen.\n"}},"type":"object"}},"ucloud:index/iamUserPolicyAttachment:IamUserPolicyAttachment":{"description":"Provides an IAM group membership resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n  foo:\n    type: ucloud:IamUser\n    properties:\n      name: tf-acc-iam-user\n      loginEnable: false\n      isFrozen: false\n  fooIamProject:\n    type: ucloud:IamProject\n    name: foo\n    properties:\n      name: tf-acc-iam-project\n  fooIamPolicy:\n    type: ucloud:IamPolicy\n    name: foo\n    properties:\n      name: tf-acc-iam-policy\n      comment: comment\n      policy:\n        fn::toJSON:\n          Version: '1'\n          Statement:\n            - Action:\n                - '*'\n              Effect: Allow\n              Resource:\n                - '*'\n      scopeType: Project\n  fooIamUserPolicyAttachment:\n    type: ucloud:IamUserPolicyAttachment\n    name: foo\n    properties:\n      userName: ${foo.name}\n      policyUrn: ${fooIamPolicy.ucloudUrn}\n      projectId: ${fooIamProject.iamProjectId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIAM user policy attachment can be imported using `account/\u003cuser-name\u003e/\u003cpolicy-urn\u003e` for account scope policy, or `project/\u003cproject-id\u003e/\u003cuser-name\u003e/\u003cpolicy-urn\u003e` for project scope policy, e.g.\n\n```sh\n$ pulumi import ucloud:index/iamUserPolicyAttachment:IamUserPolicyAttachment example project/org-xxx/test-user/ucs:iam::ucs:policy/AdministratorAccess\n```\n","properties":{"createTime":{"type":"string","description":"The time of creation of group policy attachment, formatted in RFC3339 time string.\n"},"iamUserPolicyAttachmentId":{"type":"string"},"policyUrn":{"type":"string","description":"URN of the IAM policy, including user policy and system policy.\n"},"projectId":{"type":"string","description":"ID of the IAM project, which is the scope of the policy.\n"},"userName":{"type":"string","description":"Name of the IAM user.\n"}},"type":"object","required":["createTime","iamUserPolicyAttachmentId","policyUrn","userName"],"inputProperties":{"iamUserPolicyAttachmentId":{"type":"string"},"policyUrn":{"type":"string","description":"URN of the IAM policy, including user policy and system policy.\n"},"projectId":{"type":"string","description":"ID of the IAM project, which is the scope of the policy.\n"},"userName":{"type":"string","description":"Name of the IAM user.\n"}},"requiredInputs":["policyUrn","userName"],"stateInputs":{"description":"Input properties used for looking up and filtering IamUserPolicyAttachment resources.\n","properties":{"createTime":{"type":"string","description":"The time of creation of group policy attachment, formatted in RFC3339 time string.\n"},"iamUserPolicyAttachmentId":{"type":"string"},"policyUrn":{"type":"string","description":"URN of the IAM policy, including user policy and system policy.\n"},"projectId":{"type":"string","description":"ID of the IAM project, which is the scope of the policy.\n"},"userName":{"type":"string","description":"Name of the IAM user.\n"}},"type":"object"}},"ucloud:index/instance:Instance":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\n// Query default security group\nconst _default = ucloud.getSecurityGroups({\n    type: \"recommend_web\",\n});\n// Query normal image\nconst normal = ucloud.getImages({\n    availabilityZone: \"cn-bj2-03\",\n    nameRegex: \"^CentOS 6.5 64\",\n    imageType: \"base\",\n});\n// Create normal instance\nconst normalInstance = new ucloud.Instance(\"normal\", {\n    availabilityZone: \"cn-bj2-03\",\n    imageId: normal.then(normal =\u003e normal.images?.[0]?.id),\n    instanceType: \"n-basic-2\",\n    rootPassword: \"wA1234567\",\n    name: \"tf-example-normal-instance\",\n    tag: \"tf-example\",\n    bootDiskType: \"cloud_ssd\",\n    securityGroup: _default.then(_default =\u003e _default.securityGroups?.[0]?.id),\n    dataDisks: {\n        size: 20,\n        type: \"cloud_ssd\",\n    },\n    deleteDisksWithInstance: true,\n});\n// Query outstanding image\nconst outstanding = ucloud.getImages({\n    availabilityZone: \"cn-bj2-03\",\n    nameRegex: \"^高内核CentOS 7.6 64\",\n    imageType: \"base\",\n});\n// Create outstanding instance\nconst outstandingInstance = new ucloud.Instance(\"outstanding\", {\n    availabilityZone: \"cn-bj2-03\",\n    imageId: outstanding.then(outstanding =\u003e outstanding.images?.[0]?.id),\n    instanceType: \"o-basic-4\",\n    rootPassword: \"wA1234567\",\n    name: \"tf-example-outstanding-instance\",\n    tag: \"tf-example\",\n    bootDiskType: \"cloud_rssd\",\n    securityGroup: _default.then(_default =\u003e _default.securityGroups?.[0]?.id),\n    dataDisks: {\n        size: 20,\n        type: \"cloud_rssd\",\n    },\n    deleteDisksWithInstance: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\n# Query default security group\ndefault = ucloud.get_security_groups(type=\"recommend_web\")\n# Query normal image\nnormal = ucloud.get_images(availability_zone=\"cn-bj2-03\",\n    name_regex=\"^CentOS 6.5 64\",\n    image_type=\"base\")\n# Create normal instance\nnormal_instance = ucloud.Instance(\"normal\",\n    availability_zone=\"cn-bj2-03\",\n    image_id=normal.images[0].id,\n    instance_type=\"n-basic-2\",\n    root_password=\"wA1234567\",\n    name=\"tf-example-normal-instance\",\n    tag=\"tf-example\",\n    boot_disk_type=\"cloud_ssd\",\n    security_group=default.security_groups[0].id,\n    data_disks={\n        \"size\": 20,\n        \"type\": \"cloud_ssd\",\n    },\n    delete_disks_with_instance=True)\n# Query outstanding image\noutstanding = ucloud.get_images(availability_zone=\"cn-bj2-03\",\n    name_regex=\"^高内核CentOS 7.6 64\",\n    image_type=\"base\")\n# Create outstanding instance\noutstanding_instance = ucloud.Instance(\"outstanding\",\n    availability_zone=\"cn-bj2-03\",\n    image_id=outstanding.images[0].id,\n    instance_type=\"o-basic-4\",\n    root_password=\"wA1234567\",\n    name=\"tf-example-outstanding-instance\",\n    tag=\"tf-example\",\n    boot_disk_type=\"cloud_rssd\",\n    security_group=default.security_groups[0].id,\n    data_disks={\n        \"size\": 20,\n        \"type\": \"cloud_rssd\",\n    },\n    delete_disks_with_instance=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Query default security group\n    var @default = Ucloud.GetSecurityGroups.Invoke(new()\n    {\n        Type = \"recommend_web\",\n    });\n\n    // Query normal image\n    var normal = Ucloud.GetImages.Invoke(new()\n    {\n        AvailabilityZone = \"cn-bj2-03\",\n        NameRegex = \"^CentOS 6.5 64\",\n        ImageType = \"base\",\n    });\n\n    // Create normal instance\n    var normalInstance = new Ucloud.Instance(\"normal\", new()\n    {\n        AvailabilityZone = \"cn-bj2-03\",\n        ImageId = normal.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n        InstanceType = \"n-basic-2\",\n        RootPassword = \"wA1234567\",\n        Name = \"tf-example-normal-instance\",\n        Tag = \"tf-example\",\n        BootDiskType = \"cloud_ssd\",\n        SecurityGroup = @default.Apply(@default =\u003e @default.Apply(getSecurityGroupsResult =\u003e getSecurityGroupsResult.SecurityGroups[0]?.Id)),\n        DataDisks = new Ucloud.Inputs.InstanceDataDisksArgs\n        {\n            Size = 20,\n            Type = \"cloud_ssd\",\n        },\n        DeleteDisksWithInstance = true,\n    });\n\n    // Query outstanding image\n    var outstanding = Ucloud.GetImages.Invoke(new()\n    {\n        AvailabilityZone = \"cn-bj2-03\",\n        NameRegex = \"^高内核CentOS 7.6 64\",\n        ImageType = \"base\",\n    });\n\n    // Create outstanding instance\n    var outstandingInstance = new Ucloud.Instance(\"outstanding\", new()\n    {\n        AvailabilityZone = \"cn-bj2-03\",\n        ImageId = outstanding.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n        InstanceType = \"o-basic-4\",\n        RootPassword = \"wA1234567\",\n        Name = \"tf-example-outstanding-instance\",\n        Tag = \"tf-example\",\n        BootDiskType = \"cloud_rssd\",\n        SecurityGroup = @default.Apply(@default =\u003e @default.Apply(getSecurityGroupsResult =\u003e getSecurityGroupsResult.SecurityGroups[0]?.Id)),\n        DataDisks = new Ucloud.Inputs.InstanceDataDisksArgs\n        {\n            Size = 20,\n            Type = \"cloud_rssd\",\n        },\n        DeleteDisksWithInstance = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Query default security group\n\t\t_default, err := ucloud.GetSecurityGroups(ctx, \u0026ucloud.GetSecurityGroupsArgs{\n\t\t\tType: pulumi.StringRef(\"recommend_web\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Query normal image\n\t\tnormal, err := ucloud.GetImages(ctx, \u0026ucloud.GetImagesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(\"cn-bj2-03\"),\n\t\t\tNameRegex:        pulumi.StringRef(\"^CentOS 6.5 64\"),\n\t\t\tImageType:        pulumi.StringRef(\"base\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create normal instance\n\t\t_, err = ucloud.NewInstance(ctx, \"normal\", \u0026ucloud.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"cn-bj2-03\"),\n\t\t\tImageId:          pulumi.String(normal.Images[0].Id),\n\t\t\tInstanceType:     pulumi.String(\"n-basic-2\"),\n\t\t\tRootPassword:     pulumi.String(\"wA1234567\"),\n\t\t\tName:             pulumi.String(\"tf-example-normal-instance\"),\n\t\t\tTag:              pulumi.String(\"tf-example\"),\n\t\t\tBootDiskType:     pulumi.String(\"cloud_ssd\"),\n\t\t\tSecurityGroup:    pulumi.String(_default.SecurityGroups[0].Id),\n\t\t\tDataDisks: \u0026ucloud.InstanceDataDisksArgs{\n\t\t\t\tSize: pulumi.Float64(20),\n\t\t\t\tType: pulumi.String(\"cloud_ssd\"),\n\t\t\t},\n\t\t\tDeleteDisksWithInstance: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Query outstanding image\n\t\toutstanding, err := ucloud.GetImages(ctx, \u0026ucloud.GetImagesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(\"cn-bj2-03\"),\n\t\t\tNameRegex:        pulumi.StringRef(\"^高内核CentOS 7.6 64\"),\n\t\t\tImageType:        pulumi.StringRef(\"base\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create outstanding instance\n\t\t_, err = ucloud.NewInstance(ctx, \"outstanding\", \u0026ucloud.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"cn-bj2-03\"),\n\t\t\tImageId:          pulumi.String(outstanding.Images[0].Id),\n\t\t\tInstanceType:     pulumi.String(\"o-basic-4\"),\n\t\t\tRootPassword:     pulumi.String(\"wA1234567\"),\n\t\t\tName:             pulumi.String(\"tf-example-outstanding-instance\"),\n\t\t\tTag:              pulumi.String(\"tf-example\"),\n\t\t\tBootDiskType:     pulumi.String(\"cloud_rssd\"),\n\t\t\tSecurityGroup:    pulumi.String(_default.SecurityGroups[0].Id),\n\t\t\tDataDisks: \u0026ucloud.InstanceDataDisksArgs{\n\t\t\t\tSize: pulumi.Float64(20),\n\t\t\t\tType: pulumi.String(\"cloud_rssd\"),\n\t\t\t},\n\t\t\tDeleteDisksWithInstance: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetSecurityGroupsArgs;\nimport com.pulumi.ucloud.inputs.GetImagesArgs;\nimport com.pulumi.ucloud.Instance;\nimport com.pulumi.ucloud.InstanceArgs;\nimport com.pulumi.ucloud.inputs.InstanceDataDisksArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Query default security group\n        final var default = UcloudFunctions.getSecurityGroups(GetSecurityGroupsArgs.builder()\n            .type(\"recommend_web\")\n            .build());\n\n        // Query normal image\n        final var normal = UcloudFunctions.getImages(GetImagesArgs.builder()\n            .availabilityZone(\"cn-bj2-03\")\n            .nameRegex(\"^CentOS 6.5 64\")\n            .imageType(\"base\")\n            .build());\n\n        // Create normal instance\n        var normalInstance = new Instance(\"normalInstance\", InstanceArgs.builder()\n            .availabilityZone(\"cn-bj2-03\")\n            .imageId(normal.images()[0].id())\n            .instanceType(\"n-basic-2\")\n            .rootPassword(\"wA1234567\")\n            .name(\"tf-example-normal-instance\")\n            .tag(\"tf-example\")\n            .bootDiskType(\"cloud_ssd\")\n            .securityGroup(default_.securityGroups()[0].id())\n            .dataDisks(InstanceDataDisksArgs.builder()\n                .size(20.0)\n                .type(\"cloud_ssd\")\n                .build())\n            .deleteDisksWithInstance(true)\n            .build());\n\n        // Query outstanding image\n        final var outstanding = UcloudFunctions.getImages(GetImagesArgs.builder()\n            .availabilityZone(\"cn-bj2-03\")\n            .nameRegex(\"^高内核CentOS 7.6 64\")\n            .imageType(\"base\")\n            .build());\n\n        // Create outstanding instance\n        var outstandingInstance = new Instance(\"outstandingInstance\", InstanceArgs.builder()\n            .availabilityZone(\"cn-bj2-03\")\n            .imageId(outstanding.images()[0].id())\n            .instanceType(\"o-basic-4\")\n            .rootPassword(\"wA1234567\")\n            .name(\"tf-example-outstanding-instance\")\n            .tag(\"tf-example\")\n            .bootDiskType(\"cloud_rssd\")\n            .securityGroup(default_.securityGroups()[0].id())\n            .dataDisks(InstanceDataDisksArgs.builder()\n                .size(20.0)\n                .type(\"cloud_rssd\")\n                .build())\n            .deleteDisksWithInstance(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create normal instance\n  normalInstance:\n    type: ucloud:Instance\n    name: normal\n    properties:\n      availabilityZone: cn-bj2-03\n      imageId: ${normal.images[0].id}\n      instanceType: n-basic-2\n      rootPassword: wA1234567\n      name: tf-example-normal-instance\n      tag: tf-example\n      bootDiskType: cloud_ssd\n      securityGroup: ${default.securityGroups[0].id}\n      dataDisks:\n        size: 20\n        type: cloud_ssd\n      deleteDisksWithInstance: true\n  # Create outstanding instance\n  outstandingInstance:\n    type: ucloud:Instance\n    name: outstanding\n    properties:\n      availabilityZone: cn-bj2-03\n      imageId: ${outstanding.images[0].id}\n      instanceType: o-basic-4\n      rootPassword: wA1234567\n      name: tf-example-outstanding-instance\n      tag: tf-example\n      bootDiskType: cloud_rssd\n      securityGroup: ${default.securityGroups[0].id}\n      dataDisks:\n        size: 20\n        type: cloud_rssd\n      deleteDisksWithInstance: true\nvariables:\n  # Query default security group\n  default:\n    fn::invoke:\n      function: ucloud:getSecurityGroups\n      arguments:\n        type: recommend_web\n  # Query normal image\n  normal:\n    fn::invoke:\n      function: ucloud:getImages\n      arguments:\n        availabilityZone: cn-bj2-03\n        nameRegex: ^CentOS 6.5 64\n        imageType: base\n  # Query outstanding image\n  outstanding:\n    fn::invoke:\n      function: ucloud:getImages\n      arguments:\n        availabilityZone: cn-bj2-03\n        nameRegex: ^高内核CentOS 7.6 64\n        imageType: base\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nInstance can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import ucloud:index/instance:Instance example uhost-abcdefg\n```\n","properties":{"allowStoppingForUpdate":{"type":"boolean"},"autoRenew":{"type":"boolean","description":"Whether to renew an instance automatically or not.\n"},"availabilityZone":{"type":"string","description":"Availability zone where instance is located. such as: `cn-bj2-02`. You may refer to [list of availability zone](https://docs.ucloud.cn/api/summary/regionlist)\n"},"bootDiskSize":{"type":"number","description":"The size of the boot disk, measured in GB (GigaByte). Range: 20-500. The value set of disk size must be larger or equal to \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e(default: \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e) for Linux and \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e (default: \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e) for Windows. The responsive time is a bit longer if the value set is larger than default for local boot disk, and further settings may be required on host instance if the value set is larger than default for cloud boot disk. The disk volume adjustment must be a multiple of 10 GB. In addition, any reduction of boot disk size is not supported.\n\n\u003e **Note** If you want to update this value, you must set \u003cspan pulumi-lang-nodejs=\"`allowStoppingForUpdate`\" pulumi-lang-dotnet=\"`AllowStoppingForUpdate`\" pulumi-lang-go=\"`allowStoppingForUpdate`\" pulumi-lang-python=\"`allow_stopping_for_update`\" pulumi-lang-yaml=\"`allowStoppingForUpdate`\" pulumi-lang-java=\"`allowStoppingForUpdate`\"\u003e`allow_stopping_for_update`\u003c/span\u003eto \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. In addition, when it is changed, you need to [go to the instance for configuration](https://docs.ucloud.cn/compute/uhost/guide/disk).\n"},"bootDiskType":{"type":"string","description":"The type of boot disk. Possible values are: \u003cspan pulumi-lang-nodejs=\"`localNormal`\" pulumi-lang-dotnet=\"`LocalNormal`\" pulumi-lang-go=\"`localNormal`\" pulumi-lang-python=\"`local_normal`\" pulumi-lang-yaml=\"`localNormal`\" pulumi-lang-java=\"`localNormal`\"\u003e`local_normal`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`localSsd`\" pulumi-lang-dotnet=\"`LocalSsd`\" pulumi-lang-go=\"`localSsd`\" pulumi-lang-python=\"`local_ssd`\" pulumi-lang-yaml=\"`localSsd`\" pulumi-lang-java=\"`localSsd`\"\u003e`local_ssd`\u003c/span\u003e for local boot disk, \u003cspan pulumi-lang-nodejs=\"`cloudSsd`\" pulumi-lang-dotnet=\"`CloudSsd`\" pulumi-lang-go=\"`cloudSsd`\" pulumi-lang-python=\"`cloud_ssd`\" pulumi-lang-yaml=\"`cloudSsd`\" pulumi-lang-java=\"`cloudSsd`\"\u003e`cloud_ssd`\u003c/span\u003e for cloud SSD boot disk,\u003cspan pulumi-lang-nodejs=\"`rssdDataDisk`\" pulumi-lang-dotnet=\"`RssdDataDisk`\" pulumi-lang-go=\"`rssdDataDisk`\" pulumi-lang-python=\"`rssd_data_disk`\" pulumi-lang-yaml=\"`rssdDataDisk`\" pulumi-lang-java=\"`rssdDataDisk`\"\u003e`rssd_data_disk`\u003c/span\u003e as RDMA-SSD cloud disk. (Default: \u003cspan pulumi-lang-nodejs=\"`localNormal`\" pulumi-lang-dotnet=\"`LocalNormal`\" pulumi-lang-go=\"`localNormal`\" pulumi-lang-python=\"`local_normal`\" pulumi-lang-yaml=\"`localNormal`\" pulumi-lang-java=\"`localNormal`\"\u003e`local_normal`\u003c/span\u003e). The \u003cspan pulumi-lang-nodejs=\"`localSsd`\" pulumi-lang-dotnet=\"`LocalSsd`\" pulumi-lang-go=\"`localSsd`\" pulumi-lang-python=\"`local_ssd`\" pulumi-lang-yaml=\"`localSsd`\" pulumi-lang-java=\"`localSsd`\"\u003e`local_ssd`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`cloudSsd`\" pulumi-lang-dotnet=\"`CloudSsd`\" pulumi-lang-go=\"`cloudSsd`\" pulumi-lang-python=\"`cloud_ssd`\" pulumi-lang-yaml=\"`cloudSsd`\" pulumi-lang-java=\"`cloudSsd`\"\u003e`cloud_ssd`\u003c/span\u003e are not fully support by all regions as boot disk type, please proceed to UCloud console for more details.\n"},"chargeType":{"type":"string","description":"The charge type of instance, possible values are: \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\"\u003e`year`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e as pay by hour (specific permission required). (Default: \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e).\n"},"cpu":{"type":"number","description":"The number of cores of virtual CPU, measured in core.\n"},"cpuPlatform":{"type":"string"},"createTime":{"type":"string","description":"The time of creation for instance, formatted in RFC3339 time string.\n"},"dataDiskSize":{"type":"number","description":"The size of local data disk, measured in GB (GigaByte), 20-2000 for local sata disk and 20-1000 for local ssd disk (all the GPU type instances are included). The volume adjustment must be a multiple of 10 GB. In addition, any reduction of data disk size is not supported. \n\n\u003e **Note** If you want to update this value, you must set \u003cspan pulumi-lang-nodejs=\"`allowStoppingForUpdate`\" pulumi-lang-dotnet=\"`AllowStoppingForUpdate`\" pulumi-lang-go=\"`allowStoppingForUpdate`\" pulumi-lang-python=\"`allow_stopping_for_update`\" pulumi-lang-yaml=\"`allowStoppingForUpdate`\" pulumi-lang-java=\"`allowStoppingForUpdate`\"\u003e`allow_stopping_for_update`\u003c/span\u003eto \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. In addition, when it is changed, you need to [go to the instance for configuration](https://docs.ucloud.cn/compute/uhost/guide/disk).\n"},"dataDiskType":{"type":"string","description":"The type of local data disk. Possible values are: \u003cspan pulumi-lang-nodejs=\"`localNormal`\" pulumi-lang-dotnet=\"`LocalNormal`\" pulumi-lang-go=\"`localNormal`\" pulumi-lang-python=\"`local_normal`\" pulumi-lang-yaml=\"`localNormal`\" pulumi-lang-java=\"`localNormal`\"\u003e`local_normal`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`localSsd`\" pulumi-lang-dotnet=\"`LocalSsd`\" pulumi-lang-go=\"`localSsd`\" pulumi-lang-python=\"`local_ssd`\" pulumi-lang-yaml=\"`localSsd`\" pulumi-lang-java=\"`localSsd`\"\u003e`local_ssd`\u003c/span\u003e for local data disk. (Default: \u003cspan pulumi-lang-nodejs=\"`localNormal`\" pulumi-lang-dotnet=\"`LocalNormal`\" pulumi-lang-go=\"`localNormal`\" pulumi-lang-python=\"`local_normal`\" pulumi-lang-yaml=\"`localNormal`\" pulumi-lang-java=\"`localNormal`\"\u003e`local_normal`\u003c/span\u003e). The \u003cspan pulumi-lang-nodejs=\"`localSsd`\" pulumi-lang-dotnet=\"`LocalSsd`\" pulumi-lang-go=\"`localSsd`\" pulumi-lang-python=\"`local_ssd`\" pulumi-lang-yaml=\"`localSsd`\" pulumi-lang-java=\"`localSsd`\"\u003e`local_ssd`\u003c/span\u003e is not fully support by all regions as data disk type, please proceed to UCloud console for more details. In addition, the \u003cspan pulumi-lang-nodejs=\"`dataDiskType`\" pulumi-lang-dotnet=\"`DataDiskType`\" pulumi-lang-go=\"`dataDiskType`\" pulumi-lang-python=\"`data_disk_type`\" pulumi-lang-yaml=\"`dataDiskType`\" pulumi-lang-java=\"`dataDiskType`\"\u003e`data_disk_type`\u003c/span\u003e must be same as \u003cspan pulumi-lang-nodejs=\"`bootDiskType`\" pulumi-lang-dotnet=\"`BootDiskType`\" pulumi-lang-go=\"`bootDiskType`\" pulumi-lang-python=\"`boot_disk_type`\" pulumi-lang-yaml=\"`bootDiskType`\" pulumi-lang-java=\"`bootDiskType`\"\u003e`boot_disk_type`\u003c/span\u003e if specified.\n"},"dataDisks":{"$ref":"#/types/ucloud:index%2FInstanceDataDisks:InstanceDataDisks","description":"Additional cloud data disks to attach to the instance. \u003cspan pulumi-lang-nodejs=\"`dataDisks`\" pulumi-lang-dotnet=\"`DataDisks`\" pulumi-lang-go=\"`dataDisks`\" pulumi-lang-python=\"`data_disks`\" pulumi-lang-yaml=\"`dataDisks`\" pulumi-lang-java=\"`dataDisks`\"\u003e`data_disks`\u003c/span\u003e configurations only apply on resource creation. The count of \u003cspan pulumi-lang-nodejs=\"`dataDisks`\" pulumi-lang-dotnet=\"`DataDisks`\" pulumi-lang-go=\"`dataDisks`\" pulumi-lang-python=\"`data_disks`\" pulumi-lang-yaml=\"`dataDisks`\" pulumi-lang-java=\"`dataDisks`\"\u003e`data_disks`\u003c/span\u003e can only be one. See\u003cspan pulumi-lang-nodejs=\" dataDisks \" pulumi-lang-dotnet=\" DataDisks \" pulumi-lang-go=\" dataDisks \" pulumi-lang-python=\" data_disks \" pulumi-lang-yaml=\" dataDisks \" pulumi-lang-java=\" dataDisks \"\u003e data_disks \u003c/span\u003ebelow for details on attributes. When set \u003cspan pulumi-lang-nodejs=\"`dataDisks`\" pulumi-lang-dotnet=\"`DataDisks`\" pulumi-lang-go=\"`dataDisks`\" pulumi-lang-python=\"`data_disks`\" pulumi-lang-yaml=\"`dataDisks`\" pulumi-lang-java=\"`dataDisks`\"\u003e`data_disks`\u003c/span\u003e, the argument \u003cspan pulumi-lang-nodejs=\"`deleteDisksWithInstance`\" pulumi-lang-dotnet=\"`DeleteDisksWithInstance`\" pulumi-lang-go=\"`deleteDisksWithInstance`\" pulumi-lang-python=\"`delete_disks_with_instance`\" pulumi-lang-yaml=\"`deleteDisksWithInstance`\" pulumi-lang-java=\"`deleteDisksWithInstance`\"\u003e`delete_disks_with_instance`\u003c/span\u003e must bet set.\n"},"deleteDisksWithInstance":{"type":"boolean"},"deleteEipsWithInstance":{"type":"boolean"},"diskSets":{"type":"array","items":{"$ref":"#/types/ucloud:index%2FInstanceDiskSet:InstanceDiskSet"},"description":"It is a nested type which documented below.\n"},"duration":{"type":"number","description":"The duration that you will buy the instance (Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e). The value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e when pay by month and the instance will be valid till the last day of that month. It is not required when \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e (pay by hour).\n"},"expireTime":{"type":"string","description":"The expiration time for instance, formatted in RFC3339 time string.\n"},"imageId":{"type":"string","description":"The ID for the image to use for the instance.\n"},"instanceId":{"type":"string","description":"The ID of disk.\n"},"instanceType":{"type":"string","description":"The type of instance, please visit the instance type table\n\n\u003e **Note** If you want to update this value, you must set \u003cspan pulumi-lang-nodejs=\"`allowStoppingForUpdate`\" pulumi-lang-dotnet=\"`AllowStoppingForUpdate`\" pulumi-lang-go=\"`allowStoppingForUpdate`\" pulumi-lang-python=\"`allow_stopping_for_update`\" pulumi-lang-yaml=\"`allowStoppingForUpdate`\" pulumi-lang-java=\"`allowStoppingForUpdate`\"\u003e`allow_stopping_for_update`\u003c/span\u003eto \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n- - -\n"},"ipSets":{"type":"array","items":{"$ref":"#/types/ucloud:index%2FInstanceIpSet:InstanceIpSet"},"description":"It is a nested type which documented below.\n"},"isolationGroup":{"type":"string","description":"The ID of the associated isolation group.\n"},"memory":{"type":"number","description":"The size of memory, measured in GB(Gigabyte).\n"},"minCpuPlatform":{"type":"string","description":"Specifies a minimum CPU platform for the the VM instance. (Default: `Intel/Auto`). You may refer to [product documentation](https://docs.ucloud.cn/uhost/introduction/uhost/type_new) and [API documentation](https://docs.ucloud.cn/api/uhost-api/create_uhost_instance).\n"},"name":{"type":"string"},"networkInterface":{"$ref":"#/types/ucloud:index%2FInstanceNetworkInterface:InstanceNetworkInterface"},"privateIp":{"type":"string","description":"The private IP address assigned to the instance.\n"},"rdmaClusterId":{"type":"string","description":"The RDMA Cluster ID of instance. This is only available when machine type is `O`.\n"},"remark":{"type":"string","description":"The remarks of instance. (Default: `\"\"`).\n"},"rootPassword":{"type":"string","secret":true},"securityGroup":{"type":"string","description":"The ID of the associated security group.\n"},"status":{"type":"string","description":"Instance current status. Possible values are `Initializing`, `Starting`, `Running`, `Stopping`, `Stopped`, `Install Fail`, `ResizeFail` and `Rebooting`.\n"},"subnetId":{"type":"string","description":"The ID of subnet. If defined \u003cspan pulumi-lang-nodejs=\"`vpcId`\" pulumi-lang-dotnet=\"`VpcId`\" pulumi-lang-go=\"`vpcId`\" pulumi-lang-python=\"`vpc_id`\" pulumi-lang-yaml=\"`vpcId`\" pulumi-lang-java=\"`vpcId`\"\u003e`vpc_id`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e is Required. If not defined \u003cspan pulumi-lang-nodejs=\"`vpcId`\" pulumi-lang-dotnet=\"`VpcId`\" pulumi-lang-go=\"`vpcId`\" pulumi-lang-python=\"`vpc_id`\" pulumi-lang-yaml=\"`vpcId`\" pulumi-lang-java=\"`vpcId`\"\u003e`vpc_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e, the instance will use the default subnet in the current region.\n"},"tag":{"type":"string","description":"A tag assigned to instance, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"timeouts":{"$ref":"#/types/ucloud:index%2FInstanceTimeouts:InstanceTimeouts"},"userData":{"type":"string","description":"The user data to customize the startup behaviors when launching the instance. You may refer to \u003cspan pulumi-lang-nodejs=\"[userDataDocument]\" pulumi-lang-dotnet=\"[UserDataDocument]\" pulumi-lang-go=\"[userDataDocument]\" pulumi-lang-python=\"[user_data_document]\" pulumi-lang-yaml=\"[userDataDocument]\" pulumi-lang-java=\"[userDataDocument]\"\u003e[user_data_document]\u003c/span\u003e(https://docs.ucloud.cn/uhost/guide/metadata/userdata)\n"},"vpcId":{"type":"string","description":"The ID of VPC linked to the instance. If not defined \u003cspan pulumi-lang-nodejs=\"`vpcId`\" pulumi-lang-dotnet=\"`VpcId`\" pulumi-lang-go=\"`vpcId`\" pulumi-lang-python=\"`vpc_id`\" pulumi-lang-yaml=\"`vpcId`\" pulumi-lang-java=\"`vpcId`\"\u003e`vpc_id`\u003c/span\u003e, the instance will use the default VPC in the current region.\n"}},"type":"object","required":["autoRenew","availabilityZone","bootDiskSize","bootDiskType","chargeType","cpu","cpuPlatform","createTime","dataDiskSize","dataDiskType","diskSets","expireTime","imageId","instanceId","instanceType","ipSets","isolationGroup","memory","name","privateIp","rdmaClusterId","remark","rootPassword","securityGroup","status","subnetId","vpcId"],"inputProperties":{"allowStoppingForUpdate":{"type":"boolean"},"availabilityZone":{"type":"string","description":"Availability zone where instance is located. such as: `cn-bj2-02`. You may refer to [list of availability zone](https://docs.ucloud.cn/api/summary/regionlist)\n"},"bootDiskSize":{"type":"number","description":"The size of the boot disk, measured in GB (GigaByte). Range: 20-500. The value set of disk size must be larger or equal to \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e(default: \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e) for Linux and \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e (default: \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e) for Windows. The responsive time is a bit longer if the value set is larger than default for local boot disk, and further settings may be required on host instance if the value set is larger than default for cloud boot disk. The disk volume adjustment must be a multiple of 10 GB. In addition, any reduction of boot disk size is not supported.\n\n\u003e **Note** If you want to update this value, you must set \u003cspan pulumi-lang-nodejs=\"`allowStoppingForUpdate`\" pulumi-lang-dotnet=\"`AllowStoppingForUpdate`\" pulumi-lang-go=\"`allowStoppingForUpdate`\" pulumi-lang-python=\"`allow_stopping_for_update`\" pulumi-lang-yaml=\"`allowStoppingForUpdate`\" pulumi-lang-java=\"`allowStoppingForUpdate`\"\u003e`allow_stopping_for_update`\u003c/span\u003eto \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. In addition, when it is changed, you need to [go to the instance for configuration](https://docs.ucloud.cn/compute/uhost/guide/disk).\n"},"bootDiskType":{"type":"string","description":"The type of boot disk. Possible values are: \u003cspan pulumi-lang-nodejs=\"`localNormal`\" pulumi-lang-dotnet=\"`LocalNormal`\" pulumi-lang-go=\"`localNormal`\" pulumi-lang-python=\"`local_normal`\" pulumi-lang-yaml=\"`localNormal`\" pulumi-lang-java=\"`localNormal`\"\u003e`local_normal`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`localSsd`\" pulumi-lang-dotnet=\"`LocalSsd`\" pulumi-lang-go=\"`localSsd`\" pulumi-lang-python=\"`local_ssd`\" pulumi-lang-yaml=\"`localSsd`\" pulumi-lang-java=\"`localSsd`\"\u003e`local_ssd`\u003c/span\u003e for local boot disk, \u003cspan pulumi-lang-nodejs=\"`cloudSsd`\" pulumi-lang-dotnet=\"`CloudSsd`\" pulumi-lang-go=\"`cloudSsd`\" pulumi-lang-python=\"`cloud_ssd`\" pulumi-lang-yaml=\"`cloudSsd`\" pulumi-lang-java=\"`cloudSsd`\"\u003e`cloud_ssd`\u003c/span\u003e for cloud SSD boot disk,\u003cspan pulumi-lang-nodejs=\"`rssdDataDisk`\" pulumi-lang-dotnet=\"`RssdDataDisk`\" pulumi-lang-go=\"`rssdDataDisk`\" pulumi-lang-python=\"`rssd_data_disk`\" pulumi-lang-yaml=\"`rssdDataDisk`\" pulumi-lang-java=\"`rssdDataDisk`\"\u003e`rssd_data_disk`\u003c/span\u003e as RDMA-SSD cloud disk. (Default: \u003cspan pulumi-lang-nodejs=\"`localNormal`\" pulumi-lang-dotnet=\"`LocalNormal`\" pulumi-lang-go=\"`localNormal`\" pulumi-lang-python=\"`local_normal`\" pulumi-lang-yaml=\"`localNormal`\" pulumi-lang-java=\"`localNormal`\"\u003e`local_normal`\u003c/span\u003e). The \u003cspan pulumi-lang-nodejs=\"`localSsd`\" pulumi-lang-dotnet=\"`LocalSsd`\" pulumi-lang-go=\"`localSsd`\" pulumi-lang-python=\"`local_ssd`\" pulumi-lang-yaml=\"`localSsd`\" pulumi-lang-java=\"`localSsd`\"\u003e`local_ssd`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`cloudSsd`\" pulumi-lang-dotnet=\"`CloudSsd`\" pulumi-lang-go=\"`cloudSsd`\" pulumi-lang-python=\"`cloud_ssd`\" pulumi-lang-yaml=\"`cloudSsd`\" pulumi-lang-java=\"`cloudSsd`\"\u003e`cloud_ssd`\u003c/span\u003e are not fully support by all regions as boot disk type, please proceed to UCloud console for more details.\n"},"chargeType":{"type":"string","description":"The charge type of instance, possible values are: \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\"\u003e`year`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e as pay by hour (specific permission required). (Default: \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e).\n"},"dataDiskSize":{"type":"number","description":"The size of local data disk, measured in GB (GigaByte), 20-2000 for local sata disk and 20-1000 for local ssd disk (all the GPU type instances are included). The volume adjustment must be a multiple of 10 GB. In addition, any reduction of data disk size is not supported. \n\n\u003e **Note** If you want to update this value, you must set \u003cspan pulumi-lang-nodejs=\"`allowStoppingForUpdate`\" pulumi-lang-dotnet=\"`AllowStoppingForUpdate`\" pulumi-lang-go=\"`allowStoppingForUpdate`\" pulumi-lang-python=\"`allow_stopping_for_update`\" pulumi-lang-yaml=\"`allowStoppingForUpdate`\" pulumi-lang-java=\"`allowStoppingForUpdate`\"\u003e`allow_stopping_for_update`\u003c/span\u003eto \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. In addition, when it is changed, you need to [go to the instance for configuration](https://docs.ucloud.cn/compute/uhost/guide/disk).\n"},"dataDiskType":{"type":"string","description":"The type of local data disk. Possible values are: \u003cspan pulumi-lang-nodejs=\"`localNormal`\" pulumi-lang-dotnet=\"`LocalNormal`\" pulumi-lang-go=\"`localNormal`\" pulumi-lang-python=\"`local_normal`\" pulumi-lang-yaml=\"`localNormal`\" pulumi-lang-java=\"`localNormal`\"\u003e`local_normal`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`localSsd`\" pulumi-lang-dotnet=\"`LocalSsd`\" pulumi-lang-go=\"`localSsd`\" pulumi-lang-python=\"`local_ssd`\" pulumi-lang-yaml=\"`localSsd`\" pulumi-lang-java=\"`localSsd`\"\u003e`local_ssd`\u003c/span\u003e for local data disk. (Default: \u003cspan pulumi-lang-nodejs=\"`localNormal`\" pulumi-lang-dotnet=\"`LocalNormal`\" pulumi-lang-go=\"`localNormal`\" pulumi-lang-python=\"`local_normal`\" pulumi-lang-yaml=\"`localNormal`\" pulumi-lang-java=\"`localNormal`\"\u003e`local_normal`\u003c/span\u003e). The \u003cspan pulumi-lang-nodejs=\"`localSsd`\" pulumi-lang-dotnet=\"`LocalSsd`\" pulumi-lang-go=\"`localSsd`\" pulumi-lang-python=\"`local_ssd`\" pulumi-lang-yaml=\"`localSsd`\" pulumi-lang-java=\"`localSsd`\"\u003e`local_ssd`\u003c/span\u003e is not fully support by all regions as data disk type, please proceed to UCloud console for more details. In addition, the \u003cspan pulumi-lang-nodejs=\"`dataDiskType`\" pulumi-lang-dotnet=\"`DataDiskType`\" pulumi-lang-go=\"`dataDiskType`\" pulumi-lang-python=\"`data_disk_type`\" pulumi-lang-yaml=\"`dataDiskType`\" pulumi-lang-java=\"`dataDiskType`\"\u003e`data_disk_type`\u003c/span\u003e must be same as \u003cspan pulumi-lang-nodejs=\"`bootDiskType`\" pulumi-lang-dotnet=\"`BootDiskType`\" pulumi-lang-go=\"`bootDiskType`\" pulumi-lang-python=\"`boot_disk_type`\" pulumi-lang-yaml=\"`bootDiskType`\" pulumi-lang-java=\"`bootDiskType`\"\u003e`boot_disk_type`\u003c/span\u003e if specified.\n"},"dataDisks":{"$ref":"#/types/ucloud:index%2FInstanceDataDisks:InstanceDataDisks","description":"Additional cloud data disks to attach to the instance. \u003cspan pulumi-lang-nodejs=\"`dataDisks`\" pulumi-lang-dotnet=\"`DataDisks`\" pulumi-lang-go=\"`dataDisks`\" pulumi-lang-python=\"`data_disks`\" pulumi-lang-yaml=\"`dataDisks`\" pulumi-lang-java=\"`dataDisks`\"\u003e`data_disks`\u003c/span\u003e configurations only apply on resource creation. The count of \u003cspan pulumi-lang-nodejs=\"`dataDisks`\" pulumi-lang-dotnet=\"`DataDisks`\" pulumi-lang-go=\"`dataDisks`\" pulumi-lang-python=\"`data_disks`\" pulumi-lang-yaml=\"`dataDisks`\" pulumi-lang-java=\"`dataDisks`\"\u003e`data_disks`\u003c/span\u003e can only be one. See\u003cspan pulumi-lang-nodejs=\" dataDisks \" pulumi-lang-dotnet=\" DataDisks \" pulumi-lang-go=\" dataDisks \" pulumi-lang-python=\" data_disks \" pulumi-lang-yaml=\" dataDisks \" pulumi-lang-java=\" dataDisks \"\u003e data_disks \u003c/span\u003ebelow for details on attributes. When set \u003cspan pulumi-lang-nodejs=\"`dataDisks`\" pulumi-lang-dotnet=\"`DataDisks`\" pulumi-lang-go=\"`dataDisks`\" pulumi-lang-python=\"`data_disks`\" pulumi-lang-yaml=\"`dataDisks`\" pulumi-lang-java=\"`dataDisks`\"\u003e`data_disks`\u003c/span\u003e, the argument \u003cspan pulumi-lang-nodejs=\"`deleteDisksWithInstance`\" pulumi-lang-dotnet=\"`DeleteDisksWithInstance`\" pulumi-lang-go=\"`deleteDisksWithInstance`\" pulumi-lang-python=\"`delete_disks_with_instance`\" pulumi-lang-yaml=\"`deleteDisksWithInstance`\" pulumi-lang-java=\"`deleteDisksWithInstance`\"\u003e`delete_disks_with_instance`\u003c/span\u003e must bet set.\n"},"deleteDisksWithInstance":{"type":"boolean"},"deleteEipsWithInstance":{"type":"boolean"},"duration":{"type":"number","description":"The duration that you will buy the instance (Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e). The value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e when pay by month and the instance will be valid till the last day of that month. It is not required when \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e (pay by hour).\n"},"imageId":{"type":"string","description":"The ID for the image to use for the instance.\n"},"instanceId":{"type":"string","description":"The ID of disk.\n"},"instanceType":{"type":"string","description":"The type of instance, please visit the instance type table\n\n\u003e **Note** If you want to update this value, you must set \u003cspan pulumi-lang-nodejs=\"`allowStoppingForUpdate`\" pulumi-lang-dotnet=\"`AllowStoppingForUpdate`\" pulumi-lang-go=\"`allowStoppingForUpdate`\" pulumi-lang-python=\"`allow_stopping_for_update`\" pulumi-lang-yaml=\"`allowStoppingForUpdate`\" pulumi-lang-java=\"`allowStoppingForUpdate`\"\u003e`allow_stopping_for_update`\u003c/span\u003eto \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n- - -\n"},"isolationGroup":{"type":"string","description":"The ID of the associated isolation group.\n"},"minCpuPlatform":{"type":"string","description":"Specifies a minimum CPU platform for the the VM instance. (Default: `Intel/Auto`). You may refer to [product documentation](https://docs.ucloud.cn/uhost/introduction/uhost/type_new) and [API documentation](https://docs.ucloud.cn/api/uhost-api/create_uhost_instance).\n"},"name":{"type":"string"},"networkInterface":{"$ref":"#/types/ucloud:index%2FInstanceNetworkInterface:InstanceNetworkInterface"},"privateIp":{"type":"string","description":"The private IP address assigned to the instance.\n"},"remark":{"type":"string","description":"The remarks of instance. (Default: `\"\"`).\n"},"rootPassword":{"type":"string","secret":true},"securityGroup":{"type":"string","description":"The ID of the associated security group.\n"},"subnetId":{"type":"string","description":"The ID of subnet. If defined \u003cspan pulumi-lang-nodejs=\"`vpcId`\" pulumi-lang-dotnet=\"`VpcId`\" pulumi-lang-go=\"`vpcId`\" pulumi-lang-python=\"`vpc_id`\" pulumi-lang-yaml=\"`vpcId`\" pulumi-lang-java=\"`vpcId`\"\u003e`vpc_id`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e is Required. If not defined \u003cspan pulumi-lang-nodejs=\"`vpcId`\" pulumi-lang-dotnet=\"`VpcId`\" pulumi-lang-go=\"`vpcId`\" pulumi-lang-python=\"`vpc_id`\" pulumi-lang-yaml=\"`vpcId`\" pulumi-lang-java=\"`vpcId`\"\u003e`vpc_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e, the instance will use the default subnet in the current region.\n"},"tag":{"type":"string","description":"A tag assigned to instance, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"timeouts":{"$ref":"#/types/ucloud:index%2FInstanceTimeouts:InstanceTimeouts"},"userData":{"type":"string","description":"The user data to customize the startup behaviors when launching the instance. You may refer to \u003cspan pulumi-lang-nodejs=\"[userDataDocument]\" pulumi-lang-dotnet=\"[UserDataDocument]\" pulumi-lang-go=\"[userDataDocument]\" pulumi-lang-python=\"[user_data_document]\" pulumi-lang-yaml=\"[userDataDocument]\" pulumi-lang-java=\"[userDataDocument]\"\u003e[user_data_document]\u003c/span\u003e(https://docs.ucloud.cn/uhost/guide/metadata/userdata)\n"},"vpcId":{"type":"string","description":"The ID of VPC linked to the instance. If not defined \u003cspan pulumi-lang-nodejs=\"`vpcId`\" pulumi-lang-dotnet=\"`VpcId`\" pulumi-lang-go=\"`vpcId`\" pulumi-lang-python=\"`vpc_id`\" pulumi-lang-yaml=\"`vpcId`\" pulumi-lang-java=\"`vpcId`\"\u003e`vpc_id`\u003c/span\u003e, the instance will use the default VPC in the current region.\n"}},"requiredInputs":["availabilityZone","imageId","instanceType"],"stateInputs":{"description":"Input properties used for looking up and filtering Instance resources.\n","properties":{"allowStoppingForUpdate":{"type":"boolean"},"autoRenew":{"type":"boolean","description":"Whether to renew an instance automatically or not.\n"},"availabilityZone":{"type":"string","description":"Availability zone where instance is located. such as: `cn-bj2-02`. You may refer to [list of availability zone](https://docs.ucloud.cn/api/summary/regionlist)\n"},"bootDiskSize":{"type":"number","description":"The size of the boot disk, measured in GB (GigaByte). Range: 20-500. The value set of disk size must be larger or equal to \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e(default: \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e) for Linux and \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e (default: \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e) for Windows. The responsive time is a bit longer if the value set is larger than default for local boot disk, and further settings may be required on host instance if the value set is larger than default for cloud boot disk. The disk volume adjustment must be a multiple of 10 GB. In addition, any reduction of boot disk size is not supported.\n\n\u003e **Note** If you want to update this value, you must set \u003cspan pulumi-lang-nodejs=\"`allowStoppingForUpdate`\" pulumi-lang-dotnet=\"`AllowStoppingForUpdate`\" pulumi-lang-go=\"`allowStoppingForUpdate`\" pulumi-lang-python=\"`allow_stopping_for_update`\" pulumi-lang-yaml=\"`allowStoppingForUpdate`\" pulumi-lang-java=\"`allowStoppingForUpdate`\"\u003e`allow_stopping_for_update`\u003c/span\u003eto \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. In addition, when it is changed, you need to [go to the instance for configuration](https://docs.ucloud.cn/compute/uhost/guide/disk).\n"},"bootDiskType":{"type":"string","description":"The type of boot disk. Possible values are: \u003cspan pulumi-lang-nodejs=\"`localNormal`\" pulumi-lang-dotnet=\"`LocalNormal`\" pulumi-lang-go=\"`localNormal`\" pulumi-lang-python=\"`local_normal`\" pulumi-lang-yaml=\"`localNormal`\" pulumi-lang-java=\"`localNormal`\"\u003e`local_normal`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`localSsd`\" pulumi-lang-dotnet=\"`LocalSsd`\" pulumi-lang-go=\"`localSsd`\" pulumi-lang-python=\"`local_ssd`\" pulumi-lang-yaml=\"`localSsd`\" pulumi-lang-java=\"`localSsd`\"\u003e`local_ssd`\u003c/span\u003e for local boot disk, \u003cspan pulumi-lang-nodejs=\"`cloudSsd`\" pulumi-lang-dotnet=\"`CloudSsd`\" pulumi-lang-go=\"`cloudSsd`\" pulumi-lang-python=\"`cloud_ssd`\" pulumi-lang-yaml=\"`cloudSsd`\" pulumi-lang-java=\"`cloudSsd`\"\u003e`cloud_ssd`\u003c/span\u003e for cloud SSD boot disk,\u003cspan pulumi-lang-nodejs=\"`rssdDataDisk`\" pulumi-lang-dotnet=\"`RssdDataDisk`\" pulumi-lang-go=\"`rssdDataDisk`\" pulumi-lang-python=\"`rssd_data_disk`\" pulumi-lang-yaml=\"`rssdDataDisk`\" pulumi-lang-java=\"`rssdDataDisk`\"\u003e`rssd_data_disk`\u003c/span\u003e as RDMA-SSD cloud disk. (Default: \u003cspan pulumi-lang-nodejs=\"`localNormal`\" pulumi-lang-dotnet=\"`LocalNormal`\" pulumi-lang-go=\"`localNormal`\" pulumi-lang-python=\"`local_normal`\" pulumi-lang-yaml=\"`localNormal`\" pulumi-lang-java=\"`localNormal`\"\u003e`local_normal`\u003c/span\u003e). The \u003cspan pulumi-lang-nodejs=\"`localSsd`\" pulumi-lang-dotnet=\"`LocalSsd`\" pulumi-lang-go=\"`localSsd`\" pulumi-lang-python=\"`local_ssd`\" pulumi-lang-yaml=\"`localSsd`\" pulumi-lang-java=\"`localSsd`\"\u003e`local_ssd`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`cloudSsd`\" pulumi-lang-dotnet=\"`CloudSsd`\" pulumi-lang-go=\"`cloudSsd`\" pulumi-lang-python=\"`cloud_ssd`\" pulumi-lang-yaml=\"`cloudSsd`\" pulumi-lang-java=\"`cloudSsd`\"\u003e`cloud_ssd`\u003c/span\u003e are not fully support by all regions as boot disk type, please proceed to UCloud console for more details.\n"},"chargeType":{"type":"string","description":"The charge type of instance, possible values are: \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\"\u003e`year`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e as pay by hour (specific permission required). (Default: \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e).\n"},"cpu":{"type":"number","description":"The number of cores of virtual CPU, measured in core.\n"},"cpuPlatform":{"type":"string"},"createTime":{"type":"string","description":"The time of creation for instance, formatted in RFC3339 time string.\n"},"dataDiskSize":{"type":"number","description":"The size of local data disk, measured in GB (GigaByte), 20-2000 for local sata disk and 20-1000 for local ssd disk (all the GPU type instances are included). The volume adjustment must be a multiple of 10 GB. In addition, any reduction of data disk size is not supported. \n\n\u003e **Note** If you want to update this value, you must set \u003cspan pulumi-lang-nodejs=\"`allowStoppingForUpdate`\" pulumi-lang-dotnet=\"`AllowStoppingForUpdate`\" pulumi-lang-go=\"`allowStoppingForUpdate`\" pulumi-lang-python=\"`allow_stopping_for_update`\" pulumi-lang-yaml=\"`allowStoppingForUpdate`\" pulumi-lang-java=\"`allowStoppingForUpdate`\"\u003e`allow_stopping_for_update`\u003c/span\u003eto \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. In addition, when it is changed, you need to [go to the instance for configuration](https://docs.ucloud.cn/compute/uhost/guide/disk).\n"},"dataDiskType":{"type":"string","description":"The type of local data disk. Possible values are: \u003cspan pulumi-lang-nodejs=\"`localNormal`\" pulumi-lang-dotnet=\"`LocalNormal`\" pulumi-lang-go=\"`localNormal`\" pulumi-lang-python=\"`local_normal`\" pulumi-lang-yaml=\"`localNormal`\" pulumi-lang-java=\"`localNormal`\"\u003e`local_normal`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`localSsd`\" pulumi-lang-dotnet=\"`LocalSsd`\" pulumi-lang-go=\"`localSsd`\" pulumi-lang-python=\"`local_ssd`\" pulumi-lang-yaml=\"`localSsd`\" pulumi-lang-java=\"`localSsd`\"\u003e`local_ssd`\u003c/span\u003e for local data disk. (Default: \u003cspan pulumi-lang-nodejs=\"`localNormal`\" pulumi-lang-dotnet=\"`LocalNormal`\" pulumi-lang-go=\"`localNormal`\" pulumi-lang-python=\"`local_normal`\" pulumi-lang-yaml=\"`localNormal`\" pulumi-lang-java=\"`localNormal`\"\u003e`local_normal`\u003c/span\u003e). The \u003cspan pulumi-lang-nodejs=\"`localSsd`\" pulumi-lang-dotnet=\"`LocalSsd`\" pulumi-lang-go=\"`localSsd`\" pulumi-lang-python=\"`local_ssd`\" pulumi-lang-yaml=\"`localSsd`\" pulumi-lang-java=\"`localSsd`\"\u003e`local_ssd`\u003c/span\u003e is not fully support by all regions as data disk type, please proceed to UCloud console for more details. In addition, the \u003cspan pulumi-lang-nodejs=\"`dataDiskType`\" pulumi-lang-dotnet=\"`DataDiskType`\" pulumi-lang-go=\"`dataDiskType`\" pulumi-lang-python=\"`data_disk_type`\" pulumi-lang-yaml=\"`dataDiskType`\" pulumi-lang-java=\"`dataDiskType`\"\u003e`data_disk_type`\u003c/span\u003e must be same as \u003cspan pulumi-lang-nodejs=\"`bootDiskType`\" pulumi-lang-dotnet=\"`BootDiskType`\" pulumi-lang-go=\"`bootDiskType`\" pulumi-lang-python=\"`boot_disk_type`\" pulumi-lang-yaml=\"`bootDiskType`\" pulumi-lang-java=\"`bootDiskType`\"\u003e`boot_disk_type`\u003c/span\u003e if specified.\n"},"dataDisks":{"$ref":"#/types/ucloud:index%2FInstanceDataDisks:InstanceDataDisks","description":"Additional cloud data disks to attach to the instance. \u003cspan pulumi-lang-nodejs=\"`dataDisks`\" pulumi-lang-dotnet=\"`DataDisks`\" pulumi-lang-go=\"`dataDisks`\" pulumi-lang-python=\"`data_disks`\" pulumi-lang-yaml=\"`dataDisks`\" pulumi-lang-java=\"`dataDisks`\"\u003e`data_disks`\u003c/span\u003e configurations only apply on resource creation. The count of \u003cspan pulumi-lang-nodejs=\"`dataDisks`\" pulumi-lang-dotnet=\"`DataDisks`\" pulumi-lang-go=\"`dataDisks`\" pulumi-lang-python=\"`data_disks`\" pulumi-lang-yaml=\"`dataDisks`\" pulumi-lang-java=\"`dataDisks`\"\u003e`data_disks`\u003c/span\u003e can only be one. See\u003cspan pulumi-lang-nodejs=\" dataDisks \" pulumi-lang-dotnet=\" DataDisks \" pulumi-lang-go=\" dataDisks \" pulumi-lang-python=\" data_disks \" pulumi-lang-yaml=\" dataDisks \" pulumi-lang-java=\" dataDisks \"\u003e data_disks \u003c/span\u003ebelow for details on attributes. When set \u003cspan pulumi-lang-nodejs=\"`dataDisks`\" pulumi-lang-dotnet=\"`DataDisks`\" pulumi-lang-go=\"`dataDisks`\" pulumi-lang-python=\"`data_disks`\" pulumi-lang-yaml=\"`dataDisks`\" pulumi-lang-java=\"`dataDisks`\"\u003e`data_disks`\u003c/span\u003e, the argument \u003cspan pulumi-lang-nodejs=\"`deleteDisksWithInstance`\" pulumi-lang-dotnet=\"`DeleteDisksWithInstance`\" pulumi-lang-go=\"`deleteDisksWithInstance`\" pulumi-lang-python=\"`delete_disks_with_instance`\" pulumi-lang-yaml=\"`deleteDisksWithInstance`\" pulumi-lang-java=\"`deleteDisksWithInstance`\"\u003e`delete_disks_with_instance`\u003c/span\u003e must bet set.\n"},"deleteDisksWithInstance":{"type":"boolean"},"deleteEipsWithInstance":{"type":"boolean"},"diskSets":{"type":"array","items":{"$ref":"#/types/ucloud:index%2FInstanceDiskSet:InstanceDiskSet"},"description":"It is a nested type which documented below.\n"},"duration":{"type":"number","description":"The duration that you will buy the instance (Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e). The value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e when pay by month and the instance will be valid till the last day of that month. It is not required when \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e (pay by hour).\n"},"expireTime":{"type":"string","description":"The expiration time for instance, formatted in RFC3339 time string.\n"},"imageId":{"type":"string","description":"The ID for the image to use for the instance.\n"},"instanceId":{"type":"string","description":"The ID of disk.\n"},"instanceType":{"type":"string","description":"The type of instance, please visit the instance type table\n\n\u003e **Note** If you want to update this value, you must set \u003cspan pulumi-lang-nodejs=\"`allowStoppingForUpdate`\" pulumi-lang-dotnet=\"`AllowStoppingForUpdate`\" pulumi-lang-go=\"`allowStoppingForUpdate`\" pulumi-lang-python=\"`allow_stopping_for_update`\" pulumi-lang-yaml=\"`allowStoppingForUpdate`\" pulumi-lang-java=\"`allowStoppingForUpdate`\"\u003e`allow_stopping_for_update`\u003c/span\u003eto \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n\n- - -\n"},"ipSets":{"type":"array","items":{"$ref":"#/types/ucloud:index%2FInstanceIpSet:InstanceIpSet"},"description":"It is a nested type which documented below.\n"},"isolationGroup":{"type":"string","description":"The ID of the associated isolation group.\n"},"memory":{"type":"number","description":"The size of memory, measured in GB(Gigabyte).\n"},"minCpuPlatform":{"type":"string","description":"Specifies a minimum CPU platform for the the VM instance. (Default: `Intel/Auto`). You may refer to [product documentation](https://docs.ucloud.cn/uhost/introduction/uhost/type_new) and [API documentation](https://docs.ucloud.cn/api/uhost-api/create_uhost_instance).\n"},"name":{"type":"string"},"networkInterface":{"$ref":"#/types/ucloud:index%2FInstanceNetworkInterface:InstanceNetworkInterface"},"privateIp":{"type":"string","description":"The private IP address assigned to the instance.\n"},"rdmaClusterId":{"type":"string","description":"The RDMA Cluster ID of instance. This is only available when machine type is `O`.\n"},"remark":{"type":"string","description":"The remarks of instance. (Default: `\"\"`).\n"},"rootPassword":{"type":"string","secret":true},"securityGroup":{"type":"string","description":"The ID of the associated security group.\n"},"status":{"type":"string","description":"Instance current status. Possible values are `Initializing`, `Starting`, `Running`, `Stopping`, `Stopped`, `Install Fail`, `ResizeFail` and `Rebooting`.\n"},"subnetId":{"type":"string","description":"The ID of subnet. If defined \u003cspan pulumi-lang-nodejs=\"`vpcId`\" pulumi-lang-dotnet=\"`VpcId`\" pulumi-lang-go=\"`vpcId`\" pulumi-lang-python=\"`vpc_id`\" pulumi-lang-yaml=\"`vpcId`\" pulumi-lang-java=\"`vpcId`\"\u003e`vpc_id`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e is Required. If not defined \u003cspan pulumi-lang-nodejs=\"`vpcId`\" pulumi-lang-dotnet=\"`VpcId`\" pulumi-lang-go=\"`vpcId`\" pulumi-lang-python=\"`vpc_id`\" pulumi-lang-yaml=\"`vpcId`\" pulumi-lang-java=\"`vpcId`\"\u003e`vpc_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e, the instance will use the default subnet in the current region.\n"},"tag":{"type":"string","description":"A tag assigned to instance, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"timeouts":{"$ref":"#/types/ucloud:index%2FInstanceTimeouts:InstanceTimeouts"},"userData":{"type":"string","description":"The user data to customize the startup behaviors when launching the instance. You may refer to \u003cspan pulumi-lang-nodejs=\"[userDataDocument]\" pulumi-lang-dotnet=\"[UserDataDocument]\" pulumi-lang-go=\"[userDataDocument]\" pulumi-lang-python=\"[user_data_document]\" pulumi-lang-yaml=\"[userDataDocument]\" pulumi-lang-java=\"[userDataDocument]\"\u003e[user_data_document]\u003c/span\u003e(https://docs.ucloud.cn/uhost/guide/metadata/userdata)\n"},"vpcId":{"type":"string","description":"The ID of VPC linked to the instance. If not defined \u003cspan pulumi-lang-nodejs=\"`vpcId`\" pulumi-lang-dotnet=\"`VpcId`\" pulumi-lang-go=\"`vpcId`\" pulumi-lang-python=\"`vpc_id`\" pulumi-lang-yaml=\"`vpcId`\" pulumi-lang-java=\"`vpcId`\"\u003e`vpc_id`\u003c/span\u003e, the instance will use the default VPC in the current region.\n"}},"type":"object"}},"ucloud:index/instanceState:InstanceState":{"description":"Provides an UHost Instance State resource. This allows managing an instance power state.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst config = new pulumi.Config();\nconst availabilityZone = config.get(\"availabilityZone\") || \"cn-bj2-05\";\nconst _default = ucloud.getImages({\n    availabilityZone: availabilityZone,\n    nameRegex: \"^CentOS 7.[1-2] 64\",\n    imageType: \"base\",\n});\nconst foo = new ucloud.Instance(\"foo\", {\n    availabilityZone: availabilityZone,\n    imageId: _default.then(_default =\u003e _default.images?.[0]?.id),\n    instanceType: \"n-highcpu-1\",\n    rootPassword: \"wA1234567\",\n    chargeType: \"month\",\n    duration: 0,\n    name: \"tf-acc-instance-config-basic\",\n    tag: \"tf-acc\",\n});\nconst fooInstanceState = new ucloud.InstanceState(\"foo\", {\n    instanceId: foo.instanceId,\n    force: true,\n    state: \"Stopped\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nconfig = pulumi.Config()\navailability_zone = config.get(\"availabilityZone\")\nif availability_zone is None:\n    availability_zone = \"cn-bj2-05\"\ndefault = ucloud.get_images(availability_zone=availability_zone,\n    name_regex=\"^CentOS 7.[1-2] 64\",\n    image_type=\"base\")\nfoo = ucloud.Instance(\"foo\",\n    availability_zone=availability_zone,\n    image_id=default.images[0].id,\n    instance_type=\"n-highcpu-1\",\n    root_password=\"wA1234567\",\n    charge_type=\"month\",\n    duration=0,\n    name=\"tf-acc-instance-config-basic\",\n    tag=\"tf-acc\")\nfoo_instance_state = ucloud.InstanceState(\"foo\",\n    instance_id=foo.instance_id,\n    force=True,\n    state=\"Stopped\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var availabilityZone = config.Get(\"availabilityZone\") ?? \"cn-bj2-05\";\n    var @default = Ucloud.GetImages.Invoke(new()\n    {\n        AvailabilityZone = availabilityZone,\n        NameRegex = \"^CentOS 7.[1-2] 64\",\n        ImageType = \"base\",\n    });\n\n    var foo = new Ucloud.Instance(\"foo\", new()\n    {\n        AvailabilityZone = availabilityZone,\n        ImageId = @default.Apply(@default =\u003e @default.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id)),\n        InstanceType = \"n-highcpu-1\",\n        RootPassword = \"wA1234567\",\n        ChargeType = \"month\",\n        Duration = 0,\n        Name = \"tf-acc-instance-config-basic\",\n        Tag = \"tf-acc\",\n    });\n\n    var fooInstanceState = new Ucloud.InstanceState(\"foo\", new()\n    {\n        InstanceId = foo.InstanceId,\n        Force = true,\n        State = \"Stopped\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tavailabilityZone := \"cn-bj2-05\"\n\t\tif param := cfg.Get(\"availabilityZone\"); param != \"\" {\n\t\t\tavailabilityZone = param\n\t\t}\n\t\t_default, err := ucloud.GetImages(ctx, \u0026ucloud.GetImagesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(availabilityZone),\n\t\t\tNameRegex:        pulumi.StringRef(\"^CentOS 7.[1-2] 64\"),\n\t\t\tImageType:        pulumi.StringRef(\"base\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := ucloud.NewInstance(ctx, \"foo\", \u0026ucloud.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\tImageId:          pulumi.String(_default.Images[0].Id),\n\t\t\tInstanceType:     pulumi.String(\"n-highcpu-1\"),\n\t\t\tRootPassword:     pulumi.String(\"wA1234567\"),\n\t\t\tChargeType:       pulumi.String(\"month\"),\n\t\t\tDuration:         pulumi.Float64(0),\n\t\t\tName:             pulumi.String(\"tf-acc-instance-config-basic\"),\n\t\t\tTag:              pulumi.String(\"tf-acc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ucloud.NewInstanceState(ctx, \"foo\", \u0026ucloud.InstanceStateArgs{\n\t\t\tInstanceId: foo.InstanceId,\n\t\t\tForce:      pulumi.Bool(true),\n\t\t\tState:      pulumi.String(\"Stopped\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetImagesArgs;\nimport com.pulumi.ucloud.Instance;\nimport com.pulumi.ucloud.InstanceArgs;\nimport com.pulumi.ucloud.InstanceState;\nimport com.pulumi.ucloud.InstanceStateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var availabilityZone = config.get(\"availabilityZone\").orElse(\"cn-bj2-05\");\n        final var default = UcloudFunctions.getImages(GetImagesArgs.builder()\n            .availabilityZone(availabilityZone)\n            .nameRegex(\"^CentOS 7.[1-2] 64\")\n            .imageType(\"base\")\n            .build());\n\n        var foo = new Instance(\"foo\", InstanceArgs.builder()\n            .availabilityZone(availabilityZone)\n            .imageId(default_.images()[0].id())\n            .instanceType(\"n-highcpu-1\")\n            .rootPassword(\"wA1234567\")\n            .chargeType(\"month\")\n            .duration(0.0)\n            .name(\"tf-acc-instance-config-basic\")\n            .tag(\"tf-acc\")\n            .build());\n\n        var fooInstanceState = new InstanceState(\"fooInstanceState\", InstanceStateArgs.builder()\n            .instanceId(foo.instanceId())\n            .force(true)\n            .state(\"Stopped\")\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  availabilityZone:\n    type: string\n    default: cn-bj2-05\nresources:\n  foo:\n    type: ucloud:Instance\n    properties:\n      availabilityZone: ${availabilityZone}\n      imageId: ${default.images[0].id}\n      instanceType: n-highcpu-1\n      rootPassword: wA1234567\n      chargeType: month\n      duration: 0\n      name: tf-acc-instance-config-basic\n      tag: tf-acc\n  fooInstanceState:\n    type: ucloud:InstanceState\n    name: foo\n    properties:\n      instanceId: ${foo.instanceId}\n      force: true\n      state: Stopped\nvariables:\n  default:\n    fn::invoke:\n      function: ucloud:getImages\n      arguments:\n        availabilityZone: ${availabilityZone}\n        nameRegex: ^CentOS 7.[1-2] 64\n        imageType: base\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import `ucloud_instance_state` using the `instance_id` attribute. For example:\n\n```sh\n$ pulumi import ucloud:index/instanceState:InstanceState test uhost-xyz\n```\n","properties":{"force":{"type":"boolean","description":"Whether to request a forced stop when \u003cspan pulumi-lang-nodejs=\"`state`\" pulumi-lang-dotnet=\"`State`\" pulumi-lang-go=\"`state`\" pulumi-lang-python=\"`state`\" pulumi-lang-yaml=\"`state`\" pulumi-lang-java=\"`state`\"\u003e`state`\u003c/span\u003e is `Stopped`. Otherwise (_i.e._, `State` is `Running`), ignored. When an instance is forced to stop, it does not flush system caches and buffer. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"instanceId":{"type":"string","description":"ID of the instance.\n"},"instanceStateId":{"type":"string","description":"ID of the instance (matches \u003cspan pulumi-lang-nodejs=\"`instanceId`\" pulumi-lang-dotnet=\"`InstanceId`\" pulumi-lang-go=\"`instanceId`\" pulumi-lang-python=\"`instance_id`\" pulumi-lang-yaml=\"`instanceId`\" pulumi-lang-java=\"`instanceId`\"\u003e`instance_id`\u003c/span\u003e).\n"},"state":{"type":"string","description":"State of the instance. Valid values are `Stopped`, `Running`.\n\nThe following arguments are optional:\n"}},"type":"object","required":["instanceId","instanceStateId","state"],"inputProperties":{"force":{"type":"boolean","description":"Whether to request a forced stop when \u003cspan pulumi-lang-nodejs=\"`state`\" pulumi-lang-dotnet=\"`State`\" pulumi-lang-go=\"`state`\" pulumi-lang-python=\"`state`\" pulumi-lang-yaml=\"`state`\" pulumi-lang-java=\"`state`\"\u003e`state`\u003c/span\u003e is `Stopped`. Otherwise (_i.e._, `State` is `Running`), ignored. When an instance is forced to stop, it does not flush system caches and buffer. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"instanceId":{"type":"string","description":"ID of the instance.\n"},"instanceStateId":{"type":"string","description":"ID of the instance (matches \u003cspan pulumi-lang-nodejs=\"`instanceId`\" pulumi-lang-dotnet=\"`InstanceId`\" pulumi-lang-go=\"`instanceId`\" pulumi-lang-python=\"`instance_id`\" pulumi-lang-yaml=\"`instanceId`\" pulumi-lang-java=\"`instanceId`\"\u003e`instance_id`\u003c/span\u003e).\n"},"state":{"type":"string","description":"State of the instance. Valid values are `Stopped`, `Running`.\n\nThe following arguments are optional:\n"}},"requiredInputs":["instanceId","state"],"stateInputs":{"description":"Input properties used for looking up and filtering InstanceState resources.\n","properties":{"force":{"type":"boolean","description":"Whether to request a forced stop when \u003cspan pulumi-lang-nodejs=\"`state`\" pulumi-lang-dotnet=\"`State`\" pulumi-lang-go=\"`state`\" pulumi-lang-python=\"`state`\" pulumi-lang-yaml=\"`state`\" pulumi-lang-java=\"`state`\"\u003e`state`\u003c/span\u003e is `Stopped`. Otherwise (_i.e._, `State` is `Running`), ignored. When an instance is forced to stop, it does not flush system caches and buffer. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"instanceId":{"type":"string","description":"ID of the instance.\n"},"instanceStateId":{"type":"string","description":"ID of the instance (matches \u003cspan pulumi-lang-nodejs=\"`instanceId`\" pulumi-lang-dotnet=\"`InstanceId`\" pulumi-lang-go=\"`instanceId`\" pulumi-lang-python=\"`instance_id`\" pulumi-lang-yaml=\"`instanceId`\" pulumi-lang-java=\"`instanceId`\"\u003e`instance_id`\u003c/span\u003e).\n"},"state":{"type":"string","description":"State of the instance. Valid values are `Stopped`, `Running`.\n\nThe following arguments are optional:\n"}},"type":"object"}},"ucloud:index/isolationGroup:IsolationGroup":{"description":"Provides an Isolation Group resource. The Isolation Group is a logical group of UHost instance, which ensure that each UHost instance within a group is on a different physical machine. Up to seven UHost instance can be added per isolation group in a single availability_zone.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst foo = new ucloud.IsolationGroup(\"foo\", {\n    name: \"tf-acc-isolation-group\",\n    remark: \"test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nfoo = ucloud.IsolationGroup(\"foo\",\n    name=\"tf-acc-isolation-group\",\n    remark=\"test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = new Ucloud.IsolationGroup(\"foo\", new()\n    {\n        Name = \"tf-acc-isolation-group\",\n        Remark = \"test\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ucloud.NewIsolationGroup(ctx, \"foo\", \u0026ucloud.IsolationGroupArgs{\n\t\t\tName:   pulumi.String(\"tf-acc-isolation-group\"),\n\t\t\tRemark: pulumi.String(\"test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.IsolationGroup;\nimport com.pulumi.ucloud.IsolationGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var foo = new IsolationGroup(\"foo\", IsolationGroupArgs.builder()\n            .name(\"tf-acc-isolation-group\")\n            .remark(\"test\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  foo:\n    type: ucloud:IsolationGroup\n    properties:\n      name: tf-acc-isolation-group\n      remark: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIsolation Group can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import ucloud:index/isolationGroup:IsolationGroup example ig-abc123456\n```\n","properties":{"isolationGroupId":{"type":"string","description":"The ID of the resource isolation group.\n"},"name":{"type":"string"},"remark":{"type":"string","description":"The remarks of the isolation group. (Default: `\"\"`).\n"}},"type":"object","required":["isolationGroupId","name","remark"],"inputProperties":{"isolationGroupId":{"type":"string","description":"The ID of the resource isolation group.\n"},"name":{"type":"string"},"remark":{"type":"string","description":"The remarks of the isolation group. (Default: `\"\"`).\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering IsolationGroup resources.\n","properties":{"isolationGroupId":{"type":"string","description":"The ID of the resource isolation group.\n"},"name":{"type":"string"},"remark":{"type":"string","description":"The remarks of the isolation group. (Default: `\"\"`).\n"}},"type":"object"}},"ucloud:index/label:Label":{"description":"Provides a label resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst foo = new ucloud.Label(\"foo\", {\n    key: \"tf-acc-label-key\",\n    value: \"tf-acc-label-value\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nfoo = ucloud.Label(\"foo\",\n    key=\"tf-acc-label-key\",\n    value=\"tf-acc-label-value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = new Ucloud.Label(\"foo\", new()\n    {\n        Key = \"tf-acc-label-key\",\n        Value = \"tf-acc-label-value\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ucloud.NewLabel(ctx, \"foo\", \u0026ucloud.LabelArgs{\n\t\t\tKey:   pulumi.String(\"tf-acc-label-key\"),\n\t\t\tValue: pulumi.String(\"tf-acc-label-value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.Label;\nimport com.pulumi.ucloud.LabelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var foo = new Label(\"foo\", LabelArgs.builder()\n            .key(\"tf-acc-label-key\")\n            .value(\"tf-acc-label-value\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  foo:\n    type: ucloud:Label\n    properties:\n      key: tf-acc-label-key\n      value: tf-acc-label-value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"key":{"type":"string","description":"key of the label.\n"},"labelId":{"type":"string"},"value":{"type":"string","description":"value of the label\n"}},"type":"object","required":["key","labelId","value"],"inputProperties":{"key":{"type":"string","description":"key of the label.\n"},"labelId":{"type":"string"},"value":{"type":"string","description":"value of the label\n"}},"requiredInputs":["key","value"],"stateInputs":{"description":"Input properties used for looking up and filtering Label resources.\n","properties":{"key":{"type":"string","description":"key of the label.\n"},"labelId":{"type":"string"},"value":{"type":"string","description":"value of the label\n"}},"type":"object"}},"ucloud:index/labelAttachment:LabelAttachment":{"description":"Provides a label attachment resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst foo = new ucloud.Vpc(\"foo\", {\n    name: \"tf-acc-vip\",\n    tag: \"tf-acc\",\n    cidrBlocks: [\"192.168.0.0/16\"],\n});\nconst fooSubnet = new ucloud.Subnet(\"foo\", {\n    name: \"tf-acc-vip\",\n    tag: \"tf-acc\",\n    cidrBlock: \"192.168.1.0/24\",\n    vpcId: foo.vpcId,\n});\nconst fooVip = new ucloud.Vip(\"foo\", {\n    vpcId: foo.vpcId,\n    subnetId: fooSubnet.subnetId,\n    name: \"tf-acc-vip-basic-update\",\n    remark: \"test-update\",\n    tag: \"tf-acc\",\n});\nconst fooLabel = new ucloud.Label(\"foo\", {\n    key: \"tf-acc-label-key\",\n    value: \"tf-acc-label-value\",\n});\nconst fooLabelAttachment = new ucloud.LabelAttachment(\"foo\", {\n    key: fooLabel.key,\n    value: fooLabel.value,\n    resource: fooVip.vipId,\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nfoo = ucloud.Vpc(\"foo\",\n    name=\"tf-acc-vip\",\n    tag=\"tf-acc\",\n    cidr_blocks=[\"192.168.0.0/16\"])\nfoo_subnet = ucloud.Subnet(\"foo\",\n    name=\"tf-acc-vip\",\n    tag=\"tf-acc\",\n    cidr_block=\"192.168.1.0/24\",\n    vpc_id=foo.vpc_id)\nfoo_vip = ucloud.Vip(\"foo\",\n    vpc_id=foo.vpc_id,\n    subnet_id=foo_subnet.subnet_id,\n    name=\"tf-acc-vip-basic-update\",\n    remark=\"test-update\",\n    tag=\"tf-acc\")\nfoo_label = ucloud.Label(\"foo\",\n    key=\"tf-acc-label-key\",\n    value=\"tf-acc-label-value\")\nfoo_label_attachment = ucloud.LabelAttachment(\"foo\",\n    key=foo_label.key,\n    value=foo_label.value,\n    resource=foo_vip.vip_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = new Ucloud.Vpc(\"foo\", new()\n    {\n        Name = \"tf-acc-vip\",\n        Tag = \"tf-acc\",\n        CidrBlocks = new[]\n        {\n            \"192.168.0.0/16\",\n        },\n    });\n\n    var fooSubnet = new Ucloud.Subnet(\"foo\", new()\n    {\n        Name = \"tf-acc-vip\",\n        Tag = \"tf-acc\",\n        CidrBlock = \"192.168.1.0/24\",\n        VpcId = foo.VpcId,\n    });\n\n    var fooVip = new Ucloud.Vip(\"foo\", new()\n    {\n        VpcId = foo.VpcId,\n        SubnetId = fooSubnet.SubnetId,\n        Name = \"tf-acc-vip-basic-update\",\n        Remark = \"test-update\",\n        Tag = \"tf-acc\",\n    });\n\n    var fooLabel = new Ucloud.Label(\"foo\", new()\n    {\n        Key = \"tf-acc-label-key\",\n        Value = \"tf-acc-label-value\",\n    });\n\n    var fooLabelAttachment = new Ucloud.LabelAttachment(\"foo\", new()\n    {\n        Key = fooLabel.Key,\n        Value = fooLabel.Value,\n        Resource = fooVip.VipId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ucloud.NewVpc(ctx, \"foo\", \u0026ucloud.VpcArgs{\n\t\t\tName: pulumi.String(\"tf-acc-vip\"),\n\t\t\tTag:  pulumi.String(\"tf-acc\"),\n\t\t\tCidrBlocks: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooSubnet, err := ucloud.NewSubnet(ctx, \"foo\", \u0026ucloud.SubnetArgs{\n\t\t\tName:      pulumi.String(\"tf-acc-vip\"),\n\t\t\tTag:       pulumi.String(\"tf-acc\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t\tVpcId:     foo.VpcId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooVip, err := ucloud.NewVip(ctx, \"foo\", \u0026ucloud.VipArgs{\n\t\t\tVpcId:    foo.VpcId,\n\t\t\tSubnetId: fooSubnet.SubnetId,\n\t\t\tName:     pulumi.String(\"tf-acc-vip-basic-update\"),\n\t\t\tRemark:   pulumi.String(\"test-update\"),\n\t\t\tTag:      pulumi.String(\"tf-acc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooLabel, err := ucloud.NewLabel(ctx, \"foo\", \u0026ucloud.LabelArgs{\n\t\t\tKey:   pulumi.String(\"tf-acc-label-key\"),\n\t\t\tValue: pulumi.String(\"tf-acc-label-value\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ucloud.NewLabelAttachment(ctx, \"foo\", \u0026ucloud.LabelAttachmentArgs{\n\t\t\tKey:      fooLabel.Key,\n\t\t\tValue:    fooLabel.Value,\n\t\t\tResource: fooVip.VipId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.Vpc;\nimport com.pulumi.ucloud.VpcArgs;\nimport com.pulumi.ucloud.Subnet;\nimport com.pulumi.ucloud.SubnetArgs;\nimport com.pulumi.ucloud.Vip;\nimport com.pulumi.ucloud.VipArgs;\nimport com.pulumi.ucloud.Label;\nimport com.pulumi.ucloud.LabelArgs;\nimport com.pulumi.ucloud.LabelAttachment;\nimport com.pulumi.ucloud.LabelAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var foo = new Vpc(\"foo\", VpcArgs.builder()\n            .name(\"tf-acc-vip\")\n            .tag(\"tf-acc\")\n            .cidrBlocks(\"192.168.0.0/16\")\n            .build());\n\n        var fooSubnet = new Subnet(\"fooSubnet\", SubnetArgs.builder()\n            .name(\"tf-acc-vip\")\n            .tag(\"tf-acc\")\n            .cidrBlock(\"192.168.1.0/24\")\n            .vpcId(foo.vpcId())\n            .build());\n\n        var fooVip = new Vip(\"fooVip\", VipArgs.builder()\n            .vpcId(foo.vpcId())\n            .subnetId(fooSubnet.subnetId())\n            .name(\"tf-acc-vip-basic-update\")\n            .remark(\"test-update\")\n            .tag(\"tf-acc\")\n            .build());\n\n        var fooLabel = new Label(\"fooLabel\", LabelArgs.builder()\n            .key(\"tf-acc-label-key\")\n            .value(\"tf-acc-label-value\")\n            .build());\n\n        var fooLabelAttachment = new LabelAttachment(\"fooLabelAttachment\", LabelAttachmentArgs.builder()\n            .key(fooLabel.key())\n            .value(fooLabel.value())\n            .resource(fooVip.vipId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  foo:\n    type: ucloud:Vpc\n    properties:\n      name: tf-acc-vip\n      tag: tf-acc\n      cidrBlocks:\n        - 192.168.0.0/16\n  fooSubnet:\n    type: ucloud:Subnet\n    name: foo\n    properties:\n      name: tf-acc-vip\n      tag: tf-acc\n      cidrBlock: 192.168.1.0/24\n      vpcId: ${foo.vpcId}\n  fooVip:\n    type: ucloud:Vip\n    name: foo\n    properties:\n      vpcId: ${foo.vpcId}\n      subnetId: ${fooSubnet.subnetId}\n      name: tf-acc-vip-basic-update\n      remark: test-update\n      tag: tf-acc\n  fooLabel:\n    type: ucloud:Label\n    name: foo\n    properties:\n      key: tf-acc-label-key\n      value: tf-acc-label-value\n  fooLabelAttachment:\n    type: ucloud:LabelAttachment\n    name: foo\n    properties:\n      key: ${fooLabel.key}\n      value: ${fooLabel.value}\n      resource: ${fooVip.vipId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"key":{"type":"string","description":"key of the label.\n"},"labelAttachmentId":{"type":"string"},"resource":{"type":"string","description":"id of the attached resource, for example vip-xxx.\n"},"value":{"type":"string","description":"value of the label\n"}},"type":"object","required":["key","labelAttachmentId","resource","value"],"inputProperties":{"key":{"type":"string","description":"key of the label.\n"},"labelAttachmentId":{"type":"string"},"resource":{"type":"string","description":"id of the attached resource, for example vip-xxx.\n"},"value":{"type":"string","description":"value of the label\n"}},"requiredInputs":["key","resource","value"],"stateInputs":{"description":"Input properties used for looking up and filtering LabelAttachment resources.\n","properties":{"key":{"type":"string","description":"key of the label.\n"},"labelAttachmentId":{"type":"string"},"resource":{"type":"string","description":"id of the attached resource, for example vip-xxx.\n"},"value":{"type":"string","description":"value of the label\n"}},"type":"object"}},"ucloud:index/lb:Lb":{"description":"Provides a Load Balancer resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst web = new ucloud.Lb(\"web\", {\n    name: \"tf-example-lb\",\n    tag: \"tf-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nweb = ucloud.Lb(\"web\",\n    name=\"tf-example-lb\",\n    tag=\"tf-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var web = new Ucloud.Lb(\"web\", new()\n    {\n        Name = \"tf-example-lb\",\n        Tag = \"tf-example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ucloud.NewLb(ctx, \"web\", \u0026ucloud.LbArgs{\n\t\t\tName: pulumi.String(\"tf-example-lb\"),\n\t\t\tTag:  pulumi.String(\"tf-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.Lb;\nimport com.pulumi.ucloud.LbArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var web = new Lb(\"web\", LbArgs.builder()\n            .name(\"tf-example-lb\")\n            .tag(\"tf-example\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  web:\n    type: ucloud:Lb\n    properties:\n      name: tf-example-lb\n      tag: tf-example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLB can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import ucloud:index/lb:Lb example ulb-abc123456\n```\n","properties":{"chargeType":{"type":"string","description":", argument \u003cspan pulumi-lang-nodejs=\"`chargeType`\" pulumi-lang-dotnet=\"`ChargeType`\" pulumi-lang-go=\"`chargeType`\" pulumi-lang-python=\"`charge_type`\" pulumi-lang-yaml=\"`chargeType`\" pulumi-lang-java=\"`chargeType`\"\u003e`charge_type`\u003c/span\u003e is deprecated for optimizing parameters.\n"},"createTime":{"type":"string","description":"The time of creation for load balancer, formatted in RFC3339 time string.\n"},"expireTime":{"type":"string","description":"**Deprecated** attribute \u003cspan pulumi-lang-nodejs=\"`expireTime`\" pulumi-lang-dotnet=\"`ExpireTime`\" pulumi-lang-go=\"`expireTime`\" pulumi-lang-python=\"`expire_time`\" pulumi-lang-yaml=\"`expireTime`\" pulumi-lang-java=\"`expireTime`\"\u003e`expire_time`\u003c/span\u003e is deprecated for optimizing outputs.\n"},"internal":{"type":"boolean","description":"Indicate whether the load balancer is intranet mode. (Default: `\"false\"`)\n"},"ipSets":{"type":"array","items":{"$ref":"#/types/ucloud:index%2FLbIpSet:LbIpSet"},"description":"It is a nested type which documented below.\n"},"lbId":{"type":"string","description":"The ID of the resource load balancer.\n"},"listenType":{"type":"string","description":"The type of listener. Possible values are \u003cspan pulumi-lang-nodejs=\"`requestProxy`\" pulumi-lang-dotnet=\"`RequestProxy`\" pulumi-lang-go=\"`requestProxy`\" pulumi-lang-python=\"`request_proxy`\" pulumi-lang-yaml=\"`requestProxy`\" pulumi-lang-java=\"`requestProxy`\"\u003e`request_proxy`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`packetsTransmit`\" pulumi-lang-dotnet=\"`PacketsTransmit`\" pulumi-lang-go=\"`packetsTransmit`\" pulumi-lang-python=\"`packets_transmit`\" pulumi-lang-yaml=\"`packetsTransmit`\" pulumi-lang-java=\"`packetsTransmit`\"\u003e`packets_transmit`\u003c/span\u003e. When \u003cspan pulumi-lang-nodejs=\"`packetsTransmit`\" pulumi-lang-dotnet=\"`PacketsTransmit`\" pulumi-lang-go=\"`packetsTransmit`\" pulumi-lang-python=\"`packets_transmit`\" pulumi-lang-yaml=\"`packetsTransmit`\" pulumi-lang-java=\"`packetsTransmit`\"\u003e`packets_transmit`\u003c/span\u003e was specified, you need to config the instances by yourself if the instances attach to the load balancer. You may refer to [configuration instruction](https://docs.ucloud.cn/network/ulb/fast/createulb/vservertype).\n"},"name":{"type":"string"},"privateIp":{"type":"string","description":"The IP address of intranet IP. It is `\"\"` if \u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\"\u003e`internal`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"remark":{"type":"string","description":"The remarks of the load balancer. (Default: `\"\"`).\n"},"securityGroup":{"type":"string","description":"The ID of the associated security group. The\u003cspan pulumi-lang-nodejs=\" securityGroup \" pulumi-lang-dotnet=\" SecurityGroup \" pulumi-lang-go=\" securityGroup \" pulumi-lang-python=\" security_group \" pulumi-lang-yaml=\" securityGroup \" pulumi-lang-java=\" securityGroup \"\u003e security_group \u003c/span\u003eonly takes effect for ULB instances of\u003cspan pulumi-lang-nodejs=\" requestProxy \" pulumi-lang-dotnet=\" RequestProxy \" pulumi-lang-go=\" requestProxy \" pulumi-lang-python=\" request_proxy \" pulumi-lang-yaml=\" requestProxy \" pulumi-lang-java=\" requestProxy \"\u003e request_proxy \u003c/span\u003emode and extranet mode at present.\n"},"subnetId":{"type":"string","description":"The ID of subnet that intranet load balancer belongs to. This argument is not required if default subnet.\n"},"tag":{"type":"string","description":"A tag assigned to load balancer, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"vpcId":{"type":"string","description":"The ID of the VPC linked to the Load balancer, This argument is not required if default VPC.\n"}},"type":"object","required":["createTime","expireTime","internal","ipSets","lbId","listenType","name","privateIp","remark","securityGroup","subnetId","vpcId"],"inputProperties":{"chargeType":{"type":"string","description":", argument \u003cspan pulumi-lang-nodejs=\"`chargeType`\" pulumi-lang-dotnet=\"`ChargeType`\" pulumi-lang-go=\"`chargeType`\" pulumi-lang-python=\"`charge_type`\" pulumi-lang-yaml=\"`chargeType`\" pulumi-lang-java=\"`chargeType`\"\u003e`charge_type`\u003c/span\u003e is deprecated for optimizing parameters.\n"},"internal":{"type":"boolean","description":"Indicate whether the load balancer is intranet mode. (Default: `\"false\"`)\n"},"lbId":{"type":"string","description":"The ID of the resource load balancer.\n"},"listenType":{"type":"string","description":"The type of listener. Possible values are \u003cspan pulumi-lang-nodejs=\"`requestProxy`\" pulumi-lang-dotnet=\"`RequestProxy`\" pulumi-lang-go=\"`requestProxy`\" pulumi-lang-python=\"`request_proxy`\" pulumi-lang-yaml=\"`requestProxy`\" pulumi-lang-java=\"`requestProxy`\"\u003e`request_proxy`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`packetsTransmit`\" pulumi-lang-dotnet=\"`PacketsTransmit`\" pulumi-lang-go=\"`packetsTransmit`\" pulumi-lang-python=\"`packets_transmit`\" pulumi-lang-yaml=\"`packetsTransmit`\" pulumi-lang-java=\"`packetsTransmit`\"\u003e`packets_transmit`\u003c/span\u003e. When \u003cspan pulumi-lang-nodejs=\"`packetsTransmit`\" pulumi-lang-dotnet=\"`PacketsTransmit`\" pulumi-lang-go=\"`packetsTransmit`\" pulumi-lang-python=\"`packets_transmit`\" pulumi-lang-yaml=\"`packetsTransmit`\" pulumi-lang-java=\"`packetsTransmit`\"\u003e`packets_transmit`\u003c/span\u003e was specified, you need to config the instances by yourself if the instances attach to the load balancer. You may refer to [configuration instruction](https://docs.ucloud.cn/network/ulb/fast/createulb/vservertype).\n"},"name":{"type":"string"},"remark":{"type":"string","description":"The remarks of the load balancer. (Default: `\"\"`).\n"},"securityGroup":{"type":"string","description":"The ID of the associated security group. The\u003cspan pulumi-lang-nodejs=\" securityGroup \" pulumi-lang-dotnet=\" SecurityGroup \" pulumi-lang-go=\" securityGroup \" pulumi-lang-python=\" security_group \" pulumi-lang-yaml=\" securityGroup \" pulumi-lang-java=\" securityGroup \"\u003e security_group \u003c/span\u003eonly takes effect for ULB instances of\u003cspan pulumi-lang-nodejs=\" requestProxy \" pulumi-lang-dotnet=\" RequestProxy \" pulumi-lang-go=\" requestProxy \" pulumi-lang-python=\" request_proxy \" pulumi-lang-yaml=\" requestProxy \" pulumi-lang-java=\" requestProxy \"\u003e request_proxy \u003c/span\u003emode and extranet mode at present.\n"},"subnetId":{"type":"string","description":"The ID of subnet that intranet load balancer belongs to. This argument is not required if default subnet.\n"},"tag":{"type":"string","description":"A tag assigned to load balancer, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"vpcId":{"type":"string","description":"The ID of the VPC linked to the Load balancer, This argument is not required if default VPC.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering Lb resources.\n","properties":{"chargeType":{"type":"string","description":", argument \u003cspan pulumi-lang-nodejs=\"`chargeType`\" pulumi-lang-dotnet=\"`ChargeType`\" pulumi-lang-go=\"`chargeType`\" pulumi-lang-python=\"`charge_type`\" pulumi-lang-yaml=\"`chargeType`\" pulumi-lang-java=\"`chargeType`\"\u003e`charge_type`\u003c/span\u003e is deprecated for optimizing parameters.\n"},"createTime":{"type":"string","description":"The time of creation for load balancer, formatted in RFC3339 time string.\n"},"expireTime":{"type":"string","description":"**Deprecated** attribute \u003cspan pulumi-lang-nodejs=\"`expireTime`\" pulumi-lang-dotnet=\"`ExpireTime`\" pulumi-lang-go=\"`expireTime`\" pulumi-lang-python=\"`expire_time`\" pulumi-lang-yaml=\"`expireTime`\" pulumi-lang-java=\"`expireTime`\"\u003e`expire_time`\u003c/span\u003e is deprecated for optimizing outputs.\n"},"internal":{"type":"boolean","description":"Indicate whether the load balancer is intranet mode. (Default: `\"false\"`)\n"},"ipSets":{"type":"array","items":{"$ref":"#/types/ucloud:index%2FLbIpSet:LbIpSet"},"description":"It is a nested type which documented below.\n"},"lbId":{"type":"string","description":"The ID of the resource load balancer.\n"},"listenType":{"type":"string","description":"The type of listener. Possible values are \u003cspan pulumi-lang-nodejs=\"`requestProxy`\" pulumi-lang-dotnet=\"`RequestProxy`\" pulumi-lang-go=\"`requestProxy`\" pulumi-lang-python=\"`request_proxy`\" pulumi-lang-yaml=\"`requestProxy`\" pulumi-lang-java=\"`requestProxy`\"\u003e`request_proxy`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`packetsTransmit`\" pulumi-lang-dotnet=\"`PacketsTransmit`\" pulumi-lang-go=\"`packetsTransmit`\" pulumi-lang-python=\"`packets_transmit`\" pulumi-lang-yaml=\"`packetsTransmit`\" pulumi-lang-java=\"`packetsTransmit`\"\u003e`packets_transmit`\u003c/span\u003e. When \u003cspan pulumi-lang-nodejs=\"`packetsTransmit`\" pulumi-lang-dotnet=\"`PacketsTransmit`\" pulumi-lang-go=\"`packetsTransmit`\" pulumi-lang-python=\"`packets_transmit`\" pulumi-lang-yaml=\"`packetsTransmit`\" pulumi-lang-java=\"`packetsTransmit`\"\u003e`packets_transmit`\u003c/span\u003e was specified, you need to config the instances by yourself if the instances attach to the load balancer. You may refer to [configuration instruction](https://docs.ucloud.cn/network/ulb/fast/createulb/vservertype).\n"},"name":{"type":"string"},"privateIp":{"type":"string","description":"The IP address of intranet IP. It is `\"\"` if \u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\"\u003e`internal`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"remark":{"type":"string","description":"The remarks of the load balancer. (Default: `\"\"`).\n"},"securityGroup":{"type":"string","description":"The ID of the associated security group. The\u003cspan pulumi-lang-nodejs=\" securityGroup \" pulumi-lang-dotnet=\" SecurityGroup \" pulumi-lang-go=\" securityGroup \" pulumi-lang-python=\" security_group \" pulumi-lang-yaml=\" securityGroup \" pulumi-lang-java=\" securityGroup \"\u003e security_group \u003c/span\u003eonly takes effect for ULB instances of\u003cspan pulumi-lang-nodejs=\" requestProxy \" pulumi-lang-dotnet=\" RequestProxy \" pulumi-lang-go=\" requestProxy \" pulumi-lang-python=\" request_proxy \" pulumi-lang-yaml=\" requestProxy \" pulumi-lang-java=\" requestProxy \"\u003e request_proxy \u003c/span\u003emode and extranet mode at present.\n"},"subnetId":{"type":"string","description":"The ID of subnet that intranet load balancer belongs to. This argument is not required if default subnet.\n"},"tag":{"type":"string","description":"A tag assigned to load balancer, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"vpcId":{"type":"string","description":"The ID of the VPC linked to the Load balancer, This argument is not required if default VPC.\n"}},"type":"object"}},"ucloud:index/lbAttachment:LbAttachment":{"description":"Provides a Load Balancer Attachment resource for attaching Load Balancer to UHost Instance, etc.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\n// Query image\nconst _default = ucloud.getImages({\n    availabilityZone: \"cn-bj2-04\",\n    nameRegex: \"^CentOS 6.5 64\",\n    imageType: \"base\",\n});\n// Create Load Balancer\nconst web = new ucloud.Lb(\"web\", {\n    name: \"tf-example-lb\",\n    tag: \"tf-example\",\n});\n// Create Load Balancer Listener with http protocol\nconst defaultLbListener = new ucloud.LbListener(\"default\", {\n    loadBalancerId: web.lbId,\n    protocol: \"http\",\n});\n// Create web server\nconst webInstance = new ucloud.Instance(\"web\", {\n    instanceType: \"n-basic-2\",\n    availabilityZone: \"cn-bj2-04\",\n    rootPassword: \"wA1234567\",\n    imageId: _default.then(_default =\u003e _default.images?.[0]?.id),\n    name: \"tf-example-lb\",\n    tag: \"tf-example\",\n});\n// Attach instances to Load Balancer\nconst example = new ucloud.LbAttachment(\"example\", {\n    loadBalancerId: web.lbId,\n    listenerId: defaultLbListener.lbListenerId,\n    resourceId: webInstance.instanceId,\n    port: 80,\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\n# Query image\ndefault = ucloud.get_images(availability_zone=\"cn-bj2-04\",\n    name_regex=\"^CentOS 6.5 64\",\n    image_type=\"base\")\n# Create Load Balancer\nweb = ucloud.Lb(\"web\",\n    name=\"tf-example-lb\",\n    tag=\"tf-example\")\n# Create Load Balancer Listener with http protocol\ndefault_lb_listener = ucloud.LbListener(\"default\",\n    load_balancer_id=web.lb_id,\n    protocol=\"http\")\n# Create web server\nweb_instance = ucloud.Instance(\"web\",\n    instance_type=\"n-basic-2\",\n    availability_zone=\"cn-bj2-04\",\n    root_password=\"wA1234567\",\n    image_id=default.images[0].id,\n    name=\"tf-example-lb\",\n    tag=\"tf-example\")\n# Attach instances to Load Balancer\nexample = ucloud.LbAttachment(\"example\",\n    load_balancer_id=web.lb_id,\n    listener_id=default_lb_listener.lb_listener_id,\n    resource_id=web_instance.instance_id,\n    port=80)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Query image\n    var @default = Ucloud.GetImages.Invoke(new()\n    {\n        AvailabilityZone = \"cn-bj2-04\",\n        NameRegex = \"^CentOS 6.5 64\",\n        ImageType = \"base\",\n    });\n\n    // Create Load Balancer\n    var web = new Ucloud.Lb(\"web\", new()\n    {\n        Name = \"tf-example-lb\",\n        Tag = \"tf-example\",\n    });\n\n    // Create Load Balancer Listener with http protocol\n    var defaultLbListener = new Ucloud.LbListener(\"default\", new()\n    {\n        LoadBalancerId = web.LbId,\n        Protocol = \"http\",\n    });\n\n    // Create web server\n    var webInstance = new Ucloud.Instance(\"web\", new()\n    {\n        InstanceType = \"n-basic-2\",\n        AvailabilityZone = \"cn-bj2-04\",\n        RootPassword = \"wA1234567\",\n        ImageId = @default.Apply(@default =\u003e @default.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id)),\n        Name = \"tf-example-lb\",\n        Tag = \"tf-example\",\n    });\n\n    // Attach instances to Load Balancer\n    var example = new Ucloud.LbAttachment(\"example\", new()\n    {\n        LoadBalancerId = web.LbId,\n        ListenerId = defaultLbListener.LbListenerId,\n        ResourceId = webInstance.InstanceId,\n        Port = 80,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Query image\n\t\t_default, err := ucloud.GetImages(ctx, \u0026ucloud.GetImagesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(\"cn-bj2-04\"),\n\t\t\tNameRegex:        pulumi.StringRef(\"^CentOS 6.5 64\"),\n\t\t\tImageType:        pulumi.StringRef(\"base\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create Load Balancer\n\t\tweb, err := ucloud.NewLb(ctx, \"web\", \u0026ucloud.LbArgs{\n\t\t\tName: pulumi.String(\"tf-example-lb\"),\n\t\t\tTag:  pulumi.String(\"tf-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create Load Balancer Listener with http protocol\n\t\tdefaultLbListener, err := ucloud.NewLbListener(ctx, \"default\", \u0026ucloud.LbListenerArgs{\n\t\t\tLoadBalancerId: web.LbId,\n\t\t\tProtocol:       pulumi.String(\"http\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create web server\n\t\twebInstance, err := ucloud.NewInstance(ctx, \"web\", \u0026ucloud.InstanceArgs{\n\t\t\tInstanceType:     pulumi.String(\"n-basic-2\"),\n\t\t\tAvailabilityZone: pulumi.String(\"cn-bj2-04\"),\n\t\t\tRootPassword:     pulumi.String(\"wA1234567\"),\n\t\t\tImageId:          pulumi.String(_default.Images[0].Id),\n\t\t\tName:             pulumi.String(\"tf-example-lb\"),\n\t\t\tTag:              pulumi.String(\"tf-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Attach instances to Load Balancer\n\t\t_, err = ucloud.NewLbAttachment(ctx, \"example\", \u0026ucloud.LbAttachmentArgs{\n\t\t\tLoadBalancerId: web.LbId,\n\t\t\tListenerId:     defaultLbListener.LbListenerId,\n\t\t\tResourceId:     webInstance.InstanceId,\n\t\t\tPort:           pulumi.Float64(80),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetImagesArgs;\nimport com.pulumi.ucloud.Lb;\nimport com.pulumi.ucloud.LbArgs;\nimport com.pulumi.ucloud.LbListener;\nimport com.pulumi.ucloud.LbListenerArgs;\nimport com.pulumi.ucloud.Instance;\nimport com.pulumi.ucloud.InstanceArgs;\nimport com.pulumi.ucloud.LbAttachment;\nimport com.pulumi.ucloud.LbAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Query image\n        final var default = UcloudFunctions.getImages(GetImagesArgs.builder()\n            .availabilityZone(\"cn-bj2-04\")\n            .nameRegex(\"^CentOS 6.5 64\")\n            .imageType(\"base\")\n            .build());\n\n        // Create Load Balancer\n        var web = new Lb(\"web\", LbArgs.builder()\n            .name(\"tf-example-lb\")\n            .tag(\"tf-example\")\n            .build());\n\n        // Create Load Balancer Listener with http protocol\n        var defaultLbListener = new LbListener(\"defaultLbListener\", LbListenerArgs.builder()\n            .loadBalancerId(web.lbId())\n            .protocol(\"http\")\n            .build());\n\n        // Create web server\n        var webInstance = new Instance(\"webInstance\", InstanceArgs.builder()\n            .instanceType(\"n-basic-2\")\n            .availabilityZone(\"cn-bj2-04\")\n            .rootPassword(\"wA1234567\")\n            .imageId(default_.images()[0].id())\n            .name(\"tf-example-lb\")\n            .tag(\"tf-example\")\n            .build());\n\n        // Attach instances to Load Balancer\n        var example = new LbAttachment(\"example\", LbAttachmentArgs.builder()\n            .loadBalancerId(web.lbId())\n            .listenerId(defaultLbListener.lbListenerId())\n            .resourceId(webInstance.instanceId())\n            .port(80.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create Load Balancer\n  web:\n    type: ucloud:Lb\n    properties:\n      name: tf-example-lb\n      tag: tf-example\n  # Create Load Balancer Listener with http protocol\n  defaultLbListener:\n    type: ucloud:LbListener\n    name: default\n    properties:\n      loadBalancerId: ${web.lbId}\n      protocol: http\n  # Create web server\n  webInstance:\n    type: ucloud:Instance\n    name: web\n    properties:\n      instanceType: n-basic-2\n      availabilityZone: cn-bj2-04\n      rootPassword: wA1234567\n      imageId: ${default.images[0].id}\n      name: tf-example-lb\n      tag: tf-example\n  # Attach instances to Load Balancer\n  example:\n    type: ucloud:LbAttachment\n    properties:\n      loadBalancerId: ${web.lbId}\n      listenerId: ${defaultLbListener.lbListenerId}\n      resourceId: ${webInstance.instanceId}\n      port: 80\nvariables:\n  # Query image\n  default:\n    fn::invoke:\n      function: ucloud:getImages\n      arguments:\n        availabilityZone: cn-bj2-04\n        nameRegex: ^CentOS 6.5 64\n        imageType: base\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLB Listener can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import ucloud:index/lbAttachment:LbAttachment example backend-abcdefg\n```\n","properties":{"lbAttachmentId":{"type":"string","description":"The ID of the resource lb attachment.\n"},"listenerId":{"type":"string","description":"The ID of a listener server.\n"},"loadBalancerId":{"type":"string","description":"The ID of a load balancer.\n"},"port":{"type":"number","description":"The listening port of the backend server, range: 1-65535, (Default: \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e). Backend server port have the following restrictions: If the LB listener type is \u003cspan pulumi-lang-nodejs=\"`requestProxy`\" pulumi-lang-dotnet=\"`RequestProxy`\" pulumi-lang-go=\"`requestProxy`\" pulumi-lang-python=\"`request_proxy`\" pulumi-lang-yaml=\"`requestProxy`\" pulumi-lang-java=\"`requestProxy`\"\u003e`request_proxy`\u003c/span\u003e, the backend serve can add different ports to implement different service instances of the same IP. Else if LB listener type is \u003cspan pulumi-lang-nodejs=\"`packetsTransmit`\" pulumi-lang-dotnet=\"`PacketsTransmit`\" pulumi-lang-go=\"`packetsTransmit`\" pulumi-lang-python=\"`packets_transmit`\" pulumi-lang-yaml=\"`packetsTransmit`\" pulumi-lang-java=\"`packetsTransmit`\"\u003e`packets_transmit`\u003c/span\u003e, the port of the backend server must be consistent with the LB listening port.\n"},"privateIp":{"type":"string","description":"The private ip address for backend servers.\n"},"resourceId":{"type":"string","description":"The ID of a backend server.\n\n- - -\n"},"resourceType":{"type":"string","description":"The types of backend servers, possible values are: \u003cspan pulumi-lang-nodejs=\"`instance`\" pulumi-lang-dotnet=\"`Instance`\" pulumi-lang-go=\"`instance`\" pulumi-lang-python=\"`instance`\" pulumi-lang-yaml=\"`instance`\" pulumi-lang-java=\"`instance`\"\u003e`instance`\u003c/span\u003e or `UHost` as UHost instance.\n"},"status":{"type":"string","description":"The status of backend servers. Possible values are: `normalRunning`, `exceptionRunning`.\n"}},"type":"object","required":["lbAttachmentId","listenerId","loadBalancerId","privateIp","resourceId","resourceType","status"],"inputProperties":{"lbAttachmentId":{"type":"string","description":"The ID of the resource lb attachment.\n"},"listenerId":{"type":"string","description":"The ID of a listener server.\n"},"loadBalancerId":{"type":"string","description":"The ID of a load balancer.\n"},"port":{"type":"number","description":"The listening port of the backend server, range: 1-65535, (Default: \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e). Backend server port have the following restrictions: If the LB listener type is \u003cspan pulumi-lang-nodejs=\"`requestProxy`\" pulumi-lang-dotnet=\"`RequestProxy`\" pulumi-lang-go=\"`requestProxy`\" pulumi-lang-python=\"`request_proxy`\" pulumi-lang-yaml=\"`requestProxy`\" pulumi-lang-java=\"`requestProxy`\"\u003e`request_proxy`\u003c/span\u003e, the backend serve can add different ports to implement different service instances of the same IP. Else if LB listener type is \u003cspan pulumi-lang-nodejs=\"`packetsTransmit`\" pulumi-lang-dotnet=\"`PacketsTransmit`\" pulumi-lang-go=\"`packetsTransmit`\" pulumi-lang-python=\"`packets_transmit`\" pulumi-lang-yaml=\"`packetsTransmit`\" pulumi-lang-java=\"`packetsTransmit`\"\u003e`packets_transmit`\u003c/span\u003e, the port of the backend server must be consistent with the LB listening port.\n"},"resourceId":{"type":"string","description":"The ID of a backend server.\n\n- - -\n"},"resourceType":{"type":"string","description":"The types of backend servers, possible values are: \u003cspan pulumi-lang-nodejs=\"`instance`\" pulumi-lang-dotnet=\"`Instance`\" pulumi-lang-go=\"`instance`\" pulumi-lang-python=\"`instance`\" pulumi-lang-yaml=\"`instance`\" pulumi-lang-java=\"`instance`\"\u003e`instance`\u003c/span\u003e or `UHost` as UHost instance.\n"}},"requiredInputs":["listenerId","loadBalancerId","resourceId"],"stateInputs":{"description":"Input properties used for looking up and filtering LbAttachment resources.\n","properties":{"lbAttachmentId":{"type":"string","description":"The ID of the resource lb attachment.\n"},"listenerId":{"type":"string","description":"The ID of a listener server.\n"},"loadBalancerId":{"type":"string","description":"The ID of a load balancer.\n"},"port":{"type":"number","description":"The listening port of the backend server, range: 1-65535, (Default: \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e). Backend server port have the following restrictions: If the LB listener type is \u003cspan pulumi-lang-nodejs=\"`requestProxy`\" pulumi-lang-dotnet=\"`RequestProxy`\" pulumi-lang-go=\"`requestProxy`\" pulumi-lang-python=\"`request_proxy`\" pulumi-lang-yaml=\"`requestProxy`\" pulumi-lang-java=\"`requestProxy`\"\u003e`request_proxy`\u003c/span\u003e, the backend serve can add different ports to implement different service instances of the same IP. Else if LB listener type is \u003cspan pulumi-lang-nodejs=\"`packetsTransmit`\" pulumi-lang-dotnet=\"`PacketsTransmit`\" pulumi-lang-go=\"`packetsTransmit`\" pulumi-lang-python=\"`packets_transmit`\" pulumi-lang-yaml=\"`packetsTransmit`\" pulumi-lang-java=\"`packetsTransmit`\"\u003e`packets_transmit`\u003c/span\u003e, the port of the backend server must be consistent with the LB listening port.\n"},"privateIp":{"type":"string","description":"The private ip address for backend servers.\n"},"resourceId":{"type":"string","description":"The ID of a backend server.\n\n- - -\n"},"resourceType":{"type":"string","description":"The types of backend servers, possible values are: \u003cspan pulumi-lang-nodejs=\"`instance`\" pulumi-lang-dotnet=\"`Instance`\" pulumi-lang-go=\"`instance`\" pulumi-lang-python=\"`instance`\" pulumi-lang-yaml=\"`instance`\" pulumi-lang-java=\"`instance`\"\u003e`instance`\u003c/span\u003e or `UHost` as UHost instance.\n"},"status":{"type":"string","description":"The status of backend servers. Possible values are: `normalRunning`, `exceptionRunning`.\n"}},"type":"object"}},"ucloud:index/lbListener:LbListener":{"description":"Provides a Load Balancer Listener resource.\n\n\u003e **Note** This \u003cspan pulumi-lang-nodejs=\"`listenType`\" pulumi-lang-dotnet=\"`ListenType`\" pulumi-lang-go=\"`listenType`\" pulumi-lang-python=\"`listen_type`\" pulumi-lang-yaml=\"`listenType`\" pulumi-lang-java=\"`listenType`\"\u003e`listen_type`\u003c/span\u003e only support when \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e in the extranet mode and the default value is \u003cspan pulumi-lang-nodejs=\"`requestProxy`\" pulumi-lang-dotnet=\"`RequestProxy`\" pulumi-lang-go=\"`requestProxy`\" pulumi-lang-python=\"`request_proxy`\" pulumi-lang-yaml=\"`requestProxy`\" pulumi-lang-java=\"`requestProxy`\"\u003e`request_proxy`\u003c/span\u003e. In addition, in the extranet mode, the \u003cspan pulumi-lang-nodejs=\"`listenType`\" pulumi-lang-dotnet=\"`ListenType`\" pulumi-lang-go=\"`listenType`\" pulumi-lang-python=\"`listen_type`\" pulumi-lang-yaml=\"`listenType`\" pulumi-lang-java=\"`listenType`\"\u003e`listen_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`requestProxy`\" pulumi-lang-dotnet=\"`RequestProxy`\" pulumi-lang-go=\"`requestProxy`\" pulumi-lang-python=\"`request_proxy`\" pulumi-lang-yaml=\"`requestProxy`\" pulumi-lang-java=\"`requestProxy`\"\u003e`request_proxy`\u003c/span\u003e if \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003eis \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`listenType`\" pulumi-lang-dotnet=\"`ListenType`\" pulumi-lang-go=\"`listenType`\" pulumi-lang-python=\"`listen_type`\" pulumi-lang-yaml=\"`listenType`\" pulumi-lang-java=\"`listenType`\"\u003e`listen_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`packetsTransmit`\" pulumi-lang-dotnet=\"`PacketsTransmit`\" pulumi-lang-go=\"`packetsTransmit`\" pulumi-lang-python=\"`packets_transmit`\" pulumi-lang-yaml=\"`packetsTransmit`\" pulumi-lang-java=\"`packetsTransmit`\"\u003e`packets_transmit`\u003c/span\u003e if \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003eis \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e. In the intranet mode, the \u003cspan pulumi-lang-nodejs=\"`listenType`\" pulumi-lang-dotnet=\"`ListenType`\" pulumi-lang-go=\"`listenType`\" pulumi-lang-python=\"`listen_type`\" pulumi-lang-yaml=\"`listenType`\" pulumi-lang-java=\"`listenType`\"\u003e`listen_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`packetsTransmit`\" pulumi-lang-dotnet=\"`PacketsTransmit`\" pulumi-lang-go=\"`packetsTransmit`\" pulumi-lang-python=\"`packets_transmit`\" pulumi-lang-yaml=\"`packetsTransmit`\" pulumi-lang-java=\"`packetsTransmit`\"\u003e`packets_transmit`\u003c/span\u003e.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst web = new ucloud.Lb(\"web\", {\n    name: \"tf-example-lb\",\n    tag: \"tf-example\",\n});\nconst example = new ucloud.LbListener(\"example\", {\n    loadBalancerId: web.lbId,\n    protocol: \"http\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nweb = ucloud.Lb(\"web\",\n    name=\"tf-example-lb\",\n    tag=\"tf-example\")\nexample = ucloud.LbListener(\"example\",\n    load_balancer_id=web.lb_id,\n    protocol=\"http\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var web = new Ucloud.Lb(\"web\", new()\n    {\n        Name = \"tf-example-lb\",\n        Tag = \"tf-example\",\n    });\n\n    var example = new Ucloud.LbListener(\"example\", new()\n    {\n        LoadBalancerId = web.LbId,\n        Protocol = \"http\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tweb, err := ucloud.NewLb(ctx, \"web\", \u0026ucloud.LbArgs{\n\t\t\tName: pulumi.String(\"tf-example-lb\"),\n\t\t\tTag:  pulumi.String(\"tf-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ucloud.NewLbListener(ctx, \"example\", \u0026ucloud.LbListenerArgs{\n\t\t\tLoadBalancerId: web.LbId,\n\t\t\tProtocol:       pulumi.String(\"http\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.Lb;\nimport com.pulumi.ucloud.LbArgs;\nimport com.pulumi.ucloud.LbListener;\nimport com.pulumi.ucloud.LbListenerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var web = new Lb(\"web\", LbArgs.builder()\n            .name(\"tf-example-lb\")\n            .tag(\"tf-example\")\n            .build());\n\n        var example = new LbListener(\"example\", LbListenerArgs.builder()\n            .loadBalancerId(web.lbId())\n            .protocol(\"http\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  web:\n    type: ucloud:Lb\n    properties:\n      name: tf-example-lb\n      tag: tf-example\n  example:\n    type: ucloud:LbListener\n    properties:\n      loadBalancerId: ${web.lbId}\n      protocol: http\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLB Listener can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import ucloud:index/lbListener:LbListener example vserver-abcdefg\n```\n","properties":{"domain":{"type":"string","description":"Health check domain checking.\n"},"healthCheckType":{"type":"string","description":"Health check method. Possible values are \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\"\u003e`port`\u003c/span\u003e as port checking and \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e as http checking.\n"},"idleTimeout":{"type":"number","description":"Keep alive timeout of the connection between the client and LB, measured in second. Range: 0-86400 when \u003cspan pulumi-lang-nodejs=\"`listenType`\" pulumi-lang-dotnet=\"`ListenType`\" pulumi-lang-go=\"`listenType`\" pulumi-lang-python=\"`listen_type`\" pulumi-lang-yaml=\"`listenType`\" pulumi-lang-java=\"`listenType`\"\u003e`listen_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`requestProxy`\" pulumi-lang-dotnet=\"`RequestProxy`\" pulumi-lang-go=\"`requestProxy`\" pulumi-lang-python=\"`request_proxy`\" pulumi-lang-yaml=\"`requestProxy`\" pulumi-lang-java=\"`requestProxy`\"\u003e`request_proxy`\u003c/span\u003e, range: 60-900 when \u003cspan pulumi-lang-nodejs=\"`listenType`\" pulumi-lang-dotnet=\"`ListenType`\" pulumi-lang-go=\"`listenType`\" pulumi-lang-python=\"`listen_type`\" pulumi-lang-yaml=\"`listenType`\" pulumi-lang-java=\"`listenType`\"\u003e`listen_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`packetsTransmit`\" pulumi-lang-dotnet=\"`PacketsTransmit`\" pulumi-lang-go=\"`packetsTransmit`\" pulumi-lang-python=\"`packets_transmit`\" pulumi-lang-yaml=\"`packetsTransmit`\" pulumi-lang-java=\"`packetsTransmit`\"\u003e`packets_transmit`\u003c/span\u003e (Default: \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e). The connection will be closed as soon as no response between the client and LB if it set by \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"lbListenerId":{"type":"string","description":"The ID of the resource lb listener.\n"},"listenType":{"type":"string","description":"The type of listener. Possible values are \u003cspan pulumi-lang-nodejs=\"`requestProxy`\" pulumi-lang-dotnet=\"`RequestProxy`\" pulumi-lang-go=\"`requestProxy`\" pulumi-lang-python=\"`request_proxy`\" pulumi-lang-yaml=\"`requestProxy`\" pulumi-lang-java=\"`requestProxy`\"\u003e`request_proxy`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`packetsTransmit`\" pulumi-lang-dotnet=\"`PacketsTransmit`\" pulumi-lang-go=\"`packetsTransmit`\" pulumi-lang-python=\"`packets_transmit`\" pulumi-lang-yaml=\"`packetsTransmit`\" pulumi-lang-java=\"`packetsTransmit`\"\u003e`packets_transmit`\u003c/span\u003e. When \u003cspan pulumi-lang-nodejs=\"`packetsTransmit`\" pulumi-lang-dotnet=\"`PacketsTransmit`\" pulumi-lang-go=\"`packetsTransmit`\" pulumi-lang-python=\"`packets_transmit`\" pulumi-lang-yaml=\"`packetsTransmit`\" pulumi-lang-java=\"`packetsTransmit`\"\u003e`packets_transmit`\u003c/span\u003e was specified, you need to config the instances by yourself if the instances attach to the load balancer. You may refer to [configuration instruction](https://docs.ucloud.cn/network/ulb/fast/createulb/vservertype).\n"},"loadBalancerId":{"type":"string","description":"The ID of load balancer instance.\n"},"method":{"type":"string","description":"The load balancer method in which the listener is. Possible values are: \u003cspan pulumi-lang-nodejs=\"`roundrobin`\" pulumi-lang-dotnet=\"`Roundrobin`\" pulumi-lang-go=\"`roundrobin`\" pulumi-lang-python=\"`roundrobin`\" pulumi-lang-yaml=\"`roundrobin`\" pulumi-lang-java=\"`roundrobin`\"\u003e`roundrobin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`consistentHash`\" pulumi-lang-dotnet=\"`ConsistentHash`\" pulumi-lang-go=\"`consistentHash`\" pulumi-lang-python=\"`consistent_hash`\" pulumi-lang-yaml=\"`consistentHash`\" pulumi-lang-java=\"`consistentHash`\"\u003e`consistent_hash`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sourcePort`\" pulumi-lang-dotnet=\"`SourcePort`\" pulumi-lang-go=\"`sourcePort`\" pulumi-lang-python=\"`source_port`\" pulumi-lang-yaml=\"`sourcePort`\" pulumi-lang-java=\"`sourcePort`\"\u003e`source_port`\u003c/span\u003e , \u003cspan pulumi-lang-nodejs=\"`consistentHashPort`\" pulumi-lang-dotnet=\"`ConsistentHashPort`\" pulumi-lang-go=\"`consistentHashPort`\" pulumi-lang-python=\"`consistent_hash_port`\" pulumi-lang-yaml=\"`consistentHashPort`\" pulumi-lang-java=\"`consistentHashPort`\"\u003e`consistent_hash_port`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`weightRoundrobin`\" pulumi-lang-dotnet=\"`WeightRoundrobin`\" pulumi-lang-go=\"`weightRoundrobin`\" pulumi-lang-python=\"`weight_roundrobin`\" pulumi-lang-yaml=\"`weightRoundrobin`\" pulumi-lang-java=\"`weightRoundrobin`\"\u003e`weight_roundrobin`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`leastconn`\" pulumi-lang-dotnet=\"`Leastconn`\" pulumi-lang-go=\"`leastconn`\" pulumi-lang-python=\"`leastconn`\" pulumi-lang-yaml=\"`leastconn`\" pulumi-lang-java=\"`leastconn`\"\u003e`leastconn`\u003c/span\u003e. (Default: \u003cspan pulumi-lang-nodejs=\"`roundrobin`\" pulumi-lang-dotnet=\"`Roundrobin`\" pulumi-lang-go=\"`roundrobin`\" pulumi-lang-python=\"`roundrobin`\" pulumi-lang-yaml=\"`roundrobin`\" pulumi-lang-java=\"`roundrobin`\"\u003e`roundrobin`\u003c/span\u003e).\n- The \u003cspan pulumi-lang-nodejs=\"`consistentHash`\" pulumi-lang-dotnet=\"`ConsistentHash`\" pulumi-lang-go=\"`consistentHash`\" pulumi-lang-python=\"`consistent_hash`\" pulumi-lang-yaml=\"`consistentHash`\" pulumi-lang-java=\"`consistentHash`\"\u003e`consistent_hash`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sourcePort`\" pulumi-lang-dotnet=\"`SourcePort`\" pulumi-lang-go=\"`sourcePort`\" pulumi-lang-python=\"`source_port`\" pulumi-lang-yaml=\"`sourcePort`\" pulumi-lang-java=\"`sourcePort`\"\u003e`source_port`\u003c/span\u003e , \u003cspan pulumi-lang-nodejs=\"`consistentHashPort`\" pulumi-lang-dotnet=\"`ConsistentHashPort`\" pulumi-lang-go=\"`consistentHashPort`\" pulumi-lang-python=\"`consistent_hash_port`\" pulumi-lang-yaml=\"`consistentHashPort`\" pulumi-lang-java=\"`consistentHashPort`\"\u003e`consistent_hash_port`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`roundrobin`\" pulumi-lang-dotnet=\"`Roundrobin`\" pulumi-lang-go=\"`roundrobin`\" pulumi-lang-python=\"`roundrobin`\" pulumi-lang-yaml=\"`roundrobin`\" pulumi-lang-java=\"`roundrobin`\"\u003e`roundrobin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`weightRoundrobin`\" pulumi-lang-dotnet=\"`WeightRoundrobin`\" pulumi-lang-go=\"`weightRoundrobin`\" pulumi-lang-python=\"`weight_roundrobin`\" pulumi-lang-yaml=\"`weightRoundrobin`\" pulumi-lang-java=\"`weightRoundrobin`\"\u003e`weight_roundrobin`\u003c/span\u003e are valid if \u003cspan pulumi-lang-nodejs=\"`listenType`\" pulumi-lang-dotnet=\"`ListenType`\" pulumi-lang-go=\"`listenType`\" pulumi-lang-python=\"`listen_type`\" pulumi-lang-yaml=\"`listenType`\" pulumi-lang-java=\"`listenType`\"\u003e`listen_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`packetsTransmit`\" pulumi-lang-dotnet=\"`PacketsTransmit`\" pulumi-lang-go=\"`packetsTransmit`\" pulumi-lang-python=\"`packets_transmit`\" pulumi-lang-yaml=\"`packetsTransmit`\" pulumi-lang-java=\"`packetsTransmit`\"\u003e`packets_transmit`\u003c/span\u003e.\n- The \u003cspan pulumi-lang-nodejs=\"`roundrobin`\" pulumi-lang-dotnet=\"`Roundrobin`\" pulumi-lang-go=\"`roundrobin`\" pulumi-lang-python=\"`roundrobin`\" pulumi-lang-yaml=\"`roundrobin`\" pulumi-lang-java=\"`roundrobin`\"\u003e`roundrobin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`weightRoundrobin`\" pulumi-lang-dotnet=\"`WeightRoundrobin`\" pulumi-lang-go=\"`weightRoundrobin`\" pulumi-lang-python=\"`weight_roundrobin`\" pulumi-lang-yaml=\"`weightRoundrobin`\" pulumi-lang-java=\"`weightRoundrobin`\"\u003e`weight_roundrobin`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`leastconn`\" pulumi-lang-dotnet=\"`Leastconn`\" pulumi-lang-go=\"`leastconn`\" pulumi-lang-python=\"`leastconn`\" pulumi-lang-yaml=\"`leastconn`\" pulumi-lang-java=\"`leastconn`\"\u003e`leastconn`\u003c/span\u003e are valid if \u003cspan pulumi-lang-nodejs=\"`listenType`\" pulumi-lang-dotnet=\"`ListenType`\" pulumi-lang-go=\"`listenType`\" pulumi-lang-python=\"`listen_type`\" pulumi-lang-yaml=\"`listenType`\" pulumi-lang-java=\"`listenType`\"\u003e`listen_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`requestProxy`\" pulumi-lang-dotnet=\"`RequestProxy`\" pulumi-lang-go=\"`requestProxy`\" pulumi-lang-python=\"`request_proxy`\" pulumi-lang-yaml=\"`requestProxy`\" pulumi-lang-java=\"`requestProxy`\"\u003e`request_proxy`\u003c/span\u003e.\n"},"name":{"type":"string"},"path":{"type":"string","description":"Health check path checking.\n"},"persistence":{"type":"string","description":"Indicate whether the persistence session is enabled, it is invalid if \u003cspan pulumi-lang-nodejs=\"`persistenceType`\" pulumi-lang-dotnet=\"`PersistenceType`\" pulumi-lang-go=\"`persistenceType`\" pulumi-lang-python=\"`persistence_type`\" pulumi-lang-yaml=\"`persistenceType`\" pulumi-lang-java=\"`persistenceType`\"\u003e`persistence_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, an auto-generated string will be exported if \u003cspan pulumi-lang-nodejs=\"`persistenceType`\" pulumi-lang-dotnet=\"`PersistenceType`\" pulumi-lang-go=\"`persistenceType`\" pulumi-lang-python=\"`persistence_type`\" pulumi-lang-yaml=\"`persistenceType`\" pulumi-lang-java=\"`persistenceType`\"\u003e`persistence_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`serverInsert`\" pulumi-lang-dotnet=\"`ServerInsert`\" pulumi-lang-go=\"`serverInsert`\" pulumi-lang-python=\"`server_insert`\" pulumi-lang-yaml=\"`serverInsert`\" pulumi-lang-java=\"`serverInsert`\"\u003e`server_insert`\u003c/span\u003e, a custom string will be exported if \u003cspan pulumi-lang-nodejs=\"`persistenceType`\" pulumi-lang-dotnet=\"`PersistenceType`\" pulumi-lang-go=\"`persistenceType`\" pulumi-lang-python=\"`persistence_type`\" pulumi-lang-yaml=\"`persistenceType`\" pulumi-lang-java=\"`persistenceType`\"\u003e`persistence_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`userDefined`\" pulumi-lang-dotnet=\"`UserDefined`\" pulumi-lang-go=\"`userDefined`\" pulumi-lang-python=\"`user_defined`\" pulumi-lang-yaml=\"`userDefined`\" pulumi-lang-java=\"`userDefined`\"\u003e`user_defined`\u003c/span\u003e.\n"},"persistenceType":{"type":"string","description":"The type of session persistence of listener. Possible values are: \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e as disabled, \u003cspan pulumi-lang-nodejs=\"`serverInsert`\" pulumi-lang-dotnet=\"`ServerInsert`\" pulumi-lang-go=\"`serverInsert`\" pulumi-lang-python=\"`server_insert`\" pulumi-lang-yaml=\"`serverInsert`\" pulumi-lang-java=\"`serverInsert`\"\u003e`server_insert`\u003c/span\u003e as auto-generated key and \u003cspan pulumi-lang-nodejs=\"`userDefined`\" pulumi-lang-dotnet=\"`UserDefined`\" pulumi-lang-go=\"`userDefined`\" pulumi-lang-python=\"`user_defined`\" pulumi-lang-yaml=\"`userDefined`\" pulumi-lang-java=\"`userDefined`\"\u003e`user_defined`\u003c/span\u003e as customized key. (Default: \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e).\n"},"port":{"type":"number","description":"Port opened on the listeners to receive requests, range: 1-65535. The default value: \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e as \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`443`\" pulumi-lang-dotnet=\"`443`\" pulumi-lang-go=\"`443`\" pulumi-lang-python=\"`443`\" pulumi-lang-yaml=\"`443`\" pulumi-lang-java=\"`443`\"\u003e`443`\u003c/span\u003e as \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1024`\" pulumi-lang-dotnet=\"`1024`\" pulumi-lang-go=\"`1024`\" pulumi-lang-python=\"`1024`\" pulumi-lang-yaml=\"`1024`\" pulumi-lang-java=\"`1024`\"\u003e`1024`\u003c/span\u003e as \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e.\n"},"protocol":{"type":"string","description":"Listener protocol. Possible values: \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e if \u003cspan pulumi-lang-nodejs=\"`listenType`\" pulumi-lang-dotnet=\"`ListenType`\" pulumi-lang-go=\"`listenType`\" pulumi-lang-python=\"`listen_type`\" pulumi-lang-yaml=\"`listenType`\" pulumi-lang-java=\"`listenType`\"\u003e`listen_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`requestProxy`\" pulumi-lang-dotnet=\"`RequestProxy`\" pulumi-lang-go=\"`requestProxy`\" pulumi-lang-python=\"`request_proxy`\" pulumi-lang-yaml=\"`requestProxy`\" pulumi-lang-java=\"`requestProxy`\"\u003e`request_proxy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e if \u003cspan pulumi-lang-nodejs=\"`listenType`\" pulumi-lang-dotnet=\"`ListenType`\" pulumi-lang-go=\"`listenType`\" pulumi-lang-python=\"`listen_type`\" pulumi-lang-yaml=\"`listenType`\" pulumi-lang-java=\"`listenType`\"\u003e`listen_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`packetsTransmit`\" pulumi-lang-dotnet=\"`PacketsTransmit`\" pulumi-lang-go=\"`packetsTransmit`\" pulumi-lang-python=\"`packets_transmit`\" pulumi-lang-yaml=\"`packetsTransmit`\" pulumi-lang-java=\"`packetsTransmit`\"\u003e`packets_transmit`\u003c/span\u003e.\n\n- - -\n"},"status":{"type":"string","description":"Listener status. Possible values are: `allNormal` for all resource functioning well, `partNormal` for partial resource functioning well and `allException` for all resource functioning exceptional.\n"}},"type":"object","required":["domain","healthCheckType","idleTimeout","lbListenerId","listenType","loadBalancerId","name","path","persistence","port","protocol","status"],"inputProperties":{"domain":{"type":"string","description":"Health check domain checking.\n"},"healthCheckType":{"type":"string","description":"Health check method. Possible values are \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\"\u003e`port`\u003c/span\u003e as port checking and \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e as http checking.\n"},"idleTimeout":{"type":"number","description":"Keep alive timeout of the connection between the client and LB, measured in second. Range: 0-86400 when \u003cspan pulumi-lang-nodejs=\"`listenType`\" pulumi-lang-dotnet=\"`ListenType`\" pulumi-lang-go=\"`listenType`\" pulumi-lang-python=\"`listen_type`\" pulumi-lang-yaml=\"`listenType`\" pulumi-lang-java=\"`listenType`\"\u003e`listen_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`requestProxy`\" pulumi-lang-dotnet=\"`RequestProxy`\" pulumi-lang-go=\"`requestProxy`\" pulumi-lang-python=\"`request_proxy`\" pulumi-lang-yaml=\"`requestProxy`\" pulumi-lang-java=\"`requestProxy`\"\u003e`request_proxy`\u003c/span\u003e, range: 60-900 when \u003cspan pulumi-lang-nodejs=\"`listenType`\" pulumi-lang-dotnet=\"`ListenType`\" pulumi-lang-go=\"`listenType`\" pulumi-lang-python=\"`listen_type`\" pulumi-lang-yaml=\"`listenType`\" pulumi-lang-java=\"`listenType`\"\u003e`listen_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`packetsTransmit`\" pulumi-lang-dotnet=\"`PacketsTransmit`\" pulumi-lang-go=\"`packetsTransmit`\" pulumi-lang-python=\"`packets_transmit`\" pulumi-lang-yaml=\"`packetsTransmit`\" pulumi-lang-java=\"`packetsTransmit`\"\u003e`packets_transmit`\u003c/span\u003e (Default: \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e). The connection will be closed as soon as no response between the client and LB if it set by \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"lbListenerId":{"type":"string","description":"The ID of the resource lb listener.\n"},"listenType":{"type":"string","description":"The type of listener. Possible values are \u003cspan pulumi-lang-nodejs=\"`requestProxy`\" pulumi-lang-dotnet=\"`RequestProxy`\" pulumi-lang-go=\"`requestProxy`\" pulumi-lang-python=\"`request_proxy`\" pulumi-lang-yaml=\"`requestProxy`\" pulumi-lang-java=\"`requestProxy`\"\u003e`request_proxy`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`packetsTransmit`\" pulumi-lang-dotnet=\"`PacketsTransmit`\" pulumi-lang-go=\"`packetsTransmit`\" pulumi-lang-python=\"`packets_transmit`\" pulumi-lang-yaml=\"`packetsTransmit`\" pulumi-lang-java=\"`packetsTransmit`\"\u003e`packets_transmit`\u003c/span\u003e. When \u003cspan pulumi-lang-nodejs=\"`packetsTransmit`\" pulumi-lang-dotnet=\"`PacketsTransmit`\" pulumi-lang-go=\"`packetsTransmit`\" pulumi-lang-python=\"`packets_transmit`\" pulumi-lang-yaml=\"`packetsTransmit`\" pulumi-lang-java=\"`packetsTransmit`\"\u003e`packets_transmit`\u003c/span\u003e was specified, you need to config the instances by yourself if the instances attach to the load balancer. You may refer to [configuration instruction](https://docs.ucloud.cn/network/ulb/fast/createulb/vservertype).\n"},"loadBalancerId":{"type":"string","description":"The ID of load balancer instance.\n"},"method":{"type":"string","description":"The load balancer method in which the listener is. Possible values are: \u003cspan pulumi-lang-nodejs=\"`roundrobin`\" pulumi-lang-dotnet=\"`Roundrobin`\" pulumi-lang-go=\"`roundrobin`\" pulumi-lang-python=\"`roundrobin`\" pulumi-lang-yaml=\"`roundrobin`\" pulumi-lang-java=\"`roundrobin`\"\u003e`roundrobin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`consistentHash`\" pulumi-lang-dotnet=\"`ConsistentHash`\" pulumi-lang-go=\"`consistentHash`\" pulumi-lang-python=\"`consistent_hash`\" pulumi-lang-yaml=\"`consistentHash`\" pulumi-lang-java=\"`consistentHash`\"\u003e`consistent_hash`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sourcePort`\" pulumi-lang-dotnet=\"`SourcePort`\" pulumi-lang-go=\"`sourcePort`\" pulumi-lang-python=\"`source_port`\" pulumi-lang-yaml=\"`sourcePort`\" pulumi-lang-java=\"`sourcePort`\"\u003e`source_port`\u003c/span\u003e , \u003cspan pulumi-lang-nodejs=\"`consistentHashPort`\" pulumi-lang-dotnet=\"`ConsistentHashPort`\" pulumi-lang-go=\"`consistentHashPort`\" pulumi-lang-python=\"`consistent_hash_port`\" pulumi-lang-yaml=\"`consistentHashPort`\" pulumi-lang-java=\"`consistentHashPort`\"\u003e`consistent_hash_port`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`weightRoundrobin`\" pulumi-lang-dotnet=\"`WeightRoundrobin`\" pulumi-lang-go=\"`weightRoundrobin`\" pulumi-lang-python=\"`weight_roundrobin`\" pulumi-lang-yaml=\"`weightRoundrobin`\" pulumi-lang-java=\"`weightRoundrobin`\"\u003e`weight_roundrobin`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`leastconn`\" pulumi-lang-dotnet=\"`Leastconn`\" pulumi-lang-go=\"`leastconn`\" pulumi-lang-python=\"`leastconn`\" pulumi-lang-yaml=\"`leastconn`\" pulumi-lang-java=\"`leastconn`\"\u003e`leastconn`\u003c/span\u003e. (Default: \u003cspan pulumi-lang-nodejs=\"`roundrobin`\" pulumi-lang-dotnet=\"`Roundrobin`\" pulumi-lang-go=\"`roundrobin`\" pulumi-lang-python=\"`roundrobin`\" pulumi-lang-yaml=\"`roundrobin`\" pulumi-lang-java=\"`roundrobin`\"\u003e`roundrobin`\u003c/span\u003e).\n- The \u003cspan pulumi-lang-nodejs=\"`consistentHash`\" pulumi-lang-dotnet=\"`ConsistentHash`\" pulumi-lang-go=\"`consistentHash`\" pulumi-lang-python=\"`consistent_hash`\" pulumi-lang-yaml=\"`consistentHash`\" pulumi-lang-java=\"`consistentHash`\"\u003e`consistent_hash`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sourcePort`\" pulumi-lang-dotnet=\"`SourcePort`\" pulumi-lang-go=\"`sourcePort`\" pulumi-lang-python=\"`source_port`\" pulumi-lang-yaml=\"`sourcePort`\" pulumi-lang-java=\"`sourcePort`\"\u003e`source_port`\u003c/span\u003e , \u003cspan pulumi-lang-nodejs=\"`consistentHashPort`\" pulumi-lang-dotnet=\"`ConsistentHashPort`\" pulumi-lang-go=\"`consistentHashPort`\" pulumi-lang-python=\"`consistent_hash_port`\" pulumi-lang-yaml=\"`consistentHashPort`\" pulumi-lang-java=\"`consistentHashPort`\"\u003e`consistent_hash_port`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`roundrobin`\" pulumi-lang-dotnet=\"`Roundrobin`\" pulumi-lang-go=\"`roundrobin`\" pulumi-lang-python=\"`roundrobin`\" pulumi-lang-yaml=\"`roundrobin`\" pulumi-lang-java=\"`roundrobin`\"\u003e`roundrobin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`weightRoundrobin`\" pulumi-lang-dotnet=\"`WeightRoundrobin`\" pulumi-lang-go=\"`weightRoundrobin`\" pulumi-lang-python=\"`weight_roundrobin`\" pulumi-lang-yaml=\"`weightRoundrobin`\" pulumi-lang-java=\"`weightRoundrobin`\"\u003e`weight_roundrobin`\u003c/span\u003e are valid if \u003cspan pulumi-lang-nodejs=\"`listenType`\" pulumi-lang-dotnet=\"`ListenType`\" pulumi-lang-go=\"`listenType`\" pulumi-lang-python=\"`listen_type`\" pulumi-lang-yaml=\"`listenType`\" pulumi-lang-java=\"`listenType`\"\u003e`listen_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`packetsTransmit`\" pulumi-lang-dotnet=\"`PacketsTransmit`\" pulumi-lang-go=\"`packetsTransmit`\" pulumi-lang-python=\"`packets_transmit`\" pulumi-lang-yaml=\"`packetsTransmit`\" pulumi-lang-java=\"`packetsTransmit`\"\u003e`packets_transmit`\u003c/span\u003e.\n- The \u003cspan pulumi-lang-nodejs=\"`roundrobin`\" pulumi-lang-dotnet=\"`Roundrobin`\" pulumi-lang-go=\"`roundrobin`\" pulumi-lang-python=\"`roundrobin`\" pulumi-lang-yaml=\"`roundrobin`\" pulumi-lang-java=\"`roundrobin`\"\u003e`roundrobin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`weightRoundrobin`\" pulumi-lang-dotnet=\"`WeightRoundrobin`\" pulumi-lang-go=\"`weightRoundrobin`\" pulumi-lang-python=\"`weight_roundrobin`\" pulumi-lang-yaml=\"`weightRoundrobin`\" pulumi-lang-java=\"`weightRoundrobin`\"\u003e`weight_roundrobin`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`leastconn`\" pulumi-lang-dotnet=\"`Leastconn`\" pulumi-lang-go=\"`leastconn`\" pulumi-lang-python=\"`leastconn`\" pulumi-lang-yaml=\"`leastconn`\" pulumi-lang-java=\"`leastconn`\"\u003e`leastconn`\u003c/span\u003e are valid if \u003cspan pulumi-lang-nodejs=\"`listenType`\" pulumi-lang-dotnet=\"`ListenType`\" pulumi-lang-go=\"`listenType`\" pulumi-lang-python=\"`listen_type`\" pulumi-lang-yaml=\"`listenType`\" pulumi-lang-java=\"`listenType`\"\u003e`listen_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`requestProxy`\" pulumi-lang-dotnet=\"`RequestProxy`\" pulumi-lang-go=\"`requestProxy`\" pulumi-lang-python=\"`request_proxy`\" pulumi-lang-yaml=\"`requestProxy`\" pulumi-lang-java=\"`requestProxy`\"\u003e`request_proxy`\u003c/span\u003e.\n"},"name":{"type":"string"},"path":{"type":"string","description":"Health check path checking.\n"},"persistence":{"type":"string","description":"Indicate whether the persistence session is enabled, it is invalid if \u003cspan pulumi-lang-nodejs=\"`persistenceType`\" pulumi-lang-dotnet=\"`PersistenceType`\" pulumi-lang-go=\"`persistenceType`\" pulumi-lang-python=\"`persistence_type`\" pulumi-lang-yaml=\"`persistenceType`\" pulumi-lang-java=\"`persistenceType`\"\u003e`persistence_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, an auto-generated string will be exported if \u003cspan pulumi-lang-nodejs=\"`persistenceType`\" pulumi-lang-dotnet=\"`PersistenceType`\" pulumi-lang-go=\"`persistenceType`\" pulumi-lang-python=\"`persistence_type`\" pulumi-lang-yaml=\"`persistenceType`\" pulumi-lang-java=\"`persistenceType`\"\u003e`persistence_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`serverInsert`\" pulumi-lang-dotnet=\"`ServerInsert`\" pulumi-lang-go=\"`serverInsert`\" pulumi-lang-python=\"`server_insert`\" pulumi-lang-yaml=\"`serverInsert`\" pulumi-lang-java=\"`serverInsert`\"\u003e`server_insert`\u003c/span\u003e, a custom string will be exported if \u003cspan pulumi-lang-nodejs=\"`persistenceType`\" pulumi-lang-dotnet=\"`PersistenceType`\" pulumi-lang-go=\"`persistenceType`\" pulumi-lang-python=\"`persistence_type`\" pulumi-lang-yaml=\"`persistenceType`\" pulumi-lang-java=\"`persistenceType`\"\u003e`persistence_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`userDefined`\" pulumi-lang-dotnet=\"`UserDefined`\" pulumi-lang-go=\"`userDefined`\" pulumi-lang-python=\"`user_defined`\" pulumi-lang-yaml=\"`userDefined`\" pulumi-lang-java=\"`userDefined`\"\u003e`user_defined`\u003c/span\u003e.\n"},"persistenceType":{"type":"string","description":"The type of session persistence of listener. Possible values are: \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e as disabled, \u003cspan pulumi-lang-nodejs=\"`serverInsert`\" pulumi-lang-dotnet=\"`ServerInsert`\" pulumi-lang-go=\"`serverInsert`\" pulumi-lang-python=\"`server_insert`\" pulumi-lang-yaml=\"`serverInsert`\" pulumi-lang-java=\"`serverInsert`\"\u003e`server_insert`\u003c/span\u003e as auto-generated key and \u003cspan pulumi-lang-nodejs=\"`userDefined`\" pulumi-lang-dotnet=\"`UserDefined`\" pulumi-lang-go=\"`userDefined`\" pulumi-lang-python=\"`user_defined`\" pulumi-lang-yaml=\"`userDefined`\" pulumi-lang-java=\"`userDefined`\"\u003e`user_defined`\u003c/span\u003e as customized key. (Default: \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e).\n"},"port":{"type":"number","description":"Port opened on the listeners to receive requests, range: 1-65535. The default value: \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e as \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`443`\" pulumi-lang-dotnet=\"`443`\" pulumi-lang-go=\"`443`\" pulumi-lang-python=\"`443`\" pulumi-lang-yaml=\"`443`\" pulumi-lang-java=\"`443`\"\u003e`443`\u003c/span\u003e as \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1024`\" pulumi-lang-dotnet=\"`1024`\" pulumi-lang-go=\"`1024`\" pulumi-lang-python=\"`1024`\" pulumi-lang-yaml=\"`1024`\" pulumi-lang-java=\"`1024`\"\u003e`1024`\u003c/span\u003e as \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e.\n"},"protocol":{"type":"string","description":"Listener protocol. Possible values: \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e if \u003cspan pulumi-lang-nodejs=\"`listenType`\" pulumi-lang-dotnet=\"`ListenType`\" pulumi-lang-go=\"`listenType`\" pulumi-lang-python=\"`listen_type`\" pulumi-lang-yaml=\"`listenType`\" pulumi-lang-java=\"`listenType`\"\u003e`listen_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`requestProxy`\" pulumi-lang-dotnet=\"`RequestProxy`\" pulumi-lang-go=\"`requestProxy`\" pulumi-lang-python=\"`request_proxy`\" pulumi-lang-yaml=\"`requestProxy`\" pulumi-lang-java=\"`requestProxy`\"\u003e`request_proxy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e if \u003cspan pulumi-lang-nodejs=\"`listenType`\" pulumi-lang-dotnet=\"`ListenType`\" pulumi-lang-go=\"`listenType`\" pulumi-lang-python=\"`listen_type`\" pulumi-lang-yaml=\"`listenType`\" pulumi-lang-java=\"`listenType`\"\u003e`listen_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`packetsTransmit`\" pulumi-lang-dotnet=\"`PacketsTransmit`\" pulumi-lang-go=\"`packetsTransmit`\" pulumi-lang-python=\"`packets_transmit`\" pulumi-lang-yaml=\"`packetsTransmit`\" pulumi-lang-java=\"`packetsTransmit`\"\u003e`packets_transmit`\u003c/span\u003e.\n\n- - -\n"}},"requiredInputs":["loadBalancerId","protocol"],"stateInputs":{"description":"Input properties used for looking up and filtering LbListener resources.\n","properties":{"domain":{"type":"string","description":"Health check domain checking.\n"},"healthCheckType":{"type":"string","description":"Health check method. Possible values are \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\"\u003e`port`\u003c/span\u003e as port checking and \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e as http checking.\n"},"idleTimeout":{"type":"number","description":"Keep alive timeout of the connection between the client and LB, measured in second. Range: 0-86400 when \u003cspan pulumi-lang-nodejs=\"`listenType`\" pulumi-lang-dotnet=\"`ListenType`\" pulumi-lang-go=\"`listenType`\" pulumi-lang-python=\"`listen_type`\" pulumi-lang-yaml=\"`listenType`\" pulumi-lang-java=\"`listenType`\"\u003e`listen_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`requestProxy`\" pulumi-lang-dotnet=\"`RequestProxy`\" pulumi-lang-go=\"`requestProxy`\" pulumi-lang-python=\"`request_proxy`\" pulumi-lang-yaml=\"`requestProxy`\" pulumi-lang-java=\"`requestProxy`\"\u003e`request_proxy`\u003c/span\u003e, range: 60-900 when \u003cspan pulumi-lang-nodejs=\"`listenType`\" pulumi-lang-dotnet=\"`ListenType`\" pulumi-lang-go=\"`listenType`\" pulumi-lang-python=\"`listen_type`\" pulumi-lang-yaml=\"`listenType`\" pulumi-lang-java=\"`listenType`\"\u003e`listen_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`packetsTransmit`\" pulumi-lang-dotnet=\"`PacketsTransmit`\" pulumi-lang-go=\"`packetsTransmit`\" pulumi-lang-python=\"`packets_transmit`\" pulumi-lang-yaml=\"`packetsTransmit`\" pulumi-lang-java=\"`packetsTransmit`\"\u003e`packets_transmit`\u003c/span\u003e (Default: \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e). The connection will be closed as soon as no response between the client and LB if it set by \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"lbListenerId":{"type":"string","description":"The ID of the resource lb listener.\n"},"listenType":{"type":"string","description":"The type of listener. Possible values are \u003cspan pulumi-lang-nodejs=\"`requestProxy`\" pulumi-lang-dotnet=\"`RequestProxy`\" pulumi-lang-go=\"`requestProxy`\" pulumi-lang-python=\"`request_proxy`\" pulumi-lang-yaml=\"`requestProxy`\" pulumi-lang-java=\"`requestProxy`\"\u003e`request_proxy`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`packetsTransmit`\" pulumi-lang-dotnet=\"`PacketsTransmit`\" pulumi-lang-go=\"`packetsTransmit`\" pulumi-lang-python=\"`packets_transmit`\" pulumi-lang-yaml=\"`packetsTransmit`\" pulumi-lang-java=\"`packetsTransmit`\"\u003e`packets_transmit`\u003c/span\u003e. When \u003cspan pulumi-lang-nodejs=\"`packetsTransmit`\" pulumi-lang-dotnet=\"`PacketsTransmit`\" pulumi-lang-go=\"`packetsTransmit`\" pulumi-lang-python=\"`packets_transmit`\" pulumi-lang-yaml=\"`packetsTransmit`\" pulumi-lang-java=\"`packetsTransmit`\"\u003e`packets_transmit`\u003c/span\u003e was specified, you need to config the instances by yourself if the instances attach to the load balancer. You may refer to [configuration instruction](https://docs.ucloud.cn/network/ulb/fast/createulb/vservertype).\n"},"loadBalancerId":{"type":"string","description":"The ID of load balancer instance.\n"},"method":{"type":"string","description":"The load balancer method in which the listener is. Possible values are: \u003cspan pulumi-lang-nodejs=\"`roundrobin`\" pulumi-lang-dotnet=\"`Roundrobin`\" pulumi-lang-go=\"`roundrobin`\" pulumi-lang-python=\"`roundrobin`\" pulumi-lang-yaml=\"`roundrobin`\" pulumi-lang-java=\"`roundrobin`\"\u003e`roundrobin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`consistentHash`\" pulumi-lang-dotnet=\"`ConsistentHash`\" pulumi-lang-go=\"`consistentHash`\" pulumi-lang-python=\"`consistent_hash`\" pulumi-lang-yaml=\"`consistentHash`\" pulumi-lang-java=\"`consistentHash`\"\u003e`consistent_hash`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sourcePort`\" pulumi-lang-dotnet=\"`SourcePort`\" pulumi-lang-go=\"`sourcePort`\" pulumi-lang-python=\"`source_port`\" pulumi-lang-yaml=\"`sourcePort`\" pulumi-lang-java=\"`sourcePort`\"\u003e`source_port`\u003c/span\u003e , \u003cspan pulumi-lang-nodejs=\"`consistentHashPort`\" pulumi-lang-dotnet=\"`ConsistentHashPort`\" pulumi-lang-go=\"`consistentHashPort`\" pulumi-lang-python=\"`consistent_hash_port`\" pulumi-lang-yaml=\"`consistentHashPort`\" pulumi-lang-java=\"`consistentHashPort`\"\u003e`consistent_hash_port`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`weightRoundrobin`\" pulumi-lang-dotnet=\"`WeightRoundrobin`\" pulumi-lang-go=\"`weightRoundrobin`\" pulumi-lang-python=\"`weight_roundrobin`\" pulumi-lang-yaml=\"`weightRoundrobin`\" pulumi-lang-java=\"`weightRoundrobin`\"\u003e`weight_roundrobin`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`leastconn`\" pulumi-lang-dotnet=\"`Leastconn`\" pulumi-lang-go=\"`leastconn`\" pulumi-lang-python=\"`leastconn`\" pulumi-lang-yaml=\"`leastconn`\" pulumi-lang-java=\"`leastconn`\"\u003e`leastconn`\u003c/span\u003e. (Default: \u003cspan pulumi-lang-nodejs=\"`roundrobin`\" pulumi-lang-dotnet=\"`Roundrobin`\" pulumi-lang-go=\"`roundrobin`\" pulumi-lang-python=\"`roundrobin`\" pulumi-lang-yaml=\"`roundrobin`\" pulumi-lang-java=\"`roundrobin`\"\u003e`roundrobin`\u003c/span\u003e).\n- The \u003cspan pulumi-lang-nodejs=\"`consistentHash`\" pulumi-lang-dotnet=\"`ConsistentHash`\" pulumi-lang-go=\"`consistentHash`\" pulumi-lang-python=\"`consistent_hash`\" pulumi-lang-yaml=\"`consistentHash`\" pulumi-lang-java=\"`consistentHash`\"\u003e`consistent_hash`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sourcePort`\" pulumi-lang-dotnet=\"`SourcePort`\" pulumi-lang-go=\"`sourcePort`\" pulumi-lang-python=\"`source_port`\" pulumi-lang-yaml=\"`sourcePort`\" pulumi-lang-java=\"`sourcePort`\"\u003e`source_port`\u003c/span\u003e , \u003cspan pulumi-lang-nodejs=\"`consistentHashPort`\" pulumi-lang-dotnet=\"`ConsistentHashPort`\" pulumi-lang-go=\"`consistentHashPort`\" pulumi-lang-python=\"`consistent_hash_port`\" pulumi-lang-yaml=\"`consistentHashPort`\" pulumi-lang-java=\"`consistentHashPort`\"\u003e`consistent_hash_port`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`roundrobin`\" pulumi-lang-dotnet=\"`Roundrobin`\" pulumi-lang-go=\"`roundrobin`\" pulumi-lang-python=\"`roundrobin`\" pulumi-lang-yaml=\"`roundrobin`\" pulumi-lang-java=\"`roundrobin`\"\u003e`roundrobin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`weightRoundrobin`\" pulumi-lang-dotnet=\"`WeightRoundrobin`\" pulumi-lang-go=\"`weightRoundrobin`\" pulumi-lang-python=\"`weight_roundrobin`\" pulumi-lang-yaml=\"`weightRoundrobin`\" pulumi-lang-java=\"`weightRoundrobin`\"\u003e`weight_roundrobin`\u003c/span\u003e are valid if \u003cspan pulumi-lang-nodejs=\"`listenType`\" pulumi-lang-dotnet=\"`ListenType`\" pulumi-lang-go=\"`listenType`\" pulumi-lang-python=\"`listen_type`\" pulumi-lang-yaml=\"`listenType`\" pulumi-lang-java=\"`listenType`\"\u003e`listen_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`packetsTransmit`\" pulumi-lang-dotnet=\"`PacketsTransmit`\" pulumi-lang-go=\"`packetsTransmit`\" pulumi-lang-python=\"`packets_transmit`\" pulumi-lang-yaml=\"`packetsTransmit`\" pulumi-lang-java=\"`packetsTransmit`\"\u003e`packets_transmit`\u003c/span\u003e.\n- The \u003cspan pulumi-lang-nodejs=\"`roundrobin`\" pulumi-lang-dotnet=\"`Roundrobin`\" pulumi-lang-go=\"`roundrobin`\" pulumi-lang-python=\"`roundrobin`\" pulumi-lang-yaml=\"`roundrobin`\" pulumi-lang-java=\"`roundrobin`\"\u003e`roundrobin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`weightRoundrobin`\" pulumi-lang-dotnet=\"`WeightRoundrobin`\" pulumi-lang-go=\"`weightRoundrobin`\" pulumi-lang-python=\"`weight_roundrobin`\" pulumi-lang-yaml=\"`weightRoundrobin`\" pulumi-lang-java=\"`weightRoundrobin`\"\u003e`weight_roundrobin`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`leastconn`\" pulumi-lang-dotnet=\"`Leastconn`\" pulumi-lang-go=\"`leastconn`\" pulumi-lang-python=\"`leastconn`\" pulumi-lang-yaml=\"`leastconn`\" pulumi-lang-java=\"`leastconn`\"\u003e`leastconn`\u003c/span\u003e are valid if \u003cspan pulumi-lang-nodejs=\"`listenType`\" pulumi-lang-dotnet=\"`ListenType`\" pulumi-lang-go=\"`listenType`\" pulumi-lang-python=\"`listen_type`\" pulumi-lang-yaml=\"`listenType`\" pulumi-lang-java=\"`listenType`\"\u003e`listen_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`requestProxy`\" pulumi-lang-dotnet=\"`RequestProxy`\" pulumi-lang-go=\"`requestProxy`\" pulumi-lang-python=\"`request_proxy`\" pulumi-lang-yaml=\"`requestProxy`\" pulumi-lang-java=\"`requestProxy`\"\u003e`request_proxy`\u003c/span\u003e.\n"},"name":{"type":"string"},"path":{"type":"string","description":"Health check path checking.\n"},"persistence":{"type":"string","description":"Indicate whether the persistence session is enabled, it is invalid if \u003cspan pulumi-lang-nodejs=\"`persistenceType`\" pulumi-lang-dotnet=\"`PersistenceType`\" pulumi-lang-go=\"`persistenceType`\" pulumi-lang-python=\"`persistence_type`\" pulumi-lang-yaml=\"`persistenceType`\" pulumi-lang-java=\"`persistenceType`\"\u003e`persistence_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, an auto-generated string will be exported if \u003cspan pulumi-lang-nodejs=\"`persistenceType`\" pulumi-lang-dotnet=\"`PersistenceType`\" pulumi-lang-go=\"`persistenceType`\" pulumi-lang-python=\"`persistence_type`\" pulumi-lang-yaml=\"`persistenceType`\" pulumi-lang-java=\"`persistenceType`\"\u003e`persistence_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`serverInsert`\" pulumi-lang-dotnet=\"`ServerInsert`\" pulumi-lang-go=\"`serverInsert`\" pulumi-lang-python=\"`server_insert`\" pulumi-lang-yaml=\"`serverInsert`\" pulumi-lang-java=\"`serverInsert`\"\u003e`server_insert`\u003c/span\u003e, a custom string will be exported if \u003cspan pulumi-lang-nodejs=\"`persistenceType`\" pulumi-lang-dotnet=\"`PersistenceType`\" pulumi-lang-go=\"`persistenceType`\" pulumi-lang-python=\"`persistence_type`\" pulumi-lang-yaml=\"`persistenceType`\" pulumi-lang-java=\"`persistenceType`\"\u003e`persistence_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`userDefined`\" pulumi-lang-dotnet=\"`UserDefined`\" pulumi-lang-go=\"`userDefined`\" pulumi-lang-python=\"`user_defined`\" pulumi-lang-yaml=\"`userDefined`\" pulumi-lang-java=\"`userDefined`\"\u003e`user_defined`\u003c/span\u003e.\n"},"persistenceType":{"type":"string","description":"The type of session persistence of listener. Possible values are: \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e as disabled, \u003cspan pulumi-lang-nodejs=\"`serverInsert`\" pulumi-lang-dotnet=\"`ServerInsert`\" pulumi-lang-go=\"`serverInsert`\" pulumi-lang-python=\"`server_insert`\" pulumi-lang-yaml=\"`serverInsert`\" pulumi-lang-java=\"`serverInsert`\"\u003e`server_insert`\u003c/span\u003e as auto-generated key and \u003cspan pulumi-lang-nodejs=\"`userDefined`\" pulumi-lang-dotnet=\"`UserDefined`\" pulumi-lang-go=\"`userDefined`\" pulumi-lang-python=\"`user_defined`\" pulumi-lang-yaml=\"`userDefined`\" pulumi-lang-java=\"`userDefined`\"\u003e`user_defined`\u003c/span\u003e as customized key. (Default: \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e).\n"},"port":{"type":"number","description":"Port opened on the listeners to receive requests, range: 1-65535. The default value: \u003cspan pulumi-lang-nodejs=\"`80`\" pulumi-lang-dotnet=\"`80`\" pulumi-lang-go=\"`80`\" pulumi-lang-python=\"`80`\" pulumi-lang-yaml=\"`80`\" pulumi-lang-java=\"`80`\"\u003e`80`\u003c/span\u003e as \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`443`\" pulumi-lang-dotnet=\"`443`\" pulumi-lang-go=\"`443`\" pulumi-lang-python=\"`443`\" pulumi-lang-yaml=\"`443`\" pulumi-lang-java=\"`443`\"\u003e`443`\u003c/span\u003e as \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1024`\" pulumi-lang-dotnet=\"`1024`\" pulumi-lang-go=\"`1024`\" pulumi-lang-python=\"`1024`\" pulumi-lang-yaml=\"`1024`\" pulumi-lang-java=\"`1024`\"\u003e`1024`\u003c/span\u003e as \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e.\n"},"protocol":{"type":"string","description":"Listener protocol. Possible values: \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e if \u003cspan pulumi-lang-nodejs=\"`listenType`\" pulumi-lang-dotnet=\"`ListenType`\" pulumi-lang-go=\"`listenType`\" pulumi-lang-python=\"`listen_type`\" pulumi-lang-yaml=\"`listenType`\" pulumi-lang-java=\"`listenType`\"\u003e`listen_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`requestProxy`\" pulumi-lang-dotnet=\"`RequestProxy`\" pulumi-lang-go=\"`requestProxy`\" pulumi-lang-python=\"`request_proxy`\" pulumi-lang-yaml=\"`requestProxy`\" pulumi-lang-java=\"`requestProxy`\"\u003e`request_proxy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e if \u003cspan pulumi-lang-nodejs=\"`listenType`\" pulumi-lang-dotnet=\"`ListenType`\" pulumi-lang-go=\"`listenType`\" pulumi-lang-python=\"`listen_type`\" pulumi-lang-yaml=\"`listenType`\" pulumi-lang-java=\"`listenType`\"\u003e`listen_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`packetsTransmit`\" pulumi-lang-dotnet=\"`PacketsTransmit`\" pulumi-lang-go=\"`packetsTransmit`\" pulumi-lang-python=\"`packets_transmit`\" pulumi-lang-yaml=\"`packetsTransmit`\" pulumi-lang-java=\"`packetsTransmit`\"\u003e`packets_transmit`\u003c/span\u003e.\n\n- - -\n"},"status":{"type":"string","description":"Listener status. Possible values are: `allNormal` for all resource functioning well, `partNormal` for partial resource functioning well and `allException` for all resource functioning exceptional.\n"}},"type":"object"}},"ucloud:index/lbRule:LbRule":{"description":"Provides a Load Balancer Rule resource to add content forwarding policies for Load Balancer backend resource.\n \n\u003e **Note** The Load Balancer Rule can only be define while the \u003cspan pulumi-lang-nodejs=\"`protocol`\" pulumi-lang-dotnet=\"`Protocol`\" pulumi-lang-go=\"`protocol`\" pulumi-lang-python=\"`protocol`\" pulumi-lang-yaml=\"`protocol`\" pulumi-lang-java=\"`protocol`\"\u003e`protocol`\u003c/span\u003e of lb listener is one of HTTP and HTTPS. In addition, should set one of \u003cspan pulumi-lang-nodejs=\"`domain`\" pulumi-lang-dotnet=\"`Domain`\" pulumi-lang-go=\"`domain`\" pulumi-lang-python=\"`domain`\" pulumi-lang-yaml=\"`domain`\" pulumi-lang-java=\"`domain`\"\u003e`domain`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e if defined.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst _default = ucloud.getImages({\n    availabilityZone: \"cn-bj2-02\",\n    nameRegex: \"^CentOS 6.5 64\",\n    imageType: \"base\",\n});\nconst web = new ucloud.Lb(\"web\", {\n    name: \"tf-example-lb\",\n    tag: \"tf-example\",\n});\nconst defaultLbListener = new ucloud.LbListener(\"default\", {\n    loadBalancerId: web.lbId,\n    protocol: \"http\",\n});\nconst webInstance = new ucloud.Instance(\"web\", {\n    instanceType: \"n-basic-2\",\n    availabilityZone: \"cn-bj2-02\",\n    rootPassword: \"wA1234567\",\n    imageId: _default.then(_default =\u003e _default.images?.[0]?.id),\n    name: \"tf-example-lb\",\n    tag: \"tf-example\",\n});\nconst defaultLbAttachment = new ucloud.LbAttachment(\"default\", {\n    loadBalancerId: web.lbId,\n    listenerId: defaultLbListener.lbListenerId,\n    resourceType: \"instance\",\n    resourceId: webInstance.instanceId,\n    port: 80,\n});\nconst example = new ucloud.LbRule(\"example\", {\n    loadBalancerId: web.lbId,\n    listenerId: defaultLbListener.lbListenerId,\n    backendIds: [defaultLbAttachment].map(__item =\u003e __item.id),\n    domain: \"www.ucloud.cn\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\ndefault = ucloud.get_images(availability_zone=\"cn-bj2-02\",\n    name_regex=\"^CentOS 6.5 64\",\n    image_type=\"base\")\nweb = ucloud.Lb(\"web\",\n    name=\"tf-example-lb\",\n    tag=\"tf-example\")\ndefault_lb_listener = ucloud.LbListener(\"default\",\n    load_balancer_id=web.lb_id,\n    protocol=\"http\")\nweb_instance = ucloud.Instance(\"web\",\n    instance_type=\"n-basic-2\",\n    availability_zone=\"cn-bj2-02\",\n    root_password=\"wA1234567\",\n    image_id=default.images[0].id,\n    name=\"tf-example-lb\",\n    tag=\"tf-example\")\ndefault_lb_attachment = ucloud.LbAttachment(\"default\",\n    load_balancer_id=web.lb_id,\n    listener_id=default_lb_listener.lb_listener_id,\n    resource_type=\"instance\",\n    resource_id=web_instance.instance_id,\n    port=80)\nexample = ucloud.LbRule(\"example\",\n    load_balancer_id=web.lb_id,\n    listener_id=default_lb_listener.lb_listener_id,\n    backend_ids=[__item.id for __item in [default_lb_attachment]],\n    domain=\"www.ucloud.cn\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @default = Ucloud.GetImages.Invoke(new()\n    {\n        AvailabilityZone = \"cn-bj2-02\",\n        NameRegex = \"^CentOS 6.5 64\",\n        ImageType = \"base\",\n    });\n\n    var web = new Ucloud.Lb(\"web\", new()\n    {\n        Name = \"tf-example-lb\",\n        Tag = \"tf-example\",\n    });\n\n    var defaultLbListener = new Ucloud.LbListener(\"default\", new()\n    {\n        LoadBalancerId = web.LbId,\n        Protocol = \"http\",\n    });\n\n    var webInstance = new Ucloud.Instance(\"web\", new()\n    {\n        InstanceType = \"n-basic-2\",\n        AvailabilityZone = \"cn-bj2-02\",\n        RootPassword = \"wA1234567\",\n        ImageId = @default.Apply(@default =\u003e @default.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id)),\n        Name = \"tf-example-lb\",\n        Tag = \"tf-example\",\n    });\n\n    var defaultLbAttachment = new Ucloud.LbAttachment(\"default\", new()\n    {\n        LoadBalancerId = web.LbId,\n        ListenerId = defaultLbListener.LbListenerId,\n        ResourceType = \"instance\",\n        ResourceId = webInstance.InstanceId,\n        Port = 80,\n    });\n\n    var example = new Ucloud.LbRule(\"example\", new()\n    {\n        LoadBalancerId = web.LbId,\n        ListenerId = defaultLbListener.LbListenerId,\n        BackendIds = new[]\n        {\n            defaultLbAttachment,\n        }.Select(__item =\u003e __item.Id).ToList(),\n        Domain = \"www.ucloud.cn\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_default, err := ucloud.GetImages(ctx, \u0026ucloud.GetImagesArgs{\nAvailabilityZone: pulumi.StringRef(\"cn-bj2-02\"),\nNameRegex: pulumi.StringRef(\"^CentOS 6.5 64\"),\nImageType: pulumi.StringRef(\"base\"),\n}, nil);\nif err != nil {\nreturn err\n}\nweb, err := ucloud.NewLb(ctx, \"web\", \u0026ucloud.LbArgs{\nName: pulumi.String(\"tf-example-lb\"),\nTag: pulumi.String(\"tf-example\"),\n})\nif err != nil {\nreturn err\n}\ndefaultLbListener, err := ucloud.NewLbListener(ctx, \"default\", \u0026ucloud.LbListenerArgs{\nLoadBalancerId: web.LbId,\nProtocol: pulumi.String(\"http\"),\n})\nif err != nil {\nreturn err\n}\nwebInstance, err := ucloud.NewInstance(ctx, \"web\", \u0026ucloud.InstanceArgs{\nInstanceType: pulumi.String(\"n-basic-2\"),\nAvailabilityZone: pulumi.String(\"cn-bj2-02\"),\nRootPassword: pulumi.String(\"wA1234567\"),\nImageId: pulumi.String(_default.Images[0].Id),\nName: pulumi.String(\"tf-example-lb\"),\nTag: pulumi.String(\"tf-example\"),\n})\nif err != nil {\nreturn err\n}\ndefaultLbAttachment, err := ucloud.NewLbAttachment(ctx, \"default\", \u0026ucloud.LbAttachmentArgs{\nLoadBalancerId: web.LbId,\nListenerId: defaultLbListener.LbListenerId,\nResourceType: pulumi.String(\"instance\"),\nResourceId: webInstance.InstanceId,\nPort: pulumi.Float64(80),\n})\nif err != nil {\nreturn err\n}\nvar splat0 pulumi.StringArray\nfor _, val0 := range %!v(PANIC=Format method: fatal: An assertion has failed: tok: ) {\nsplat0 = append(splat0, val0.ID())\n}\n_, err = ucloud.NewLbRule(ctx, \"example\", \u0026ucloud.LbRuleArgs{\nLoadBalancerId: web.LbId,\nListenerId: defaultLbListener.LbListenerId,\nBackendIds: splat0,\nDomain: pulumi.String(\"www.ucloud.cn\"),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetImagesArgs;\nimport com.pulumi.ucloud.Lb;\nimport com.pulumi.ucloud.LbArgs;\nimport com.pulumi.ucloud.LbListener;\nimport com.pulumi.ucloud.LbListenerArgs;\nimport com.pulumi.ucloud.Instance;\nimport com.pulumi.ucloud.InstanceArgs;\nimport com.pulumi.ucloud.LbAttachment;\nimport com.pulumi.ucloud.LbAttachmentArgs;\nimport com.pulumi.ucloud.LbRule;\nimport com.pulumi.ucloud.LbRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var default = UcloudFunctions.getImages(GetImagesArgs.builder()\n            .availabilityZone(\"cn-bj2-02\")\n            .nameRegex(\"^CentOS 6.5 64\")\n            .imageType(\"base\")\n            .build());\n\n        var web = new Lb(\"web\", LbArgs.builder()\n            .name(\"tf-example-lb\")\n            .tag(\"tf-example\")\n            .build());\n\n        var defaultLbListener = new LbListener(\"defaultLbListener\", LbListenerArgs.builder()\n            .loadBalancerId(web.lbId())\n            .protocol(\"http\")\n            .build());\n\n        var webInstance = new Instance(\"webInstance\", InstanceArgs.builder()\n            .instanceType(\"n-basic-2\")\n            .availabilityZone(\"cn-bj2-02\")\n            .rootPassword(\"wA1234567\")\n            .imageId(default_.images()[0].id())\n            .name(\"tf-example-lb\")\n            .tag(\"tf-example\")\n            .build());\n\n        var defaultLbAttachment = new LbAttachment(\"defaultLbAttachment\", LbAttachmentArgs.builder()\n            .loadBalancerId(web.lbId())\n            .listenerId(defaultLbListener.lbListenerId())\n            .resourceType(\"instance\")\n            .resourceId(webInstance.instanceId())\n            .port(80.0)\n            .build());\n\n        var example = new LbRule(\"example\", LbRuleArgs.builder()\n            .loadBalancerId(web.lbId())\n            .listenerId(defaultLbListener.lbListenerId())\n            .backendIds(defaultLbAttachment.stream().map(element -\u003e element.id()).collect(toList()))\n            .domain(\"www.ucloud.cn\")\n            .build());\n\n    }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLB Listener can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import ucloud:index/lbRule:LbRule example rule-abcdefg\n```\n","properties":{"backendIds":{"type":"array","items":{"type":"string"},"description":"The IDs of the backend servers where rule applies, this argument is populated base on the \u003cspan pulumi-lang-nodejs=\"`backendId`\" pulumi-lang-dotnet=\"`BackendId`\" pulumi-lang-go=\"`backendId`\" pulumi-lang-python=\"`backend_id`\" pulumi-lang-yaml=\"`backendId`\" pulumi-lang-java=\"`backendId`\"\u003e`backend_id`\u003c/span\u003e responded from \u003cspan pulumi-lang-nodejs=\"`lbAttachment`\" pulumi-lang-dotnet=\"`LbAttachment`\" pulumi-lang-go=\"`lbAttachment`\" pulumi-lang-python=\"`lb_attachment`\" pulumi-lang-yaml=\"`lbAttachment`\" pulumi-lang-java=\"`lbAttachment`\"\u003e`lb_attachment`\u003c/span\u003e create.\n\n- - -\n"},"domain":{"type":"string","description":"The domain of content forward matching fields. \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`domain`\" pulumi-lang-dotnet=\"`Domain`\" pulumi-lang-go=\"`domain`\" pulumi-lang-python=\"`domain`\" pulumi-lang-yaml=\"`domain`\" pulumi-lang-java=\"`domain`\"\u003e`domain`\u003c/span\u003e cannot coexist. \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`domain`\" pulumi-lang-dotnet=\"`Domain`\" pulumi-lang-go=\"`domain`\" pulumi-lang-python=\"`domain`\" pulumi-lang-yaml=\"`domain`\" pulumi-lang-java=\"`domain`\"\u003e`domain`\u003c/span\u003e must be filled in one.\n"},"lbRuleId":{"type":"string","description":"The ID of the resource lb rule.\n"},"listenerId":{"type":"string","description":"The ID of a listener server.\n"},"loadBalancerId":{"type":"string","description":"The ID of a load balancer.\n"},"path":{"type":"string","description":"The path of Content forward matching fields. \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`domain`\" pulumi-lang-dotnet=\"`Domain`\" pulumi-lang-go=\"`domain`\" pulumi-lang-python=\"`domain`\" pulumi-lang-yaml=\"`domain`\" pulumi-lang-java=\"`domain`\"\u003e`domain`\u003c/span\u003e cannot coexist. \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`domain`\" pulumi-lang-dotnet=\"`Domain`\" pulumi-lang-go=\"`domain`\" pulumi-lang-python=\"`domain`\" pulumi-lang-yaml=\"`domain`\" pulumi-lang-java=\"`domain`\"\u003e`domain`\u003c/span\u003e must be filled in one.\n"}},"type":"object","required":["backendIds","lbRuleId","listenerId","loadBalancerId"],"inputProperties":{"backendIds":{"type":"array","items":{"type":"string"},"description":"The IDs of the backend servers where rule applies, this argument is populated base on the \u003cspan pulumi-lang-nodejs=\"`backendId`\" pulumi-lang-dotnet=\"`BackendId`\" pulumi-lang-go=\"`backendId`\" pulumi-lang-python=\"`backend_id`\" pulumi-lang-yaml=\"`backendId`\" pulumi-lang-java=\"`backendId`\"\u003e`backend_id`\u003c/span\u003e responded from \u003cspan pulumi-lang-nodejs=\"`lbAttachment`\" pulumi-lang-dotnet=\"`LbAttachment`\" pulumi-lang-go=\"`lbAttachment`\" pulumi-lang-python=\"`lb_attachment`\" pulumi-lang-yaml=\"`lbAttachment`\" pulumi-lang-java=\"`lbAttachment`\"\u003e`lb_attachment`\u003c/span\u003e create.\n\n- - -\n"},"domain":{"type":"string","description":"The domain of content forward matching fields. \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`domain`\" pulumi-lang-dotnet=\"`Domain`\" pulumi-lang-go=\"`domain`\" pulumi-lang-python=\"`domain`\" pulumi-lang-yaml=\"`domain`\" pulumi-lang-java=\"`domain`\"\u003e`domain`\u003c/span\u003e cannot coexist. \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`domain`\" pulumi-lang-dotnet=\"`Domain`\" pulumi-lang-go=\"`domain`\" pulumi-lang-python=\"`domain`\" pulumi-lang-yaml=\"`domain`\" pulumi-lang-java=\"`domain`\"\u003e`domain`\u003c/span\u003e must be filled in one.\n"},"lbRuleId":{"type":"string","description":"The ID of the resource lb rule.\n"},"listenerId":{"type":"string","description":"The ID of a listener server.\n"},"loadBalancerId":{"type":"string","description":"The ID of a load balancer.\n"},"path":{"type":"string","description":"The path of Content forward matching fields. \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`domain`\" pulumi-lang-dotnet=\"`Domain`\" pulumi-lang-go=\"`domain`\" pulumi-lang-python=\"`domain`\" pulumi-lang-yaml=\"`domain`\" pulumi-lang-java=\"`domain`\"\u003e`domain`\u003c/span\u003e cannot coexist. \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`domain`\" pulumi-lang-dotnet=\"`Domain`\" pulumi-lang-go=\"`domain`\" pulumi-lang-python=\"`domain`\" pulumi-lang-yaml=\"`domain`\" pulumi-lang-java=\"`domain`\"\u003e`domain`\u003c/span\u003e must be filled in one.\n"}},"requiredInputs":["backendIds","listenerId","loadBalancerId"],"stateInputs":{"description":"Input properties used for looking up and filtering LbRule resources.\n","properties":{"backendIds":{"type":"array","items":{"type":"string"},"description":"The IDs of the backend servers where rule applies, this argument is populated base on the \u003cspan pulumi-lang-nodejs=\"`backendId`\" pulumi-lang-dotnet=\"`BackendId`\" pulumi-lang-go=\"`backendId`\" pulumi-lang-python=\"`backend_id`\" pulumi-lang-yaml=\"`backendId`\" pulumi-lang-java=\"`backendId`\"\u003e`backend_id`\u003c/span\u003e responded from \u003cspan pulumi-lang-nodejs=\"`lbAttachment`\" pulumi-lang-dotnet=\"`LbAttachment`\" pulumi-lang-go=\"`lbAttachment`\" pulumi-lang-python=\"`lb_attachment`\" pulumi-lang-yaml=\"`lbAttachment`\" pulumi-lang-java=\"`lbAttachment`\"\u003e`lb_attachment`\u003c/span\u003e create.\n\n- - -\n"},"domain":{"type":"string","description":"The domain of content forward matching fields. \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`domain`\" pulumi-lang-dotnet=\"`Domain`\" pulumi-lang-go=\"`domain`\" pulumi-lang-python=\"`domain`\" pulumi-lang-yaml=\"`domain`\" pulumi-lang-java=\"`domain`\"\u003e`domain`\u003c/span\u003e cannot coexist. \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`domain`\" pulumi-lang-dotnet=\"`Domain`\" pulumi-lang-go=\"`domain`\" pulumi-lang-python=\"`domain`\" pulumi-lang-yaml=\"`domain`\" pulumi-lang-java=\"`domain`\"\u003e`domain`\u003c/span\u003e must be filled in one.\n"},"lbRuleId":{"type":"string","description":"The ID of the resource lb rule.\n"},"listenerId":{"type":"string","description":"The ID of a listener server.\n"},"loadBalancerId":{"type":"string","description":"The ID of a load balancer.\n"},"path":{"type":"string","description":"The path of Content forward matching fields. \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`domain`\" pulumi-lang-dotnet=\"`Domain`\" pulumi-lang-go=\"`domain`\" pulumi-lang-python=\"`domain`\" pulumi-lang-yaml=\"`domain`\" pulumi-lang-java=\"`domain`\"\u003e`domain`\u003c/span\u003e cannot coexist. \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`domain`\" pulumi-lang-dotnet=\"`Domain`\" pulumi-lang-go=\"`domain`\" pulumi-lang-python=\"`domain`\" pulumi-lang-yaml=\"`domain`\" pulumi-lang-java=\"`domain`\"\u003e`domain`\u003c/span\u003e must be filled in one.\n"}},"type":"object"}},"ucloud:index/lbSsl:LbSsl":{"description":"Provides a Load Balancer SSL certificate resource.\n\n","properties":{"caCert":{"type":"string","description":"The content of the CA certificate about ssl certificate.\n"},"createTime":{"type":"string","description":"The time of creation for lb ssl, formatted in RFC3339 time string.\n"},"lbSslId":{"type":"string","description":"The ID of the resource lb ssl.\n"},"name":{"type":"string"},"privateKey":{"type":"string","description":"The content of the private key about ssl certificate.\n"},"userCert":{"type":"string","description":"The content of the user certificate about ssl certificate.\n\n- - -\n"}},"type":"object","required":["createTime","lbSslId","name","privateKey","userCert"],"inputProperties":{"caCert":{"type":"string","description":"The content of the CA certificate about ssl certificate.\n"},"lbSslId":{"type":"string","description":"The ID of the resource lb ssl.\n"},"name":{"type":"string"},"privateKey":{"type":"string","description":"The content of the private key about ssl certificate.\n"},"userCert":{"type":"string","description":"The content of the user certificate about ssl certificate.\n\n- - -\n"}},"requiredInputs":["privateKey","userCert"],"stateInputs":{"description":"Input properties used for looking up and filtering LbSsl resources.\n","properties":{"caCert":{"type":"string","description":"The content of the CA certificate about ssl certificate.\n"},"createTime":{"type":"string","description":"The time of creation for lb ssl, formatted in RFC3339 time string.\n"},"lbSslId":{"type":"string","description":"The ID of the resource lb ssl.\n"},"name":{"type":"string"},"privateKey":{"type":"string","description":"The content of the private key about ssl certificate.\n"},"userCert":{"type":"string","description":"The content of the user certificate about ssl certificate.\n\n- - -\n"}},"type":"object"}},"ucloud:index/lbSslAttachment:LbSslAttachment":{"description":"Provides a Load Balancer SSL attachment resource for attaching SSL certificate to Load Balancer Listener.\n\n","properties":{"lbSslAttachmentId":{"type":"string"},"listenerId":{"type":"string","description":"The ID of listener servers.\n"},"loadBalancerId":{"type":"string"},"sslId":{"type":"string","description":"The ID of SSL certificate.\n"}},"type":"object","required":["lbSslAttachmentId","listenerId","loadBalancerId","sslId"],"inputProperties":{"lbSslAttachmentId":{"type":"string"},"listenerId":{"type":"string","description":"The ID of listener servers.\n"},"loadBalancerId":{"type":"string"},"sslId":{"type":"string","description":"The ID of SSL certificate.\n"}},"requiredInputs":["listenerId","loadBalancerId","sslId"],"stateInputs":{"description":"Input properties used for looking up and filtering LbSslAttachment resources.\n","properties":{"lbSslAttachmentId":{"type":"string"},"listenerId":{"type":"string","description":"The ID of listener servers.\n"},"loadBalancerId":{"type":"string"},"sslId":{"type":"string","description":"The ID of SSL certificate.\n"}},"type":"object"}},"ucloud:index/memcacheInstance:MemcacheInstance":{"description":"The UCloud Memcache instance is a key-value online storage service compatible with the Memcached protocol.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst _default = ucloud.getZones({});\nconst master = new ucloud.MemcacheInstance(\"master\", {\n    availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n    instanceType: \"memcache-master-2\",\n    name: \"tf-example-memcache\",\n    tag: \"tf-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\ndefault = ucloud.get_zones()\nmaster = ucloud.MemcacheInstance(\"master\",\n    availability_zone=default.zones[0].id,\n    instance_type=\"memcache-master-2\",\n    name=\"tf-example-memcache\",\n    tag=\"tf-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @default = Ucloud.GetZones.Invoke();\n\n    var master = new Ucloud.MemcacheInstance(\"master\", new()\n    {\n        AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n        InstanceType = \"memcache-master-2\",\n        Name = \"tf-example-memcache\",\n        Tag = \"tf-example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := ucloud.GetZones(ctx, \u0026ucloud.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ucloud.NewMemcacheInstance(ctx, \"master\", \u0026ucloud.MemcacheInstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(_default.Zones[0].Id),\n\t\t\tInstanceType:     pulumi.String(\"memcache-master-2\"),\n\t\t\tName:             pulumi.String(\"tf-example-memcache\"),\n\t\t\tTag:              pulumi.String(\"tf-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetZonesArgs;\nimport com.pulumi.ucloud.MemcacheInstance;\nimport com.pulumi.ucloud.MemcacheInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var default = UcloudFunctions.getZones(GetZonesArgs.builder()\n            .build());\n\n        var master = new MemcacheInstance(\"master\", MemcacheInstanceArgs.builder()\n            .availabilityZone(default_.zones()[0].id())\n            .instanceType(\"memcache-master-2\")\n            .name(\"tf-example-memcache\")\n            .tag(\"tf-example\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  master:\n    type: ucloud:MemcacheInstance\n    properties:\n      availabilityZone: ${default.zones[0].id}\n      instanceType: memcache-master-2\n      name: tf-example-memcache\n      tag: tf-example\nvariables:\n  default:\n    fn::invoke:\n      function: ucloud:getZones\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"availabilityZone":{"type":"string","description":"Availability zone where Memcache instance is located. Such as: \"cn-bj2-02\". You may refer to [list of availability zone](https://docs.ucloud.cn/api/summary/regionlist)\n"},"chargeType":{"type":"string","description":"The charge type of Memcache instance, possible values are: \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\"\u003e`year`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e as pay by hour (specific permission required). (Default: \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e).\n"},"createTime":{"type":"string","description":"The creation time of Memcache instance, formatted by RFC3339 time string.\n"},"duration":{"type":"number","description":"The duration that you will buy the Memcache instance (Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e). The value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e when pay by month and the instance will be valid till the last day of that month. It is not required when \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e (pay by hour).\n"},"expireTime":{"type":"string","description":"The expiration time of Memcache instance, formatted by RFC3339 time string.\n"},"instanceType":{"type":"string","description":"The type of Memcache instance, please visit the instance type table for more details.\n\n- - -\n"},"ipSets":{"type":"array","items":{"$ref":"#/types/ucloud:index%2FMemcacheInstanceIpSet:MemcacheInstanceIpSet"},"description":"ip_set is a nested type.\u003cspan pulumi-lang-nodejs=\" ipSet \" pulumi-lang-dotnet=\" IpSet \" pulumi-lang-go=\" ipSet \" pulumi-lang-python=\" ip_set \" pulumi-lang-yaml=\" ipSet \" pulumi-lang-java=\" ipSet \"\u003e ip_set \u003c/span\u003edocumented below.\n"},"memcacheInstanceId":{"type":"string","description":"The ID of the resource Memcache instance.\n"},"name":{"type":"string"},"status":{"type":"string","description":"The status of KV Memcache instance.\n"},"subnetId":{"type":"string","description":"The ID of subnet linked to the Memcache instance.\n"},"tag":{"type":"string","description":"A tag assigned to Memcache instance, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"vpcId":{"type":"string","description":"The ID of VPC linked to the Memcache instance.\n"}},"type":"object","required":["availabilityZone","chargeType","createTime","expireTime","instanceType","ipSets","memcacheInstanceId","name","status","subnetId","tag","vpcId"],"inputProperties":{"availabilityZone":{"type":"string","description":"Availability zone where Memcache instance is located. Such as: \"cn-bj2-02\". You may refer to [list of availability zone](https://docs.ucloud.cn/api/summary/regionlist)\n"},"chargeType":{"type":"string","description":"The charge type of Memcache instance, possible values are: \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\"\u003e`year`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e as pay by hour (specific permission required). (Default: \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e).\n"},"duration":{"type":"number","description":"The duration that you will buy the Memcache instance (Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e). The value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e when pay by month and the instance will be valid till the last day of that month. It is not required when \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e (pay by hour).\n"},"instanceType":{"type":"string","description":"The type of Memcache instance, please visit the instance type table for more details.\n\n- - -\n"},"memcacheInstanceId":{"type":"string","description":"The ID of the resource Memcache instance.\n"},"name":{"type":"string"},"subnetId":{"type":"string","description":"The ID of subnet linked to the Memcache instance.\n"},"tag":{"type":"string","description":"A tag assigned to Memcache instance, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"vpcId":{"type":"string","description":"The ID of VPC linked to the Memcache instance.\n"}},"requiredInputs":["availabilityZone","instanceType"],"stateInputs":{"description":"Input properties used for looking up and filtering MemcacheInstance resources.\n","properties":{"availabilityZone":{"type":"string","description":"Availability zone where Memcache instance is located. Such as: \"cn-bj2-02\". You may refer to [list of availability zone](https://docs.ucloud.cn/api/summary/regionlist)\n"},"chargeType":{"type":"string","description":"The charge type of Memcache instance, possible values are: \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\"\u003e`year`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e as pay by hour (specific permission required). (Default: \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e).\n"},"createTime":{"type":"string","description":"The creation time of Memcache instance, formatted by RFC3339 time string.\n"},"duration":{"type":"number","description":"The duration that you will buy the Memcache instance (Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e). The value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e when pay by month and the instance will be valid till the last day of that month. It is not required when \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e (pay by hour).\n"},"expireTime":{"type":"string","description":"The expiration time of Memcache instance, formatted by RFC3339 time string.\n"},"instanceType":{"type":"string","description":"The type of Memcache instance, please visit the instance type table for more details.\n\n- - -\n"},"ipSets":{"type":"array","items":{"$ref":"#/types/ucloud:index%2FMemcacheInstanceIpSet:MemcacheInstanceIpSet"},"description":"ip_set is a nested type.\u003cspan pulumi-lang-nodejs=\" ipSet \" pulumi-lang-dotnet=\" IpSet \" pulumi-lang-go=\" ipSet \" pulumi-lang-python=\" ip_set \" pulumi-lang-yaml=\" ipSet \" pulumi-lang-java=\" ipSet \"\u003e ip_set \u003c/span\u003edocumented below.\n"},"memcacheInstanceId":{"type":"string","description":"The ID of the resource Memcache instance.\n"},"name":{"type":"string"},"status":{"type":"string","description":"The status of KV Memcache instance.\n"},"subnetId":{"type":"string","description":"The ID of subnet linked to the Memcache instance.\n"},"tag":{"type":"string","description":"A tag assigned to Memcache instance, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"vpcId":{"type":"string","description":"The ID of VPC linked to the Memcache instance.\n"}},"type":"object"}},"ucloud:index/natGateway:NatGateway":{"description":"Provides a Nat Gateway resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst fooVpc = new ucloud.Vpc(\"foo\", {\n    name: \"tf-acc-nat-gateway-basic\",\n    tag: \"tf-acc\",\n    cidrBlocks: [\"192.168.0.0/16\"],\n});\nconst fooSubnet = new ucloud.Subnet(\"foo\", {\n    name: \"tf-acc-nat-gateway-basic\",\n    tag: \"tf-acc\",\n    cidrBlock: \"192.168.1.0/24\",\n    vpcId: fooVpc.vpcId,\n});\nconst fooEip = new ucloud.Eip(\"foo\", {\n    name: \"tf-acc-nat-gateway-basic\",\n    bandwidth: 1,\n    internetType: \"bgp\",\n    chargeMode: \"bandwidth\",\n    tag: \"tf-acc\",\n});\nconst foo = ucloud.getSecurityGroups({\n    type: \"recommend_web\",\n});\nconst fooNatGateway = new ucloud.NatGateway(\"foo\", {\n    vpcId: fooVpc.vpcId,\n    subnetIds: [fooSubnet.subnetId],\n    eipId: fooEip.eipId,\n    name: \"tf-acc-nat-gateway-basic\",\n    tag: \"tf-acc\",\n    securityGroup: foo.then(foo =\u003e foo.securityGroups?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nfoo_vpc = ucloud.Vpc(\"foo\",\n    name=\"tf-acc-nat-gateway-basic\",\n    tag=\"tf-acc\",\n    cidr_blocks=[\"192.168.0.0/16\"])\nfoo_subnet = ucloud.Subnet(\"foo\",\n    name=\"tf-acc-nat-gateway-basic\",\n    tag=\"tf-acc\",\n    cidr_block=\"192.168.1.0/24\",\n    vpc_id=foo_vpc.vpc_id)\nfoo_eip = ucloud.Eip(\"foo\",\n    name=\"tf-acc-nat-gateway-basic\",\n    bandwidth=1,\n    internet_type=\"bgp\",\n    charge_mode=\"bandwidth\",\n    tag=\"tf-acc\")\nfoo = ucloud.get_security_groups(type=\"recommend_web\")\nfoo_nat_gateway = ucloud.NatGateway(\"foo\",\n    vpc_id=foo_vpc.vpc_id,\n    subnet_ids=[foo_subnet.subnet_id],\n    eip_id=foo_eip.eip_id,\n    name=\"tf-acc-nat-gateway-basic\",\n    tag=\"tf-acc\",\n    security_group=foo.security_groups[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var fooVpc = new Ucloud.Vpc(\"foo\", new()\n    {\n        Name = \"tf-acc-nat-gateway-basic\",\n        Tag = \"tf-acc\",\n        CidrBlocks = new[]\n        {\n            \"192.168.0.0/16\",\n        },\n    });\n\n    var fooSubnet = new Ucloud.Subnet(\"foo\", new()\n    {\n        Name = \"tf-acc-nat-gateway-basic\",\n        Tag = \"tf-acc\",\n        CidrBlock = \"192.168.1.0/24\",\n        VpcId = fooVpc.VpcId,\n    });\n\n    var fooEip = new Ucloud.Eip(\"foo\", new()\n    {\n        Name = \"tf-acc-nat-gateway-basic\",\n        Bandwidth = 1,\n        InternetType = \"bgp\",\n        ChargeMode = \"bandwidth\",\n        Tag = \"tf-acc\",\n    });\n\n    var foo = Ucloud.GetSecurityGroups.Invoke(new()\n    {\n        Type = \"recommend_web\",\n    });\n\n    var fooNatGateway = new Ucloud.NatGateway(\"foo\", new()\n    {\n        VpcId = fooVpc.VpcId,\n        SubnetIds = new[]\n        {\n            fooSubnet.SubnetId,\n        },\n        EipId = fooEip.EipId,\n        Name = \"tf-acc-nat-gateway-basic\",\n        Tag = \"tf-acc\",\n        SecurityGroup = foo.Apply(getSecurityGroupsResult =\u003e getSecurityGroupsResult.SecurityGroups[0]?.Id),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfooVpc, err := ucloud.NewVpc(ctx, \"foo\", \u0026ucloud.VpcArgs{\n\t\t\tName: pulumi.String(\"tf-acc-nat-gateway-basic\"),\n\t\t\tTag:  pulumi.String(\"tf-acc\"),\n\t\t\tCidrBlocks: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooSubnet, err := ucloud.NewSubnet(ctx, \"foo\", \u0026ucloud.SubnetArgs{\n\t\t\tName:      pulumi.String(\"tf-acc-nat-gateway-basic\"),\n\t\t\tTag:       pulumi.String(\"tf-acc\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t\tVpcId:     fooVpc.VpcId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooEip, err := ucloud.NewEip(ctx, \"foo\", \u0026ucloud.EipArgs{\n\t\t\tName:         pulumi.String(\"tf-acc-nat-gateway-basic\"),\n\t\t\tBandwidth:    pulumi.Float64(1),\n\t\t\tInternetType: pulumi.String(\"bgp\"),\n\t\t\tChargeMode:   pulumi.String(\"bandwidth\"),\n\t\t\tTag:          pulumi.String(\"tf-acc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := ucloud.GetSecurityGroups(ctx, \u0026ucloud.GetSecurityGroupsArgs{\n\t\t\tType: pulumi.StringRef(\"recommend_web\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ucloud.NewNatGateway(ctx, \"foo\", \u0026ucloud.NatGatewayArgs{\n\t\t\tVpcId: fooVpc.VpcId,\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tfooSubnet.SubnetId,\n\t\t\t},\n\t\t\tEipId:         fooEip.EipId,\n\t\t\tName:          pulumi.String(\"tf-acc-nat-gateway-basic\"),\n\t\t\tTag:           pulumi.String(\"tf-acc\"),\n\t\t\tSecurityGroup: pulumi.String(foo.SecurityGroups[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.Vpc;\nimport com.pulumi.ucloud.VpcArgs;\nimport com.pulumi.ucloud.Subnet;\nimport com.pulumi.ucloud.SubnetArgs;\nimport com.pulumi.ucloud.Eip;\nimport com.pulumi.ucloud.EipArgs;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetSecurityGroupsArgs;\nimport com.pulumi.ucloud.NatGateway;\nimport com.pulumi.ucloud.NatGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var fooVpc = new Vpc(\"fooVpc\", VpcArgs.builder()\n            .name(\"tf-acc-nat-gateway-basic\")\n            .tag(\"tf-acc\")\n            .cidrBlocks(\"192.168.0.0/16\")\n            .build());\n\n        var fooSubnet = new Subnet(\"fooSubnet\", SubnetArgs.builder()\n            .name(\"tf-acc-nat-gateway-basic\")\n            .tag(\"tf-acc\")\n            .cidrBlock(\"192.168.1.0/24\")\n            .vpcId(fooVpc.vpcId())\n            .build());\n\n        var fooEip = new Eip(\"fooEip\", EipArgs.builder()\n            .name(\"tf-acc-nat-gateway-basic\")\n            .bandwidth(1.0)\n            .internetType(\"bgp\")\n            .chargeMode(\"bandwidth\")\n            .tag(\"tf-acc\")\n            .build());\n\n        final var foo = UcloudFunctions.getSecurityGroups(GetSecurityGroupsArgs.builder()\n            .type(\"recommend_web\")\n            .build());\n\n        var fooNatGateway = new NatGateway(\"fooNatGateway\", NatGatewayArgs.builder()\n            .vpcId(fooVpc.vpcId())\n            .subnetIds(fooSubnet.subnetId())\n            .eipId(fooEip.eipId())\n            .name(\"tf-acc-nat-gateway-basic\")\n            .tag(\"tf-acc\")\n            .securityGroup(foo.securityGroups()[0].id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  fooVpc:\n    type: ucloud:Vpc\n    name: foo\n    properties:\n      name: tf-acc-nat-gateway-basic\n      tag: tf-acc\n      cidrBlocks:\n        - 192.168.0.0/16\n  fooSubnet:\n    type: ucloud:Subnet\n    name: foo\n    properties:\n      name: tf-acc-nat-gateway-basic\n      tag: tf-acc\n      cidrBlock: 192.168.1.0/24\n      vpcId: ${fooVpc.vpcId}\n  fooEip:\n    type: ucloud:Eip\n    name: foo\n    properties:\n      name: tf-acc-nat-gateway-basic\n      bandwidth: 1\n      internetType: bgp\n      chargeMode: bandwidth\n      tag: tf-acc\n  fooNatGateway:\n    type: ucloud:NatGateway\n    name: foo\n    properties:\n      vpcId: ${fooVpc.vpcId}\n      subnetIds:\n        - ${fooSubnet.subnetId}\n      eipId: ${fooEip.eipId}\n      name: tf-acc-nat-gateway-basic\n      tag: tf-acc\n      securityGroup: ${foo.securityGroups[0].id}\nvariables:\n  foo:\n    fn::invoke:\n      function: ucloud:getSecurityGroups\n      arguments:\n        type: recommend_web\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nNat Gateway can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import ucloud:index/natGateway:NatGateway example natgw-abc123456\n```\n","properties":{"createTime":{"type":"string","description":"The time of creation of Nat Gateway, formatted in RFC3339 time string.\n"},"eipId":{"type":"string","description":"The ID of eip associate to the Nat Gateway.\n"},"enableWhiteList":{"type":"boolean","description":"The boolean value to Controls whether or not start the whitelist mode.\n\n- - -\n"},"name":{"type":"string"},"natGatewayId":{"type":"string","description":"The ID of the resource Nat Gateway.\n"},"remark":{"type":"string","description":"The remarks of the Nat Gateway. (Default: `\"\"`).\n"},"securityGroup":{"type":"string","description":"The ID of the associated security group.\n"},"subnetIds":{"type":"array","items":{"type":"string"},"description":"The list of subnet ID under the VPC.\n"},"tag":{"type":"string","description":"A tag assigned to Nat Gateway, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"vpcId":{"type":"string","description":"The ID of VPC linked to the Nat Gateway.\n"},"whiteLists":{"type":"array","items":{"type":"string"},"description":"The white list of instance under the Nat Gateway.\n"}},"type":"object","required":["createTime","eipId","enableWhiteList","name","natGatewayId","remark","securityGroup","subnetIds","vpcId"],"inputProperties":{"eipId":{"type":"string","description":"The ID of eip associate to the Nat Gateway.\n"},"enableWhiteList":{"type":"boolean","description":"The boolean value to Controls whether or not start the whitelist mode.\n\n- - -\n"},"name":{"type":"string"},"natGatewayId":{"type":"string","description":"The ID of the resource Nat Gateway.\n"},"remark":{"type":"string","description":"The remarks of the Nat Gateway. (Default: `\"\"`).\n"},"securityGroup":{"type":"string","description":"The ID of the associated security group.\n"},"subnetIds":{"type":"array","items":{"type":"string"},"description":"The list of subnet ID under the VPC.\n"},"tag":{"type":"string","description":"A tag assigned to Nat Gateway, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"vpcId":{"type":"string","description":"The ID of VPC linked to the Nat Gateway.\n"},"whiteLists":{"type":"array","items":{"type":"string"},"description":"The white list of instance under the Nat Gateway.\n"}},"requiredInputs":["eipId","enableWhiteList","securityGroup","subnetIds","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering NatGateway resources.\n","properties":{"createTime":{"type":"string","description":"The time of creation of Nat Gateway, formatted in RFC3339 time string.\n"},"eipId":{"type":"string","description":"The ID of eip associate to the Nat Gateway.\n"},"enableWhiteList":{"type":"boolean","description":"The boolean value to Controls whether or not start the whitelist mode.\n\n- - -\n"},"name":{"type":"string"},"natGatewayId":{"type":"string","description":"The ID of the resource Nat Gateway.\n"},"remark":{"type":"string","description":"The remarks of the Nat Gateway. (Default: `\"\"`).\n"},"securityGroup":{"type":"string","description":"The ID of the associated security group.\n"},"subnetIds":{"type":"array","items":{"type":"string"},"description":"The list of subnet ID under the VPC.\n"},"tag":{"type":"string","description":"A tag assigned to Nat Gateway, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"vpcId":{"type":"string","description":"The ID of VPC linked to the Nat Gateway.\n"},"whiteLists":{"type":"array","items":{"type":"string"},"description":"The white list of instance under the Nat Gateway.\n"}},"type":"object"}},"ucloud:index/natGatewayRule:NatGatewayRule":{"description":"Provides a Nat Gateway resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst fooVpc = new ucloud.Vpc(\"foo\", {\n    name: \"tf-acc-nat-gateway-rule-basic\",\n    tag: \"tf-acc\",\n    cidrBlocks: [\"192.168.0.0/16\"],\n});\nconst fooSubnet = new ucloud.Subnet(\"foo\", {\n    name: \"tf-acc-nat-gateway-rule-basic\",\n    tag: \"tf-acc\",\n    cidrBlock: \"192.168.1.0/24\",\n    vpcId: fooVpc.vpcId,\n});\nconst fooEip = new ucloud.Eip(\"foo\", {\n    name: \"tf-acc-nat-gateway-rule-basic\",\n    bandwidth: 1,\n    internetType: \"bgp\",\n    chargeMode: \"bandwidth\",\n    tag: \"tf-acc\",\n});\nconst foo = ucloud.getSecurityGroups({\n    type: \"recommend_web\",\n});\nconst _default = ucloud.getZones({});\nconst defaultGetImages = _default.then(_default =\u003e ucloud.getImages({\n    availabilityZone: _default.zones?.[0]?.id,\n    nameRegex: \"^CentOS 7.[1-2] 64\",\n    imageType: \"base\",\n}));\nconst fooInstance = new ucloud.Instance(\"foo\", {\n    vpcId: fooVpc.vpcId,\n    subnetId: fooSubnet.subnetId,\n    availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n    imageId: defaultGetImages.then(defaultGetImages =\u003e defaultGetImages.images?.[0]?.id),\n    instanceType: \"n-basic-1\",\n    chargeType: \"dynamic\",\n    name: \"tf-acc-nat-gateway-rule-basic\",\n    tag: \"tf-acc\",\n});\nconst fooNatGateway = new ucloud.NatGateway(\"foo\", {\n    vpcId: fooVpc.vpcId,\n    subnetIds: [fooSubnet.subnetId],\n    eipId: fooEip.eipId,\n    name: \"tf-acc-nat-gateway-rule-basic\",\n    tag: \"tf-acc\",\n    enableWhiteList: false,\n    securityGroup: foo.then(foo =\u003e foo.securityGroups?.[0]?.id),\n});\nconst fooNatGatewayRule = new ucloud.NatGatewayRule(\"foo\", {\n    natGatewayId: fooNatGateway.natGatewayId,\n    protocol: \"tcp\",\n    srcEipId: fooEip.eipId,\n    srcPortRange: \"88\",\n    dstIp: fooInstance.privateIp,\n    dstPortRange: \"80\",\n    name: \"tf-acc-nat-gateway-rule-basic\",\n});\nconst bar = new ucloud.NatGatewayRule(\"bar\", {\n    natGatewayId: fooNatGateway.natGatewayId,\n    protocol: \"tcp\",\n    srcEipId: fooEip.eipId,\n    srcPortRange: \"90-100\",\n    dstIp: fooInstance.privateIp,\n    dstPortRange: \"90-100\",\n    name: \"tf-acc-nat-gateway-rule-basic\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nfoo_vpc = ucloud.Vpc(\"foo\",\n    name=\"tf-acc-nat-gateway-rule-basic\",\n    tag=\"tf-acc\",\n    cidr_blocks=[\"192.168.0.0/16\"])\nfoo_subnet = ucloud.Subnet(\"foo\",\n    name=\"tf-acc-nat-gateway-rule-basic\",\n    tag=\"tf-acc\",\n    cidr_block=\"192.168.1.0/24\",\n    vpc_id=foo_vpc.vpc_id)\nfoo_eip = ucloud.Eip(\"foo\",\n    name=\"tf-acc-nat-gateway-rule-basic\",\n    bandwidth=1,\n    internet_type=\"bgp\",\n    charge_mode=\"bandwidth\",\n    tag=\"tf-acc\")\nfoo = ucloud.get_security_groups(type=\"recommend_web\")\ndefault = ucloud.get_zones()\ndefault_get_images = ucloud.get_images(availability_zone=default.zones[0].id,\n    name_regex=\"^CentOS 7.[1-2] 64\",\n    image_type=\"base\")\nfoo_instance = ucloud.Instance(\"foo\",\n    vpc_id=foo_vpc.vpc_id,\n    subnet_id=foo_subnet.subnet_id,\n    availability_zone=default.zones[0].id,\n    image_id=default_get_images.images[0].id,\n    instance_type=\"n-basic-1\",\n    charge_type=\"dynamic\",\n    name=\"tf-acc-nat-gateway-rule-basic\",\n    tag=\"tf-acc\")\nfoo_nat_gateway = ucloud.NatGateway(\"foo\",\n    vpc_id=foo_vpc.vpc_id,\n    subnet_ids=[foo_subnet.subnet_id],\n    eip_id=foo_eip.eip_id,\n    name=\"tf-acc-nat-gateway-rule-basic\",\n    tag=\"tf-acc\",\n    enable_white_list=False,\n    security_group=foo.security_groups[0].id)\nfoo_nat_gateway_rule = ucloud.NatGatewayRule(\"foo\",\n    nat_gateway_id=foo_nat_gateway.nat_gateway_id,\n    protocol=\"tcp\",\n    src_eip_id=foo_eip.eip_id,\n    src_port_range=\"88\",\n    dst_ip=foo_instance.private_ip,\n    dst_port_range=\"80\",\n    name=\"tf-acc-nat-gateway-rule-basic\")\nbar = ucloud.NatGatewayRule(\"bar\",\n    nat_gateway_id=foo_nat_gateway.nat_gateway_id,\n    protocol=\"tcp\",\n    src_eip_id=foo_eip.eip_id,\n    src_port_range=\"90-100\",\n    dst_ip=foo_instance.private_ip,\n    dst_port_range=\"90-100\",\n    name=\"tf-acc-nat-gateway-rule-basic\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var fooVpc = new Ucloud.Vpc(\"foo\", new()\n    {\n        Name = \"tf-acc-nat-gateway-rule-basic\",\n        Tag = \"tf-acc\",\n        CidrBlocks = new[]\n        {\n            \"192.168.0.0/16\",\n        },\n    });\n\n    var fooSubnet = new Ucloud.Subnet(\"foo\", new()\n    {\n        Name = \"tf-acc-nat-gateway-rule-basic\",\n        Tag = \"tf-acc\",\n        CidrBlock = \"192.168.1.0/24\",\n        VpcId = fooVpc.VpcId,\n    });\n\n    var fooEip = new Ucloud.Eip(\"foo\", new()\n    {\n        Name = \"tf-acc-nat-gateway-rule-basic\",\n        Bandwidth = 1,\n        InternetType = \"bgp\",\n        ChargeMode = \"bandwidth\",\n        Tag = \"tf-acc\",\n    });\n\n    var foo = Ucloud.GetSecurityGroups.Invoke(new()\n    {\n        Type = \"recommend_web\",\n    });\n\n    var @default = Ucloud.GetZones.Invoke();\n\n    var defaultGetImages = Ucloud.GetImages.Invoke(new()\n    {\n        AvailabilityZone = @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n        NameRegex = \"^CentOS 7.[1-2] 64\",\n        ImageType = \"base\",\n    });\n\n    var fooInstance = new Ucloud.Instance(\"foo\", new()\n    {\n        VpcId = fooVpc.VpcId,\n        SubnetId = fooSubnet.SubnetId,\n        AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n        ImageId = defaultGetImages.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n        InstanceType = \"n-basic-1\",\n        ChargeType = \"dynamic\",\n        Name = \"tf-acc-nat-gateway-rule-basic\",\n        Tag = \"tf-acc\",\n    });\n\n    var fooNatGateway = new Ucloud.NatGateway(\"foo\", new()\n    {\n        VpcId = fooVpc.VpcId,\n        SubnetIds = new[]\n        {\n            fooSubnet.SubnetId,\n        },\n        EipId = fooEip.EipId,\n        Name = \"tf-acc-nat-gateway-rule-basic\",\n        Tag = \"tf-acc\",\n        EnableWhiteList = false,\n        SecurityGroup = foo.Apply(getSecurityGroupsResult =\u003e getSecurityGroupsResult.SecurityGroups[0]?.Id),\n    });\n\n    var fooNatGatewayRule = new Ucloud.NatGatewayRule(\"foo\", new()\n    {\n        NatGatewayId = fooNatGateway.NatGatewayId,\n        Protocol = \"tcp\",\n        SrcEipId = fooEip.EipId,\n        SrcPortRange = \"88\",\n        DstIp = fooInstance.PrivateIp,\n        DstPortRange = \"80\",\n        Name = \"tf-acc-nat-gateway-rule-basic\",\n    });\n\n    var bar = new Ucloud.NatGatewayRule(\"bar\", new()\n    {\n        NatGatewayId = fooNatGateway.NatGatewayId,\n        Protocol = \"tcp\",\n        SrcEipId = fooEip.EipId,\n        SrcPortRange = \"90-100\",\n        DstIp = fooInstance.PrivateIp,\n        DstPortRange = \"90-100\",\n        Name = \"tf-acc-nat-gateway-rule-basic\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfooVpc, err := ucloud.NewVpc(ctx, \"foo\", \u0026ucloud.VpcArgs{\n\t\t\tName: pulumi.String(\"tf-acc-nat-gateway-rule-basic\"),\n\t\t\tTag:  pulumi.String(\"tf-acc\"),\n\t\t\tCidrBlocks: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooSubnet, err := ucloud.NewSubnet(ctx, \"foo\", \u0026ucloud.SubnetArgs{\n\t\t\tName:      pulumi.String(\"tf-acc-nat-gateway-rule-basic\"),\n\t\t\tTag:       pulumi.String(\"tf-acc\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t\tVpcId:     fooVpc.VpcId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooEip, err := ucloud.NewEip(ctx, \"foo\", \u0026ucloud.EipArgs{\n\t\t\tName:         pulumi.String(\"tf-acc-nat-gateway-rule-basic\"),\n\t\t\tBandwidth:    pulumi.Float64(1),\n\t\t\tInternetType: pulumi.String(\"bgp\"),\n\t\t\tChargeMode:   pulumi.String(\"bandwidth\"),\n\t\t\tTag:          pulumi.String(\"tf-acc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := ucloud.GetSecurityGroups(ctx, \u0026ucloud.GetSecurityGroupsArgs{\n\t\t\tType: pulumi.StringRef(\"recommend_web\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := ucloud.GetZones(ctx, \u0026ucloud.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetImages, err := ucloud.GetImages(ctx, \u0026ucloud.GetImagesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),\n\t\t\tNameRegex:        pulumi.StringRef(\"^CentOS 7.[1-2] 64\"),\n\t\t\tImageType:        pulumi.StringRef(\"base\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooInstance, err := ucloud.NewInstance(ctx, \"foo\", \u0026ucloud.InstanceArgs{\n\t\t\tVpcId:            fooVpc.VpcId,\n\t\t\tSubnetId:         fooSubnet.SubnetId,\n\t\t\tAvailabilityZone: pulumi.String(_default.Zones[0].Id),\n\t\t\tImageId:          pulumi.String(defaultGetImages.Images[0].Id),\n\t\t\tInstanceType:     pulumi.String(\"n-basic-1\"),\n\t\t\tChargeType:       pulumi.String(\"dynamic\"),\n\t\t\tName:             pulumi.String(\"tf-acc-nat-gateway-rule-basic\"),\n\t\t\tTag:              pulumi.String(\"tf-acc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooNatGateway, err := ucloud.NewNatGateway(ctx, \"foo\", \u0026ucloud.NatGatewayArgs{\n\t\t\tVpcId: fooVpc.VpcId,\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tfooSubnet.SubnetId,\n\t\t\t},\n\t\t\tEipId:           fooEip.EipId,\n\t\t\tName:            pulumi.String(\"tf-acc-nat-gateway-rule-basic\"),\n\t\t\tTag:             pulumi.String(\"tf-acc\"),\n\t\t\tEnableWhiteList: pulumi.Bool(false),\n\t\t\tSecurityGroup:   pulumi.String(foo.SecurityGroups[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ucloud.NewNatGatewayRule(ctx, \"foo\", \u0026ucloud.NatGatewayRuleArgs{\n\t\t\tNatGatewayId: fooNatGateway.NatGatewayId,\n\t\t\tProtocol:     pulumi.String(\"tcp\"),\n\t\t\tSrcEipId:     fooEip.EipId,\n\t\t\tSrcPortRange: pulumi.String(\"88\"),\n\t\t\tDstIp:        fooInstance.PrivateIp,\n\t\t\tDstPortRange: pulumi.String(\"80\"),\n\t\t\tName:         pulumi.String(\"tf-acc-nat-gateway-rule-basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ucloud.NewNatGatewayRule(ctx, \"bar\", \u0026ucloud.NatGatewayRuleArgs{\n\t\t\tNatGatewayId: fooNatGateway.NatGatewayId,\n\t\t\tProtocol:     pulumi.String(\"tcp\"),\n\t\t\tSrcEipId:     fooEip.EipId,\n\t\t\tSrcPortRange: pulumi.String(\"90-100\"),\n\t\t\tDstIp:        fooInstance.PrivateIp,\n\t\t\tDstPortRange: pulumi.String(\"90-100\"),\n\t\t\tName:         pulumi.String(\"tf-acc-nat-gateway-rule-basic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.Vpc;\nimport com.pulumi.ucloud.VpcArgs;\nimport com.pulumi.ucloud.Subnet;\nimport com.pulumi.ucloud.SubnetArgs;\nimport com.pulumi.ucloud.Eip;\nimport com.pulumi.ucloud.EipArgs;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetSecurityGroupsArgs;\nimport com.pulumi.ucloud.inputs.GetZonesArgs;\nimport com.pulumi.ucloud.inputs.GetImagesArgs;\nimport com.pulumi.ucloud.Instance;\nimport com.pulumi.ucloud.InstanceArgs;\nimport com.pulumi.ucloud.NatGateway;\nimport com.pulumi.ucloud.NatGatewayArgs;\nimport com.pulumi.ucloud.NatGatewayRule;\nimport com.pulumi.ucloud.NatGatewayRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var fooVpc = new Vpc(\"fooVpc\", VpcArgs.builder()\n            .name(\"tf-acc-nat-gateway-rule-basic\")\n            .tag(\"tf-acc\")\n            .cidrBlocks(\"192.168.0.0/16\")\n            .build());\n\n        var fooSubnet = new Subnet(\"fooSubnet\", SubnetArgs.builder()\n            .name(\"tf-acc-nat-gateway-rule-basic\")\n            .tag(\"tf-acc\")\n            .cidrBlock(\"192.168.1.0/24\")\n            .vpcId(fooVpc.vpcId())\n            .build());\n\n        var fooEip = new Eip(\"fooEip\", EipArgs.builder()\n            .name(\"tf-acc-nat-gateway-rule-basic\")\n            .bandwidth(1.0)\n            .internetType(\"bgp\")\n            .chargeMode(\"bandwidth\")\n            .tag(\"tf-acc\")\n            .build());\n\n        final var foo = UcloudFunctions.getSecurityGroups(GetSecurityGroupsArgs.builder()\n            .type(\"recommend_web\")\n            .build());\n\n        final var default = UcloudFunctions.getZones(GetZonesArgs.builder()\n            .build());\n\n        final var defaultGetImages = UcloudFunctions.getImages(GetImagesArgs.builder()\n            .availabilityZone(default_.zones()[0].id())\n            .nameRegex(\"^CentOS 7.[1-2] 64\")\n            .imageType(\"base\")\n            .build());\n\n        var fooInstance = new Instance(\"fooInstance\", InstanceArgs.builder()\n            .vpcId(fooVpc.vpcId())\n            .subnetId(fooSubnet.subnetId())\n            .availabilityZone(default_.zones()[0].id())\n            .imageId(defaultGetImages.images()[0].id())\n            .instanceType(\"n-basic-1\")\n            .chargeType(\"dynamic\")\n            .name(\"tf-acc-nat-gateway-rule-basic\")\n            .tag(\"tf-acc\")\n            .build());\n\n        var fooNatGateway = new NatGateway(\"fooNatGateway\", NatGatewayArgs.builder()\n            .vpcId(fooVpc.vpcId())\n            .subnetIds(fooSubnet.subnetId())\n            .eipId(fooEip.eipId())\n            .name(\"tf-acc-nat-gateway-rule-basic\")\n            .tag(\"tf-acc\")\n            .enableWhiteList(false)\n            .securityGroup(foo.securityGroups()[0].id())\n            .build());\n\n        var fooNatGatewayRule = new NatGatewayRule(\"fooNatGatewayRule\", NatGatewayRuleArgs.builder()\n            .natGatewayId(fooNatGateway.natGatewayId())\n            .protocol(\"tcp\")\n            .srcEipId(fooEip.eipId())\n            .srcPortRange(\"88\")\n            .dstIp(fooInstance.privateIp())\n            .dstPortRange(\"80\")\n            .name(\"tf-acc-nat-gateway-rule-basic\")\n            .build());\n\n        var bar = new NatGatewayRule(\"bar\", NatGatewayRuleArgs.builder()\n            .natGatewayId(fooNatGateway.natGatewayId())\n            .protocol(\"tcp\")\n            .srcEipId(fooEip.eipId())\n            .srcPortRange(\"90-100\")\n            .dstIp(fooInstance.privateIp())\n            .dstPortRange(\"90-100\")\n            .name(\"tf-acc-nat-gateway-rule-basic\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  fooVpc:\n    type: ucloud:Vpc\n    name: foo\n    properties:\n      name: tf-acc-nat-gateway-rule-basic\n      tag: tf-acc\n      cidrBlocks:\n        - 192.168.0.0/16\n  fooSubnet:\n    type: ucloud:Subnet\n    name: foo\n    properties:\n      name: tf-acc-nat-gateway-rule-basic\n      tag: tf-acc\n      cidrBlock: 192.168.1.0/24\n      vpcId: ${fooVpc.vpcId}\n  fooEip:\n    type: ucloud:Eip\n    name: foo\n    properties:\n      name: tf-acc-nat-gateway-rule-basic\n      bandwidth: 1\n      internetType: bgp\n      chargeMode: bandwidth\n      tag: tf-acc\n  fooInstance:\n    type: ucloud:Instance\n    name: foo\n    properties:\n      vpcId: ${fooVpc.vpcId}\n      subnetId: ${fooSubnet.subnetId}\n      availabilityZone: ${default.zones[0].id}\n      imageId: ${defaultGetImages.images[0].id}\n      instanceType: n-basic-1\n      chargeType: dynamic\n      name: tf-acc-nat-gateway-rule-basic\n      tag: tf-acc\n  fooNatGateway:\n    type: ucloud:NatGateway\n    name: foo\n    properties:\n      vpcId: ${fooVpc.vpcId}\n      subnetIds:\n        - ${fooSubnet.subnetId}\n      eipId: ${fooEip.eipId}\n      name: tf-acc-nat-gateway-rule-basic\n      tag: tf-acc\n      enableWhiteList: false\n      securityGroup: ${foo.securityGroups[0].id}\n  fooNatGatewayRule:\n    type: ucloud:NatGatewayRule\n    name: foo\n    properties:\n      natGatewayId: ${fooNatGateway.natGatewayId}\n      protocol: tcp\n      srcEipId: ${fooEip.eipId}\n      srcPortRange: '88'\n      dstIp: ${fooInstance.privateIp}\n      dstPortRange: '80'\n      name: tf-acc-nat-gateway-rule-basic\n  bar:\n    type: ucloud:NatGatewayRule\n    properties:\n      natGatewayId: ${fooNatGateway.natGatewayId}\n      protocol: tcp\n      srcEipId: ${fooEip.eipId}\n      srcPortRange: 90-100\n      dstIp: ${fooInstance.privateIp}\n      dstPortRange: 90-100\n      name: tf-acc-nat-gateway-rule-basic\nvariables:\n  foo:\n    fn::invoke:\n      function: ucloud:getSecurityGroups\n      arguments:\n        type: recommend_web\n  default:\n    fn::invoke:\n      function: ucloud:getZones\n      arguments: {}\n  defaultGetImages:\n    fn::invoke:\n      function: ucloud:getImages\n      arguments:\n        availabilityZone: ${default.zones[0].id}\n        nameRegex: ^CentOS 7.[1-2] 64\n        imageType: base\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"dstIp":{"type":"string","description":"The private ip of instance bound to the jNAT gateway.\n"},"dstPortRange":{"type":"string","description":"The range of port numbers of the private ip, range: 1-65535. (eg: \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\"\u003e`port`\u003c/span\u003e or `port1-port2`).\n\n- - -\n"},"name":{"type":"string"},"natGatewayId":{"type":"string","description":"The ID of the Nat Gateway.\n"},"natGatewayRuleId":{"type":"string"},"protocol":{"type":"string","description":"The protocol of the Nat Gateway Rule. Possible values: \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e.\n"},"srcEipId":{"type":"string","description":"The ID of eip associate to the Nat Gateway.\n"},"srcPortRange":{"type":"string","description":"The range of port numbers of the eip, range: 1-65535. (eg: \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\"\u003e`port`\u003c/span\u003e or `port1-port2`).\n"}},"type":"object","required":["dstIp","dstPortRange","name","natGatewayId","natGatewayRuleId","protocol","srcEipId","srcPortRange"],"inputProperties":{"dstIp":{"type":"string","description":"The private ip of instance bound to the jNAT gateway.\n"},"dstPortRange":{"type":"string","description":"The range of port numbers of the private ip, range: 1-65535. (eg: \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\"\u003e`port`\u003c/span\u003e or `port1-port2`).\n\n- - -\n"},"name":{"type":"string"},"natGatewayId":{"type":"string","description":"The ID of the Nat Gateway.\n"},"natGatewayRuleId":{"type":"string"},"protocol":{"type":"string","description":"The protocol of the Nat Gateway Rule. Possible values: \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e.\n"},"srcEipId":{"type":"string","description":"The ID of eip associate to the Nat Gateway.\n"},"srcPortRange":{"type":"string","description":"The range of port numbers of the eip, range: 1-65535. (eg: \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\"\u003e`port`\u003c/span\u003e or `port1-port2`).\n"}},"requiredInputs":["dstIp","dstPortRange","natGatewayId","protocol","srcEipId","srcPortRange"],"stateInputs":{"description":"Input properties used for looking up and filtering NatGatewayRule resources.\n","properties":{"dstIp":{"type":"string","description":"The private ip of instance bound to the jNAT gateway.\n"},"dstPortRange":{"type":"string","description":"The range of port numbers of the private ip, range: 1-65535. (eg: \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\"\u003e`port`\u003c/span\u003e or `port1-port2`).\n\n- - -\n"},"name":{"type":"string"},"natGatewayId":{"type":"string","description":"The ID of the Nat Gateway.\n"},"natGatewayRuleId":{"type":"string"},"protocol":{"type":"string","description":"The protocol of the Nat Gateway Rule. Possible values: \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`udp`\" pulumi-lang-dotnet=\"`Udp`\" pulumi-lang-go=\"`udp`\" pulumi-lang-python=\"`udp`\" pulumi-lang-yaml=\"`udp`\" pulumi-lang-java=\"`udp`\"\u003e`udp`\u003c/span\u003e.\n"},"srcEipId":{"type":"string","description":"The ID of eip associate to the Nat Gateway.\n"},"srcPortRange":{"type":"string","description":"The range of port numbers of the eip, range: 1-65535. (eg: \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\"\u003e`port`\u003c/span\u003e or `port1-port2`).\n"}},"type":"object"}},"ucloud:index/redisInstance:RedisInstance":{"description":"The UCloud Redis instance is a key-value online storage service compatible with the Redis protocol.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst _default = ucloud.getZones({});\nconst master = new ucloud.RedisInstance(\"master\", {\n    availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n    instanceType: \"redis-master-2\",\n    password: \"2018_Tfacc\",\n    engineVersion: \"4.0\",\n    name: \"tf-example-redis-master\",\n    tag: \"tf-example\",\n});\nconst distributed = new ucloud.RedisInstance(\"distributed\", {\n    availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n    instanceType: \"redis-distributed-16\",\n    name: \"tf-example-redis-distributed\",\n    tag: \"tf-example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\ndefault = ucloud.get_zones()\nmaster = ucloud.RedisInstance(\"master\",\n    availability_zone=default.zones[0].id,\n    instance_type=\"redis-master-2\",\n    password=\"2018_Tfacc\",\n    engine_version=\"4.0\",\n    name=\"tf-example-redis-master\",\n    tag=\"tf-example\")\ndistributed = ucloud.RedisInstance(\"distributed\",\n    availability_zone=default.zones[0].id,\n    instance_type=\"redis-distributed-16\",\n    name=\"tf-example-redis-distributed\",\n    tag=\"tf-example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @default = Ucloud.GetZones.Invoke();\n\n    var master = new Ucloud.RedisInstance(\"master\", new()\n    {\n        AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n        InstanceType = \"redis-master-2\",\n        Password = \"2018_Tfacc\",\n        EngineVersion = \"4.0\",\n        Name = \"tf-example-redis-master\",\n        Tag = \"tf-example\",\n    });\n\n    var distributed = new Ucloud.RedisInstance(\"distributed\", new()\n    {\n        AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n        InstanceType = \"redis-distributed-16\",\n        Name = \"tf-example-redis-distributed\",\n        Tag = \"tf-example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := ucloud.GetZones(ctx, \u0026ucloud.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ucloud.NewRedisInstance(ctx, \"master\", \u0026ucloud.RedisInstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(_default.Zones[0].Id),\n\t\t\tInstanceType:     pulumi.String(\"redis-master-2\"),\n\t\t\tPassword:         pulumi.String(\"2018_Tfacc\"),\n\t\t\tEngineVersion:    pulumi.String(\"4.0\"),\n\t\t\tName:             pulumi.String(\"tf-example-redis-master\"),\n\t\t\tTag:              pulumi.String(\"tf-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ucloud.NewRedisInstance(ctx, \"distributed\", \u0026ucloud.RedisInstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(_default.Zones[0].Id),\n\t\t\tInstanceType:     pulumi.String(\"redis-distributed-16\"),\n\t\t\tName:             pulumi.String(\"tf-example-redis-distributed\"),\n\t\t\tTag:              pulumi.String(\"tf-example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetZonesArgs;\nimport com.pulumi.ucloud.RedisInstance;\nimport com.pulumi.ucloud.RedisInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var default = UcloudFunctions.getZones(GetZonesArgs.builder()\n            .build());\n\n        var master = new RedisInstance(\"master\", RedisInstanceArgs.builder()\n            .availabilityZone(default_.zones()[0].id())\n            .instanceType(\"redis-master-2\")\n            .password(\"2018_Tfacc\")\n            .engineVersion(\"4.0\")\n            .name(\"tf-example-redis-master\")\n            .tag(\"tf-example\")\n            .build());\n\n        var distributed = new RedisInstance(\"distributed\", RedisInstanceArgs.builder()\n            .availabilityZone(default_.zones()[0].id())\n            .instanceType(\"redis-distributed-16\")\n            .name(\"tf-example-redis-distributed\")\n            .tag(\"tf-example\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  master:\n    type: ucloud:RedisInstance\n    properties:\n      availabilityZone: ${default.zones[0].id}\n      instanceType: redis-master-2\n      password: 2018_Tfacc\n      engineVersion: '4.0'\n      name: tf-example-redis-master\n      tag: tf-example\n  distributed:\n    type: ucloud:RedisInstance\n    properties:\n      availabilityZone: ${default.zones[0].id}\n      instanceType: redis-distributed-16\n      name: tf-example-redis-distributed\n      tag: tf-example\nvariables:\n  default:\n    fn::invoke:\n      function: ucloud:getZones\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"autoBackup":{"type":"string","description":"Enable or not start auto backup of Redis instance, only support for Active-Standby Redis, possible values are: \u003cspan pulumi-lang-nodejs=\"`enable`\" pulumi-lang-dotnet=\"`Enable`\" pulumi-lang-go=\"`enable`\" pulumi-lang-python=\"`enable`\" pulumi-lang-yaml=\"`enable`\" pulumi-lang-java=\"`enable`\"\u003e`enable`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`disable`\" pulumi-lang-dotnet=\"`Disable`\" pulumi-lang-go=\"`disable`\" pulumi-lang-python=\"`disable`\" pulumi-lang-yaml=\"`disable`\" pulumi-lang-java=\"`disable`\"\u003e`disable`\u003c/span\u003e.\n"},"availabilityZone":{"type":"string","description":"Availability zone where Redis instance is located. Such as: \"cn-bj2-02\". You may refer to [list of availability zone](https://docs.ucloud.cn/api/summary/regionlist)\n"},"backupBeginTime":{"type":"number"},"chargeType":{"type":"string","description":"The charge type of Redis instance, possible values are: \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\"\u003e`year`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e as pay by hour (specific permission required). (Default: \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e).\n"},"createTime":{"type":"string","description":"The creation time of Redis instance, formatted by RFC3339 time string.\n"},"duration":{"type":"number","description":"The duration that you will buy the Redis instance (Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e). The value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e when pay by month and the instance will be valid till the last day of that month. It is not required when \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e (pay by hour).\n"},"engineVersion":{"type":"string","description":"The version of engine of active-standby Redis.\n"},"expireTime":{"type":"string","description":"The expiration time of Redis instance, formatted by RFC3339 time string.\n"},"instanceType":{"type":"string","description":"The type of Redis instance, please visit the instance type table for more details.\n\n- - -\n"},"ipSets":{"type":"array","items":{"$ref":"#/types/ucloud:index%2FRedisInstanceIpSet:RedisInstanceIpSet"},"description":"ip_set is a nested type.\u003cspan pulumi-lang-nodejs=\" ipSet \" pulumi-lang-dotnet=\" IpSet \" pulumi-lang-go=\" ipSet \" pulumi-lang-python=\" ip_set \" pulumi-lang-yaml=\" ipSet \" pulumi-lang-java=\" ipSet \"\u003e ip_set \u003c/span\u003edocumented below.\n"},"name":{"type":"string"},"password":{"type":"string","description":"The password for  active-standby Redis instance which should have 6-36 characters. It must contain at least 3 items of Capital letters, small letter, numbers and special characters. The special characters include `-_`.\n","secret":true},"redisInstanceId":{"type":"string","description":"The ID of the resource Redis instance.\n"},"standbyZone":{"type":"string","description":"Availability zone where the standby Redis instance is located for the high availability Redis instance with multiple zone; only be supported for Active-Standby Redis, not be supported for Distributed Redis.\n"},"status":{"type":"string","description":"The status of KV Redis instance.\n"},"subnetId":{"type":"string","description":"The ID of subnet linked to the Redis instance.\n"},"tag":{"type":"string","description":"A tag assigned to Redis instance, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or an empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"vpcId":{"type":"string","description":"The ID of VPC linked to the Redis instance.\n"}},"type":"object","required":["autoBackup","availabilityZone","backupBeginTime","chargeType","createTime","engineVersion","expireTime","instanceType","ipSets","name","redisInstanceId","status","subnetId","tag","vpcId"],"inputProperties":{"autoBackup":{"type":"string","description":"Enable or not start auto backup of Redis instance, only support for Active-Standby Redis, possible values are: \u003cspan pulumi-lang-nodejs=\"`enable`\" pulumi-lang-dotnet=\"`Enable`\" pulumi-lang-go=\"`enable`\" pulumi-lang-python=\"`enable`\" pulumi-lang-yaml=\"`enable`\" pulumi-lang-java=\"`enable`\"\u003e`enable`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`disable`\" pulumi-lang-dotnet=\"`Disable`\" pulumi-lang-go=\"`disable`\" pulumi-lang-python=\"`disable`\" pulumi-lang-yaml=\"`disable`\" pulumi-lang-java=\"`disable`\"\u003e`disable`\u003c/span\u003e.\n"},"availabilityZone":{"type":"string","description":"Availability zone where Redis instance is located. Such as: \"cn-bj2-02\". You may refer to [list of availability zone](https://docs.ucloud.cn/api/summary/regionlist)\n"},"backupBeginTime":{"type":"number"},"chargeType":{"type":"string","description":"The charge type of Redis instance, possible values are: \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\"\u003e`year`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e as pay by hour (specific permission required). (Default: \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e).\n"},"duration":{"type":"number","description":"The duration that you will buy the Redis instance (Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e). The value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e when pay by month and the instance will be valid till the last day of that month. It is not required when \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e (pay by hour).\n"},"engineVersion":{"type":"string","description":"The version of engine of active-standby Redis.\n"},"instanceType":{"type":"string","description":"The type of Redis instance, please visit the instance type table for more details.\n\n- - -\n"},"name":{"type":"string"},"password":{"type":"string","description":"The password for  active-standby Redis instance which should have 6-36 characters. It must contain at least 3 items of Capital letters, small letter, numbers and special characters. The special characters include `-_`.\n","secret":true},"redisInstanceId":{"type":"string","description":"The ID of the resource Redis instance.\n"},"standbyZone":{"type":"string","description":"Availability zone where the standby Redis instance is located for the high availability Redis instance with multiple zone; only be supported for Active-Standby Redis, not be supported for Distributed Redis.\n"},"subnetId":{"type":"string","description":"The ID of subnet linked to the Redis instance.\n"},"tag":{"type":"string","description":"A tag assigned to Redis instance, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or an empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"vpcId":{"type":"string","description":"The ID of VPC linked to the Redis instance.\n"}},"requiredInputs":["availabilityZone","instanceType"],"stateInputs":{"description":"Input properties used for looking up and filtering RedisInstance resources.\n","properties":{"autoBackup":{"type":"string","description":"Enable or not start auto backup of Redis instance, only support for Active-Standby Redis, possible values are: \u003cspan pulumi-lang-nodejs=\"`enable`\" pulumi-lang-dotnet=\"`Enable`\" pulumi-lang-go=\"`enable`\" pulumi-lang-python=\"`enable`\" pulumi-lang-yaml=\"`enable`\" pulumi-lang-java=\"`enable`\"\u003e`enable`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`disable`\" pulumi-lang-dotnet=\"`Disable`\" pulumi-lang-go=\"`disable`\" pulumi-lang-python=\"`disable`\" pulumi-lang-yaml=\"`disable`\" pulumi-lang-java=\"`disable`\"\u003e`disable`\u003c/span\u003e.\n"},"availabilityZone":{"type":"string","description":"Availability zone where Redis instance is located. Such as: \"cn-bj2-02\". You may refer to [list of availability zone](https://docs.ucloud.cn/api/summary/regionlist)\n"},"backupBeginTime":{"type":"number"},"chargeType":{"type":"string","description":"The charge type of Redis instance, possible values are: \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\"\u003e`year`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e as pay by hour (specific permission required). (Default: \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e).\n"},"createTime":{"type":"string","description":"The creation time of Redis instance, formatted by RFC3339 time string.\n"},"duration":{"type":"number","description":"The duration that you will buy the Redis instance (Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e). The value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e when pay by month and the instance will be valid till the last day of that month. It is not required when \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e (pay by hour).\n"},"engineVersion":{"type":"string","description":"The version of engine of active-standby Redis.\n"},"expireTime":{"type":"string","description":"The expiration time of Redis instance, formatted by RFC3339 time string.\n"},"instanceType":{"type":"string","description":"The type of Redis instance, please visit the instance type table for more details.\n\n- - -\n"},"ipSets":{"type":"array","items":{"$ref":"#/types/ucloud:index%2FRedisInstanceIpSet:RedisInstanceIpSet"},"description":"ip_set is a nested type.\u003cspan pulumi-lang-nodejs=\" ipSet \" pulumi-lang-dotnet=\" IpSet \" pulumi-lang-go=\" ipSet \" pulumi-lang-python=\" ip_set \" pulumi-lang-yaml=\" ipSet \" pulumi-lang-java=\" ipSet \"\u003e ip_set \u003c/span\u003edocumented below.\n"},"name":{"type":"string"},"password":{"type":"string","description":"The password for  active-standby Redis instance which should have 6-36 characters. It must contain at least 3 items of Capital letters, small letter, numbers and special characters. The special characters include `-_`.\n","secret":true},"redisInstanceId":{"type":"string","description":"The ID of the resource Redis instance.\n"},"standbyZone":{"type":"string","description":"Availability zone where the standby Redis instance is located for the high availability Redis instance with multiple zone; only be supported for Active-Standby Redis, not be supported for Distributed Redis.\n"},"status":{"type":"string","description":"The status of KV Redis instance.\n"},"subnetId":{"type":"string","description":"The ID of subnet linked to the Redis instance.\n"},"tag":{"type":"string","description":"A tag assigned to Redis instance, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or an empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"vpcId":{"type":"string","description":"The ID of VPC linked to the Redis instance.\n"}},"type":"object"}},"ucloud:index/securityGroup:SecurityGroup":{"description":"Provides a Security Group resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst example = new ucloud.SecurityGroup(\"example\", {\n    name: \"tf-example-security-group\",\n    tag: \"tf-example\",\n    rules: [\n        {\n            portRange: \"80\",\n            protocol: \"tcp\",\n            cidrBlock: \"192.168.0.0/16\",\n            policy: \"accept\",\n        },\n        {\n            portRange: \"443\",\n            protocol: \"tcp\",\n            cidrBlock: \"192.168.0.0/16\",\n            policy: \"accept\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nexample = ucloud.SecurityGroup(\"example\",\n    name=\"tf-example-security-group\",\n    tag=\"tf-example\",\n    rules=[\n        {\n            \"port_range\": \"80\",\n            \"protocol\": \"tcp\",\n            \"cidr_block\": \"192.168.0.0/16\",\n            \"policy\": \"accept\",\n        },\n        {\n            \"port_range\": \"443\",\n            \"protocol\": \"tcp\",\n            \"cidr_block\": \"192.168.0.0/16\",\n            \"policy\": \"accept\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Ucloud.SecurityGroup(\"example\", new()\n    {\n        Name = \"tf-example-security-group\",\n        Tag = \"tf-example\",\n        Rules = new[]\n        {\n            new Ucloud.Inputs.SecurityGroupRuleArgs\n            {\n                PortRange = \"80\",\n                Protocol = \"tcp\",\n                CidrBlock = \"192.168.0.0/16\",\n                Policy = \"accept\",\n            },\n            new Ucloud.Inputs.SecurityGroupRuleArgs\n            {\n                PortRange = \"443\",\n                Protocol = \"tcp\",\n                CidrBlock = \"192.168.0.0/16\",\n                Policy = \"accept\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ucloud.NewSecurityGroup(ctx, \"example\", \u0026ucloud.SecurityGroupArgs{\n\t\t\tName: pulumi.String(\"tf-example-security-group\"),\n\t\t\tTag:  pulumi.String(\"tf-example\"),\n\t\t\tRules: ucloud.SecurityGroupRuleArray{\n\t\t\t\t\u0026ucloud.SecurityGroupRuleArgs{\n\t\t\t\t\tPortRange: pulumi.String(\"80\"),\n\t\t\t\t\tProtocol:  pulumi.String(\"tcp\"),\n\t\t\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t\t\t\tPolicy:    pulumi.String(\"accept\"),\n\t\t\t\t},\n\t\t\t\t\u0026ucloud.SecurityGroupRuleArgs{\n\t\t\t\t\tPortRange: pulumi.String(\"443\"),\n\t\t\t\t\tProtocol:  pulumi.String(\"tcp\"),\n\t\t\t\t\tCidrBlock: pulumi.String(\"192.168.0.0/16\"),\n\t\t\t\t\tPolicy:    pulumi.String(\"accept\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.SecurityGroup;\nimport com.pulumi.ucloud.SecurityGroupArgs;\nimport com.pulumi.ucloud.inputs.SecurityGroupRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new SecurityGroup(\"example\", SecurityGroupArgs.builder()\n            .name(\"tf-example-security-group\")\n            .tag(\"tf-example\")\n            .rules(            \n                SecurityGroupRuleArgs.builder()\n                    .portRange(\"80\")\n                    .protocol(\"tcp\")\n                    .cidrBlock(\"192.168.0.0/16\")\n                    .policy(\"accept\")\n                    .build(),\n                SecurityGroupRuleArgs.builder()\n                    .portRange(\"443\")\n                    .protocol(\"tcp\")\n                    .cidrBlock(\"192.168.0.0/16\")\n                    .policy(\"accept\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: ucloud:SecurityGroup\n    properties:\n      name: tf-example-security-group\n      tag: tf-example\n      rules:\n        - portRange: '80'\n          protocol: tcp\n          cidrBlock: 192.168.0.0/16\n          policy: accept\n        - portRange: '443'\n          protocol: tcp\n          cidrBlock: 192.168.0.0/16\n          policy: accept\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSecurity Group can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import ucloud:index/securityGroup:SecurityGroup example firewall-abc123456\n```\n","properties":{"createTime":{"type":"string","description":"The time of creation of security group, formatted in RFC3339 time string.\n"},"name":{"type":"string"},"remark":{"type":"string","description":"The remarks of the security group. (Default: `\"\"`).\n"},"rules":{"type":"array","items":{"$ref":"#/types/ucloud:index%2FSecurityGroupRule:SecurityGroupRule"},"description":"A list of security group rules. Can be specified multiple times for each rules. See rules below for details on attributes.\n\n- - -\n"},"securityGroupId":{"type":"string","description":"The ID of the resource security group.\n"},"tag":{"type":"string","description":"A tag assigned to security group, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"}},"type":"object","required":["createTime","name","remark","rules","securityGroupId"],"inputProperties":{"name":{"type":"string"},"remark":{"type":"string","description":"The remarks of the security group. (Default: `\"\"`).\n"},"rules":{"type":"array","items":{"$ref":"#/types/ucloud:index%2FSecurityGroupRule:SecurityGroupRule"},"description":"A list of security group rules. Can be specified multiple times for each rules. See rules below for details on attributes.\n\n- - -\n"},"securityGroupId":{"type":"string","description":"The ID of the resource security group.\n"},"tag":{"type":"string","description":"A tag assigned to security group, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"}},"requiredInputs":["rules"],"stateInputs":{"description":"Input properties used for looking up and filtering SecurityGroup resources.\n","properties":{"createTime":{"type":"string","description":"The time of creation of security group, formatted in RFC3339 time string.\n"},"name":{"type":"string"},"remark":{"type":"string","description":"The remarks of the security group. (Default: `\"\"`).\n"},"rules":{"type":"array","items":{"$ref":"#/types/ucloud:index%2FSecurityGroupRule:SecurityGroupRule"},"description":"A list of security group rules. Can be specified multiple times for each rules. See rules below for details on attributes.\n\n- - -\n"},"securityGroupId":{"type":"string","description":"The ID of the resource security group.\n"},"tag":{"type":"string","description":"A tag assigned to security group, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"}},"type":"object"}},"ucloud:index/subnet:Subnet":{"description":"Provides a Subnet resource under VPC resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst _default = new ucloud.Vpc(\"default\", {\n    name: \"tf-example-vpc\",\n    tag: \"tf-example\",\n    cidrBlocks: [\"192.168.0.0/16\"],\n});\nconst example = new ucloud.Subnet(\"example\", {\n    name: \"tf-example-subnet\",\n    tag: \"tf-example\",\n    cidrBlock: \"192.168.1.0/24\",\n    vpcId: _default.vpcId,\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\ndefault = ucloud.Vpc(\"default\",\n    name=\"tf-example-vpc\",\n    tag=\"tf-example\",\n    cidr_blocks=[\"192.168.0.0/16\"])\nexample = ucloud.Subnet(\"example\",\n    name=\"tf-example-subnet\",\n    tag=\"tf-example\",\n    cidr_block=\"192.168.1.0/24\",\n    vpc_id=default.vpc_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @default = new Ucloud.Vpc(\"default\", new()\n    {\n        Name = \"tf-example-vpc\",\n        Tag = \"tf-example\",\n        CidrBlocks = new[]\n        {\n            \"192.168.0.0/16\",\n        },\n    });\n\n    var example = new Ucloud.Subnet(\"example\", new()\n    {\n        Name = \"tf-example-subnet\",\n        Tag = \"tf-example\",\n        CidrBlock = \"192.168.1.0/24\",\n        VpcId = @default.VpcId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := ucloud.NewVpc(ctx, \"default\", \u0026ucloud.VpcArgs{\n\t\t\tName: pulumi.String(\"tf-example-vpc\"),\n\t\t\tTag:  pulumi.String(\"tf-example\"),\n\t\t\tCidrBlocks: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ucloud.NewSubnet(ctx, \"example\", \u0026ucloud.SubnetArgs{\n\t\t\tName:      pulumi.String(\"tf-example-subnet\"),\n\t\t\tTag:       pulumi.String(\"tf-example\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t\tVpcId:     _default.VpcId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.Vpc;\nimport com.pulumi.ucloud.VpcArgs;\nimport com.pulumi.ucloud.Subnet;\nimport com.pulumi.ucloud.SubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var default_ = new Vpc(\"default\", VpcArgs.builder()\n            .name(\"tf-example-vpc\")\n            .tag(\"tf-example\")\n            .cidrBlocks(\"192.168.0.0/16\")\n            .build());\n\n        var example = new Subnet(\"example\", SubnetArgs.builder()\n            .name(\"tf-example-subnet\")\n            .tag(\"tf-example\")\n            .cidrBlock(\"192.168.1.0/24\")\n            .vpcId(default_.vpcId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  default:\n    type: ucloud:Vpc\n    properties:\n      name: tf-example-vpc\n      tag: tf-example\n      cidrBlocks:\n        - 192.168.0.0/16\n  example:\n    type: ucloud:Subnet\n    properties:\n      name: tf-example-subnet\n      tag: tf-example\n      cidrBlock: 192.168.1.0/24\n      vpcId: ${default.vpcId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSubnet can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import ucloud:index/subnet:Subnet example subnet-abc123456\n```\n","properties":{"cidrBlock":{"type":"string","description":"The cidr block of the desired subnet, format in \"0.0.0.0/0\", such as: `192.168.0.0/24`.\n"},"createTime":{"type":"string","description":"The time of creation of subnet, formatted in RFC3339 time string.\n"},"name":{"type":"string"},"remark":{"type":"string","description":"The remarks of the subnet. (Default: `\"\"`).\n"},"subnetId":{"type":"string","description":"The ID of the resource subnet.\n"},"tag":{"type":"string","description":"A tag assigned to subnet, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"vpcId":{"type":"string","description":"The id of the VPC that the desired subnet belongs to.\n\n- - -\n"}},"type":"object","required":["cidrBlock","createTime","name","remark","subnetId","vpcId"],"inputProperties":{"cidrBlock":{"type":"string","description":"The cidr block of the desired subnet, format in \"0.0.0.0/0\", such as: `192.168.0.0/24`.\n"},"name":{"type":"string"},"remark":{"type":"string","description":"The remarks of the subnet. (Default: `\"\"`).\n"},"subnetId":{"type":"string","description":"The ID of the resource subnet.\n"},"tag":{"type":"string","description":"A tag assigned to subnet, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"vpcId":{"type":"string","description":"The id of the VPC that the desired subnet belongs to.\n\n- - -\n"}},"requiredInputs":["cidrBlock","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering Subnet resources.\n","properties":{"cidrBlock":{"type":"string","description":"The cidr block of the desired subnet, format in \"0.0.0.0/0\", such as: `192.168.0.0/24`.\n"},"createTime":{"type":"string","description":"The time of creation of subnet, formatted in RFC3339 time string.\n"},"name":{"type":"string"},"remark":{"type":"string","description":"The remarks of the subnet. (Default: `\"\"`).\n"},"subnetId":{"type":"string","description":"The ID of the resource subnet.\n"},"tag":{"type":"string","description":"A tag assigned to subnet, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"vpcId":{"type":"string","description":"The id of the VPC that the desired subnet belongs to.\n\n- - -\n"}},"type":"object"}},"ucloud:index/udpnConnection:UdpnConnection":{"description":"UDPN (UCloud Dedicated Private Network)，you can use Dedicated Private Network to achieve high-speed, stable, secure, and dedicated communications between different data centers. The most frequent scenario is to create network connection of clusters across regions.\n\n\u003e **VPC Peering Connections with UDPN Connection** The cross-region Dedicated Private Network must be established if the two VPCs located in different regions are expected to be connected.\n\n\u003e **Note** The additional packet head will be added and included in the overall length of packet due to the tunneling UDPN adopted. Since the number of the bytes of packet head is fixed, the bigger data packet is, the less usage will be taken for the packet head.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\n// connect provider's region (cn-bj2) and peer region (cn-sh2)\nconst example = new ucloud.UdpnConnection(\"example\", {\n    bandwidth: 2,\n    peerRegion: \"cn-sh2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\n# connect provider's region (cn-bj2) and peer region (cn-sh2)\nexample = ucloud.UdpnConnection(\"example\",\n    bandwidth=2,\n    peer_region=\"cn-sh2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // connect provider's region (cn-bj2) and peer region (cn-sh2)\n    var example = new Ucloud.UdpnConnection(\"example\", new()\n    {\n        Bandwidth = 2,\n        PeerRegion = \"cn-sh2\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// connect provider's region (cn-bj2) and peer region (cn-sh2)\n\t\t_, err := ucloud.NewUdpnConnection(ctx, \"example\", \u0026ucloud.UdpnConnectionArgs{\n\t\t\tBandwidth:  pulumi.Float64(2),\n\t\t\tPeerRegion: pulumi.String(\"cn-sh2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UdpnConnection;\nimport com.pulumi.ucloud.UdpnConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // connect provider's region (cn-bj2) and peer region (cn-sh2)\n        var example = new UdpnConnection(\"example\", UdpnConnectionArgs.builder()\n            .bandwidth(2.0)\n            .peerRegion(\"cn-sh2\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # connect provider's region (cn-bj2) and peer region (cn-sh2)\n  example:\n    type: ucloud:UdpnConnection\n    properties:\n      bandwidth: 2\n      peerRegion: cn-sh2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUDPN connection can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import ucloud:index/udpnConnection:UdpnConnection example udpn-abc123456\n```\n","properties":{"bandwidth":{"type":"number","description":"Maximum bandwidth to the elastic public network, measured in Mbps (Mega bit per second). range from 2 - 1000M. The default value is \"1\"\n"},"chargeType":{"type":"string","description":"Charge type. Possible values are: \"year\" as pay by year, \"month\" as pay by month, \"dynamic\" as pay by hour. The default value is \"month\".\n"},"createTime":{"type":"string","description":"The time of creation for UDPN connection, formatted by RFC3339 time string.\n"},"duration":{"type":"number","description":"The duration that you will buy the resource, the default value is \"1\". It is not required when \"dynamic\" (pay by hour), the value is \"0\" when pay by month and the instance will be valid till the last day of that month.\n"},"expireTime":{"type":"string","description":"The expiration time for UDPN connection, formatted by RFC3339 time string.\n"},"peerRegion":{"type":"string","description":"The correspondent region of dedicated connection, please refer to the region and [availability zone list](https://docs.ucloud.cn/api/summary/regionlist) and [UDPN price list](https://docs.ucloud.cn/network/udpn/udpn_price).\n"},"udpnConnectionId":{"type":"string","description":"The ID of the resource UDPN connection.\n"}},"type":"object","required":["createTime","expireTime","peerRegion","udpnConnectionId"],"inputProperties":{"bandwidth":{"type":"number","description":"Maximum bandwidth to the elastic public network, measured in Mbps (Mega bit per second). range from 2 - 1000M. The default value is \"1\"\n"},"chargeType":{"type":"string","description":"Charge type. Possible values are: \"year\" as pay by year, \"month\" as pay by month, \"dynamic\" as pay by hour. The default value is \"month\".\n"},"duration":{"type":"number","description":"The duration that you will buy the resource, the default value is \"1\". It is not required when \"dynamic\" (pay by hour), the value is \"0\" when pay by month and the instance will be valid till the last day of that month.\n"},"peerRegion":{"type":"string","description":"The correspondent region of dedicated connection, please refer to the region and [availability zone list](https://docs.ucloud.cn/api/summary/regionlist) and [UDPN price list](https://docs.ucloud.cn/network/udpn/udpn_price).\n"},"udpnConnectionId":{"type":"string","description":"The ID of the resource UDPN connection.\n"}},"requiredInputs":["peerRegion"],"stateInputs":{"description":"Input properties used for looking up and filtering UdpnConnection resources.\n","properties":{"bandwidth":{"type":"number","description":"Maximum bandwidth to the elastic public network, measured in Mbps (Mega bit per second). range from 2 - 1000M. The default value is \"1\"\n"},"chargeType":{"type":"string","description":"Charge type. Possible values are: \"year\" as pay by year, \"month\" as pay by month, \"dynamic\" as pay by hour. The default value is \"month\".\n"},"createTime":{"type":"string","description":"The time of creation for UDPN connection, formatted by RFC3339 time string.\n"},"duration":{"type":"number","description":"The duration that you will buy the resource, the default value is \"1\". It is not required when \"dynamic\" (pay by hour), the value is \"0\" when pay by month and the instance will be valid till the last day of that month.\n"},"expireTime":{"type":"string","description":"The expiration time for UDPN connection, formatted by RFC3339 time string.\n"},"peerRegion":{"type":"string","description":"The correspondent region of dedicated connection, please refer to the region and [availability zone list](https://docs.ucloud.cn/api/summary/regionlist) and [UDPN price list](https://docs.ucloud.cn/network/udpn/udpn_price).\n"},"udpnConnectionId":{"type":"string","description":"The ID of the resource UDPN connection.\n"}},"type":"object"}},"ucloud:index/ufsVolume:UfsVolume":{"description":"Provides a UFS Volume resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst foo = new ucloud.UfsVolume(\"foo\", {\n    name: \"tf-acc-ufs-volume-basic\",\n    remark: \"test\",\n    tag: \"tf-acc\",\n    size: 500,\n    storageType: \"Basic\",\n    protocolType: \"NFSv4\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nfoo = ucloud.UfsVolume(\"foo\",\n    name=\"tf-acc-ufs-volume-basic\",\n    remark=\"test\",\n    tag=\"tf-acc\",\n    size=500,\n    storage_type=\"Basic\",\n    protocol_type=\"NFSv4\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = new Ucloud.UfsVolume(\"foo\", new()\n    {\n        Name = \"tf-acc-ufs-volume-basic\",\n        Remark = \"test\",\n        Tag = \"tf-acc\",\n        Size = 500,\n        StorageType = \"Basic\",\n        ProtocolType = \"NFSv4\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ucloud.NewUfsVolume(ctx, \"foo\", \u0026ucloud.UfsVolumeArgs{\n\t\t\tName:         pulumi.String(\"tf-acc-ufs-volume-basic\"),\n\t\t\tRemark:       pulumi.String(\"test\"),\n\t\t\tTag:          pulumi.String(\"tf-acc\"),\n\t\t\tSize:         pulumi.Float64(500),\n\t\t\tStorageType:  pulumi.String(\"Basic\"),\n\t\t\tProtocolType: pulumi.String(\"NFSv4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UfsVolume;\nimport com.pulumi.ucloud.UfsVolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var foo = new UfsVolume(\"foo\", UfsVolumeArgs.builder()\n            .name(\"tf-acc-ufs-volume-basic\")\n            .remark(\"test\")\n            .tag(\"tf-acc\")\n            .size(500.0)\n            .storageType(\"Basic\")\n            .protocolType(\"NFSv4\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  foo:\n    type: ucloud:UfsVolume\n    properties:\n      name: tf-acc-ufs-volume-basic\n      remark: test\n      tag: tf-acc\n      size: 500\n      storageType: Basic\n      protocolType: NFSv4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"chargeType":{"type":"string","description":"The charge type of instance, possible values are: \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\"\u003e`year`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e as pay by hour (specific permission required). (Default: \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e).\n"},"createTime":{"type":"string","description":"The time of creation of UFS Volume, formatted in RFC3339 time string.\n"},"duration":{"type":"number","description":"The duration that you will buy the instance (Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e). The value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e when pay by month and the instance will be valid till the last day of that month. It is not required when \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e (pay by hour).\n"},"expireTime":{"type":"string","description":"The expiration time of UFS Volume, formatted in RFC3339 time string.\n"},"name":{"type":"string"},"protocolType":{"type":"string","description":"The\u003cspan pulumi-lang-nodejs=\" protocolType \" pulumi-lang-dotnet=\" ProtocolType \" pulumi-lang-go=\" protocolType \" pulumi-lang-python=\" protocol_type \" pulumi-lang-yaml=\" protocolType \" pulumi-lang-java=\" protocolType \"\u003e protocol_type \u003c/span\u003eof the UFS Volume. Possible values are: `NFSv3`, `NFSv4`.\n\n- - -\n"},"remark":{"type":"string","description":"The remarks of instance. (Default: `\"\"`).\n"},"size":{"type":"number","description":"The size of the UFS Volume, measured in GB (GigaByte), 500 - 100000 for `Basic` storage type, 100 - 20000 for `Advanced` storage type.\n"},"storageType":{"type":"string","description":"The storage type of the UFS Volume. Possible values are: `Basic`, `Advanced`.\n"},"tag":{"type":"string","description":"A tag assigned to UFS Volume, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"ufsVolumeId":{"type":"string","description":"The ID of the resource UFS Volume.\n"}},"type":"object","required":["chargeType","createTime","expireTime","name","protocolType","remark","size","storageType","ufsVolumeId"],"inputProperties":{"chargeType":{"type":"string","description":"The charge type of instance, possible values are: \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\"\u003e`year`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e as pay by hour (specific permission required). (Default: \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e).\n"},"duration":{"type":"number","description":"The duration that you will buy the instance (Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e). The value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e when pay by month and the instance will be valid till the last day of that month. It is not required when \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e (pay by hour).\n"},"name":{"type":"string"},"protocolType":{"type":"string","description":"The\u003cspan pulumi-lang-nodejs=\" protocolType \" pulumi-lang-dotnet=\" ProtocolType \" pulumi-lang-go=\" protocolType \" pulumi-lang-python=\" protocol_type \" pulumi-lang-yaml=\" protocolType \" pulumi-lang-java=\" protocolType \"\u003e protocol_type \u003c/span\u003eof the UFS Volume. Possible values are: `NFSv3`, `NFSv4`.\n\n- - -\n"},"remark":{"type":"string","description":"The remarks of instance. (Default: `\"\"`).\n"},"size":{"type":"number","description":"The size of the UFS Volume, measured in GB (GigaByte), 500 - 100000 for `Basic` storage type, 100 - 20000 for `Advanced` storage type.\n"},"storageType":{"type":"string","description":"The storage type of the UFS Volume. Possible values are: `Basic`, `Advanced`.\n"},"tag":{"type":"string","description":"A tag assigned to UFS Volume, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"ufsVolumeId":{"type":"string","description":"The ID of the resource UFS Volume.\n"}},"requiredInputs":["protocolType","size","storageType"],"stateInputs":{"description":"Input properties used for looking up and filtering UfsVolume resources.\n","properties":{"chargeType":{"type":"string","description":"The charge type of instance, possible values are: \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\"\u003e`year`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e as pay by hour (specific permission required). (Default: \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e).\n"},"createTime":{"type":"string","description":"The time of creation of UFS Volume, formatted in RFC3339 time string.\n"},"duration":{"type":"number","description":"The duration that you will buy the instance (Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e). The value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e when pay by month and the instance will be valid till the last day of that month. It is not required when \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e (pay by hour).\n"},"expireTime":{"type":"string","description":"The expiration time of UFS Volume, formatted in RFC3339 time string.\n"},"name":{"type":"string"},"protocolType":{"type":"string","description":"The\u003cspan pulumi-lang-nodejs=\" protocolType \" pulumi-lang-dotnet=\" ProtocolType \" pulumi-lang-go=\" protocolType \" pulumi-lang-python=\" protocol_type \" pulumi-lang-yaml=\" protocolType \" pulumi-lang-java=\" protocolType \"\u003e protocol_type \u003c/span\u003eof the UFS Volume. Possible values are: `NFSv3`, `NFSv4`.\n\n- - -\n"},"remark":{"type":"string","description":"The remarks of instance. (Default: `\"\"`).\n"},"size":{"type":"number","description":"The size of the UFS Volume, measured in GB (GigaByte), 500 - 100000 for `Basic` storage type, 100 - 20000 for `Advanced` storage type.\n"},"storageType":{"type":"string","description":"The storage type of the UFS Volume. Possible values are: `Basic`, `Advanced`.\n"},"tag":{"type":"string","description":"A tag assigned to UFS Volume, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"ufsVolumeId":{"type":"string","description":"The ID of the resource UFS Volume.\n"}},"type":"object"}},"ucloud:index/ufsVolumeMountPoint:UfsVolumeMountPoint":{"description":"Provides a UFS Volume mount point resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst _default = ucloud.getVpcs({});\nconst defaultGetSubnets = _default.then(_default =\u003e ucloud.getSubnets({\n    vpcId: _default.vpcs?.[0]?.id,\n}));\nconst foo = new ucloud.UfsVolume(\"foo\", {\n    name: \"tf-acc-ufs-basic\",\n    remark: \"test\",\n    tag: \"tf-acc\",\n    size: 600,\n    storageType: \"Basic\",\n    protocolType: \"NFSv4\",\n});\nconst fooUfsVolumeMountPoint = new ucloud.UfsVolumeMountPoint(\"foo\", {\n    name: \"tf-acc-ufs-mount-point-basic\",\n    volumeId: foo.ufsVolumeId,\n    vpcId: _default.then(_default =\u003e _default.vpcs?.[0]?.id),\n    subnetId: defaultGetSubnets.then(defaultGetSubnets =\u003e defaultGetSubnets.subnets?.[0]?.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\ndefault = ucloud.get_vpcs()\ndefault_get_subnets = ucloud.get_subnets(vpc_id=default.vpcs[0].id)\nfoo = ucloud.UfsVolume(\"foo\",\n    name=\"tf-acc-ufs-basic\",\n    remark=\"test\",\n    tag=\"tf-acc\",\n    size=600,\n    storage_type=\"Basic\",\n    protocol_type=\"NFSv4\")\nfoo_ufs_volume_mount_point = ucloud.UfsVolumeMountPoint(\"foo\",\n    name=\"tf-acc-ufs-mount-point-basic\",\n    volume_id=foo.ufs_volume_id,\n    vpc_id=default.vpcs[0].id,\n    subnet_id=default_get_subnets.subnets[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @default = Ucloud.GetVpcs.Invoke();\n\n    var defaultGetSubnets = Ucloud.GetSubnets.Invoke(new()\n    {\n        VpcId = @default.Apply(getVpcsResult =\u003e getVpcsResult.Vpcs[0]?.Id),\n    });\n\n    var foo = new Ucloud.UfsVolume(\"foo\", new()\n    {\n        Name = \"tf-acc-ufs-basic\",\n        Remark = \"test\",\n        Tag = \"tf-acc\",\n        Size = 600,\n        StorageType = \"Basic\",\n        ProtocolType = \"NFSv4\",\n    });\n\n    var fooUfsVolumeMountPoint = new Ucloud.UfsVolumeMountPoint(\"foo\", new()\n    {\n        Name = \"tf-acc-ufs-mount-point-basic\",\n        VolumeId = foo.UfsVolumeId,\n        VpcId = @default.Apply(@default =\u003e @default.Apply(getVpcsResult =\u003e getVpcsResult.Vpcs[0]?.Id)),\n        SubnetId = defaultGetSubnets.Apply(getSubnetsResult =\u003e getSubnetsResult.Subnets[0]?.Id),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := ucloud.GetVpcs(ctx, \u0026ucloud.GetVpcsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultGetSubnets, err := ucloud.GetSubnets(ctx, \u0026ucloud.GetSubnetsArgs{\n\t\t\tVpcId: pulumi.StringRef(_default.Vpcs[0].Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoo, err := ucloud.NewUfsVolume(ctx, \"foo\", \u0026ucloud.UfsVolumeArgs{\n\t\t\tName:         pulumi.String(\"tf-acc-ufs-basic\"),\n\t\t\tRemark:       pulumi.String(\"test\"),\n\t\t\tTag:          pulumi.String(\"tf-acc\"),\n\t\t\tSize:         pulumi.Float64(600),\n\t\t\tStorageType:  pulumi.String(\"Basic\"),\n\t\t\tProtocolType: pulumi.String(\"NFSv4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ucloud.NewUfsVolumeMountPoint(ctx, \"foo\", \u0026ucloud.UfsVolumeMountPointArgs{\n\t\t\tName:     pulumi.String(\"tf-acc-ufs-mount-point-basic\"),\n\t\t\tVolumeId: foo.UfsVolumeId,\n\t\t\tVpcId:    pulumi.String(_default.Vpcs[0].Id),\n\t\t\tSubnetId: pulumi.String(defaultGetSubnets.Subnets[0].Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetVpcsArgs;\nimport com.pulumi.ucloud.inputs.GetSubnetsArgs;\nimport com.pulumi.ucloud.UfsVolume;\nimport com.pulumi.ucloud.UfsVolumeArgs;\nimport com.pulumi.ucloud.UfsVolumeMountPoint;\nimport com.pulumi.ucloud.UfsVolumeMountPointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var default = UcloudFunctions.getVpcs(GetVpcsArgs.builder()\n            .build());\n\n        final var defaultGetSubnets = UcloudFunctions.getSubnets(GetSubnetsArgs.builder()\n            .vpcId(default_.vpcs()[0].id())\n            .build());\n\n        var foo = new UfsVolume(\"foo\", UfsVolumeArgs.builder()\n            .name(\"tf-acc-ufs-basic\")\n            .remark(\"test\")\n            .tag(\"tf-acc\")\n            .size(600.0)\n            .storageType(\"Basic\")\n            .protocolType(\"NFSv4\")\n            .build());\n\n        var fooUfsVolumeMountPoint = new UfsVolumeMountPoint(\"fooUfsVolumeMountPoint\", UfsVolumeMountPointArgs.builder()\n            .name(\"tf-acc-ufs-mount-point-basic\")\n            .volumeId(foo.ufsVolumeId())\n            .vpcId(default_.vpcs()[0].id())\n            .subnetId(defaultGetSubnets.subnets()[0].id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  foo:\n    type: ucloud:UfsVolume\n    properties:\n      name: tf-acc-ufs-basic\n      remark: test\n      tag: tf-acc\n      size: 600\n      storageType: Basic\n      protocolType: NFSv4\n  fooUfsVolumeMountPoint:\n    type: ucloud:UfsVolumeMountPoint\n    name: foo\n    properties:\n      name: tf-acc-ufs-mount-point-basic\n      volumeId: ${foo.ufsVolumeId}\n      vpcId: ${default.vpcs[0].id}\n      subnetId: ${defaultGetSubnets.subnets[0].id}\nvariables:\n  default:\n    fn::invoke:\n      function: ucloud:getVpcs\n      arguments: {}\n  defaultGetSubnets:\n    fn::invoke:\n      function: ucloud:getSubnets\n      arguments:\n        vpcId: ${default.vpcs[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"createTime":{"type":"string","description":"The time of creation of the UFS Volume mount point, formatted in RFC3339 time string.\n"},"mountPointIp":{"type":"string","description":"The ip of the UFS Volume mount point.\n"},"name":{"type":"string","description":"The name of the UFS Volume mount point, expected value to be 6 - 63 characters and only support english, numbers, '-', '_', and can not prefix with '-'.\n"},"subnetId":{"type":"string","description":"The ID of subnet.\n"},"ufsVolumeMountPointId":{"type":"string","description":"The ID of the resource UFS Volume mount point.\n"},"volumeId":{"type":"string","description":"The id of the UFS Volume.\n"},"vpcId":{"type":"string","description":"The ID of VPC linked to the UFS Volume mount point.\n"}},"type":"object","required":["createTime","mountPointIp","name","subnetId","ufsVolumeMountPointId","volumeId","vpcId"],"inputProperties":{"name":{"type":"string","description":"The name of the UFS Volume mount point, expected value to be 6 - 63 characters and only support english, numbers, '-', '_', and can not prefix with '-'.\n"},"subnetId":{"type":"string","description":"The ID of subnet.\n"},"ufsVolumeMountPointId":{"type":"string","description":"The ID of the resource UFS Volume mount point.\n"},"volumeId":{"type":"string","description":"The id of the UFS Volume.\n"},"vpcId":{"type":"string","description":"The ID of VPC linked to the UFS Volume mount point.\n"}},"requiredInputs":["subnetId","volumeId","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering UfsVolumeMountPoint resources.\n","properties":{"createTime":{"type":"string","description":"The time of creation of the UFS Volume mount point, formatted in RFC3339 time string.\n"},"mountPointIp":{"type":"string","description":"The ip of the UFS Volume mount point.\n"},"name":{"type":"string","description":"The name of the UFS Volume mount point, expected value to be 6 - 63 characters and only support english, numbers, '-', '_', and can not prefix with '-'.\n"},"subnetId":{"type":"string","description":"The ID of subnet.\n"},"ufsVolumeMountPointId":{"type":"string","description":"The ID of the resource UFS Volume mount point.\n"},"volumeId":{"type":"string","description":"The id of the UFS Volume.\n"},"vpcId":{"type":"string","description":"The ID of VPC linked to the UFS Volume mount point.\n"}},"type":"object"}},"ucloud:index/uk8sCluster:Uk8sCluster":{"description":"Provides an UK8S Cluster resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst foo = new ucloud.Vpc(\"foo\", {\n    name: \"tf-acc-uk8s-cluster\",\n    tag: \"tf-acc\",\n    cidrBlocks: [\"192.168.0.0/16\"],\n});\nconst fooSubnet = new ucloud.Subnet(\"foo\", {\n    name: \"tf-acc-uk8s-cluster\",\n    tag: \"tf-acc\",\n    cidrBlock: \"192.168.1.0/24\",\n    vpcId: foo.vpcId,\n});\nconst _default = ucloud.getZones({});\nconst fooUk8sCluster = new ucloud.Uk8sCluster(\"foo\", {\n    vpcId: foo.vpcId,\n    subnetId: fooSubnet.subnetId,\n    name: \"tf-acc-uk8s-cluster-basic-update\",\n    serviceCidr: \"172.16.0.0/16\",\n    password: \"ucloud_2021\",\n    chargeType: \"dynamic\",\n    master: {\n        availabilityZones: [\n            _default.then(_default =\u003e _default.zones?.[0]?.id),\n            _default.then(_default =\u003e _default.zones?.[0]?.id),\n            _default.then(_default =\u003e _default.zones?.[0]?.id),\n        ],\n        instanceType: \"n-basic-2\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nfoo = ucloud.Vpc(\"foo\",\n    name=\"tf-acc-uk8s-cluster\",\n    tag=\"tf-acc\",\n    cidr_blocks=[\"192.168.0.0/16\"])\nfoo_subnet = ucloud.Subnet(\"foo\",\n    name=\"tf-acc-uk8s-cluster\",\n    tag=\"tf-acc\",\n    cidr_block=\"192.168.1.0/24\",\n    vpc_id=foo.vpc_id)\ndefault = ucloud.get_zones()\nfoo_uk8s_cluster = ucloud.Uk8sCluster(\"foo\",\n    vpc_id=foo.vpc_id,\n    subnet_id=foo_subnet.subnet_id,\n    name=\"tf-acc-uk8s-cluster-basic-update\",\n    service_cidr=\"172.16.0.0/16\",\n    password=\"ucloud_2021\",\n    charge_type=\"dynamic\",\n    master={\n        \"availability_zones\": [\n            default.zones[0].id,\n            default.zones[0].id,\n            default.zones[0].id,\n        ],\n        \"instance_type\": \"n-basic-2\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = new Ucloud.Vpc(\"foo\", new()\n    {\n        Name = \"tf-acc-uk8s-cluster\",\n        Tag = \"tf-acc\",\n        CidrBlocks = new[]\n        {\n            \"192.168.0.0/16\",\n        },\n    });\n\n    var fooSubnet = new Ucloud.Subnet(\"foo\", new()\n    {\n        Name = \"tf-acc-uk8s-cluster\",\n        Tag = \"tf-acc\",\n        CidrBlock = \"192.168.1.0/24\",\n        VpcId = foo.VpcId,\n    });\n\n    var @default = Ucloud.GetZones.Invoke();\n\n    var fooUk8sCluster = new Ucloud.Uk8sCluster(\"foo\", new()\n    {\n        VpcId = foo.VpcId,\n        SubnetId = fooSubnet.SubnetId,\n        Name = \"tf-acc-uk8s-cluster-basic-update\",\n        ServiceCidr = \"172.16.0.0/16\",\n        Password = \"ucloud_2021\",\n        ChargeType = \"dynamic\",\n        Master = new Ucloud.Inputs.Uk8sClusterMasterArgs\n        {\n            AvailabilityZones = new[]\n            {\n                @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n                @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n                @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n            },\n            InstanceType = \"n-basic-2\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ucloud.NewVpc(ctx, \"foo\", \u0026ucloud.VpcArgs{\n\t\t\tName: pulumi.String(\"tf-acc-uk8s-cluster\"),\n\t\t\tTag:  pulumi.String(\"tf-acc\"),\n\t\t\tCidrBlocks: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooSubnet, err := ucloud.NewSubnet(ctx, \"foo\", \u0026ucloud.SubnetArgs{\n\t\t\tName:      pulumi.String(\"tf-acc-uk8s-cluster\"),\n\t\t\tTag:       pulumi.String(\"tf-acc\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t\tVpcId:     foo.VpcId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := ucloud.GetZones(ctx, \u0026ucloud.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ucloud.NewUk8sCluster(ctx, \"foo\", \u0026ucloud.Uk8sClusterArgs{\n\t\t\tVpcId:       foo.VpcId,\n\t\t\tSubnetId:    fooSubnet.SubnetId,\n\t\t\tName:        pulumi.String(\"tf-acc-uk8s-cluster-basic-update\"),\n\t\t\tServiceCidr: pulumi.String(\"172.16.0.0/16\"),\n\t\t\tPassword:    pulumi.String(\"ucloud_2021\"),\n\t\t\tChargeType:  pulumi.String(\"dynamic\"),\n\t\t\tMaster: \u0026ucloud.Uk8sClusterMasterArgs{\n\t\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(_default.Zones[0].Id),\n\t\t\t\t\tpulumi.String(_default.Zones[0].Id),\n\t\t\t\t\tpulumi.String(_default.Zones[0].Id),\n\t\t\t\t},\n\t\t\t\tInstanceType: pulumi.String(\"n-basic-2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.Vpc;\nimport com.pulumi.ucloud.VpcArgs;\nimport com.pulumi.ucloud.Subnet;\nimport com.pulumi.ucloud.SubnetArgs;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetZonesArgs;\nimport com.pulumi.ucloud.Uk8sCluster;\nimport com.pulumi.ucloud.Uk8sClusterArgs;\nimport com.pulumi.ucloud.inputs.Uk8sClusterMasterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var foo = new Vpc(\"foo\", VpcArgs.builder()\n            .name(\"tf-acc-uk8s-cluster\")\n            .tag(\"tf-acc\")\n            .cidrBlocks(\"192.168.0.0/16\")\n            .build());\n\n        var fooSubnet = new Subnet(\"fooSubnet\", SubnetArgs.builder()\n            .name(\"tf-acc-uk8s-cluster\")\n            .tag(\"tf-acc\")\n            .cidrBlock(\"192.168.1.0/24\")\n            .vpcId(foo.vpcId())\n            .build());\n\n        final var default = UcloudFunctions.getZones(GetZonesArgs.builder()\n            .build());\n\n        var fooUk8sCluster = new Uk8sCluster(\"fooUk8sCluster\", Uk8sClusterArgs.builder()\n            .vpcId(foo.vpcId())\n            .subnetId(fooSubnet.subnetId())\n            .name(\"tf-acc-uk8s-cluster-basic-update\")\n            .serviceCidr(\"172.16.0.0/16\")\n            .password(\"ucloud_2021\")\n            .chargeType(\"dynamic\")\n            .master(Uk8sClusterMasterArgs.builder()\n                .availabilityZones(                \n                    default_.zones()[0].id(),\n                    default_.zones()[0].id(),\n                    default_.zones()[0].id())\n                .instanceType(\"n-basic-2\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  foo:\n    type: ucloud:Vpc\n    properties:\n      name: tf-acc-uk8s-cluster\n      tag: tf-acc\n      cidrBlocks:\n        - 192.168.0.0/16\n  fooSubnet:\n    type: ucloud:Subnet\n    name: foo\n    properties:\n      name: tf-acc-uk8s-cluster\n      tag: tf-acc\n      cidrBlock: 192.168.1.0/24\n      vpcId: ${foo.vpcId}\n  fooUk8sCluster:\n    type: ucloud:Uk8sCluster\n    name: foo\n    properties:\n      vpcId: ${foo.vpcId}\n      subnetId: ${fooSubnet.subnetId}\n      name: tf-acc-uk8s-cluster-basic-update\n      serviceCidr: 172.16.0.0/16\n      password: ucloud_2021\n      chargeType: dynamic\n      master:\n        availabilityZones:\n          - ${default.zones[0].id}\n          - ${default.zones[0].id}\n          - ${default.zones[0].id}\n        instanceType: n-basic-2\nvariables:\n  default:\n    fn::invoke:\n      function: ucloud:getZones\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"apiServer":{"type":"string","description":"The api server endpoint in cluster.\n"},"chargeType":{"type":"string","description":"The charge type of instance, possible values are: \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\"\u003e`year`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e as pay by hour (specific permission required). (Default: \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e).\n"},"createTime":{"type":"string","description":"The time of creation for instance, formatted in RFC3339 time string.\n"},"deleteDisksWithInstance":{"type":"boolean","description":"Whether the cloud data disks attached instance should be destroyed on instance termination.\n"},"duration":{"type":"number","description":"The duration that you will buy the instance (Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e). The value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e when pay by month and the instance will be valid till the last day of that month. It is not required when \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e (pay by hour).\n"},"enableExternalApiServer":{"type":"boolean","description":"If expose the api server endpoint for external visiting.\n"},"externalApiServer":{"type":"string","description":"The api server endpoint for external visiting.\n"},"imageId":{"type":"string","description":"The ID for the image to use for the master nodes.\n"},"initScript":{"type":"string","description":"The user data to customize the startup behaviors when launching the instance. You may refer to \u003cspan pulumi-lang-nodejs=\"[userDataDocument]\" pulumi-lang-dotnet=\"[UserDataDocument]\" pulumi-lang-go=\"[userDataDocument]\" pulumi-lang-python=\"[user_data_document]\" pulumi-lang-yaml=\"[userDataDocument]\" pulumi-lang-java=\"[userDataDocument]\"\u003e[user_data_document]\u003c/span\u003e(https://docs.ucloud.cn/uhost/guide/metadata/userdata)\n"},"k8sVersion":{"type":"string","description":"The version of k8s. See also [Create UK8S](https://console.ucloud.cn/uk8s/create).\n"},"kubeProxy":{"$ref":"#/types/ucloud:index%2FUk8sClusterKubeProxy:Uk8sClusterKubeProxy","description":"The configuration of kube proxy, See kube proxy for details of attributes.\n"},"master":{"$ref":"#/types/ucloud:index%2FUk8sClusterMaster:Uk8sClusterMaster","description":"The configuration of master, See master for details of attributes.\n"},"name":{"type":"string"},"password":{"type":"string","secret":true},"podCidr":{"type":"string","description":"The CIDR block of pod network.\n"},"serviceCidr":{"type":"string","description":"The CIDR block of k8s service.\n"},"status":{"type":"string","description":"Instance current status. Possible values are `RUNNING`, `CREATEFAILED`, `DELETEFAILED`, `ERROR` and `ABNORMAL`.\n"},"subnetId":{"type":"string","description":"The ID of subnet. If defined \u003cspan pulumi-lang-nodejs=\"`vpcId`\" pulumi-lang-dotnet=\"`VpcId`\" pulumi-lang-go=\"`vpcId`\" pulumi-lang-python=\"`vpc_id`\" pulumi-lang-yaml=\"`vpcId`\" pulumi-lang-java=\"`vpcId`\"\u003e`vpc_id`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e is Required. If not defined \u003cspan pulumi-lang-nodejs=\"`vpcId`\" pulumi-lang-dotnet=\"`VpcId`\" pulumi-lang-go=\"`vpcId`\" pulumi-lang-python=\"`vpc_id`\" pulumi-lang-yaml=\"`vpcId`\" pulumi-lang-java=\"`vpcId`\"\u003e`vpc_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e, the instance will use the default subnet in the current region.\n"},"timeouts":{"$ref":"#/types/ucloud:index%2FUk8sClusterTimeouts:Uk8sClusterTimeouts"},"uk8sClusterId":{"type":"string","description":"The ID of the resource instance.\n"},"userData":{"type":"string","description":"The user data to customize the startup behaviors when launching the instance. You may refer to \u003cspan pulumi-lang-nodejs=\"[userDataDocument]\" pulumi-lang-dotnet=\"[UserDataDocument]\" pulumi-lang-go=\"[userDataDocument]\" pulumi-lang-python=\"[user_data_document]\" pulumi-lang-yaml=\"[userDataDocument]\" pulumi-lang-java=\"[userDataDocument]\"\u003e[user_data_document]\u003c/span\u003e(https://docs.ucloud.cn/uhost/guide/metadata/userdata)\n"},"vpcId":{"type":"string","description":"The ID of VPC linked to the instance. If not defined \u003cspan pulumi-lang-nodejs=\"`vpcId`\" pulumi-lang-dotnet=\"`VpcId`\" pulumi-lang-go=\"`vpcId`\" pulumi-lang-python=\"`vpc_id`\" pulumi-lang-yaml=\"`vpcId`\" pulumi-lang-java=\"`vpcId`\"\u003e`vpc_id`\u003c/span\u003e, the instance will use the default VPC in the current region.\n"}},"type":"object","required":["apiServer","chargeType","createTime","externalApiServer","k8sVersion","master","name","password","podCidr","serviceCidr","status","subnetId","uk8sClusterId","vpcId"],"inputProperties":{"chargeType":{"type":"string","description":"The charge type of instance, possible values are: \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\"\u003e`year`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e as pay by hour (specific permission required). (Default: \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e).\n"},"deleteDisksWithInstance":{"type":"boolean","description":"Whether the cloud data disks attached instance should be destroyed on instance termination.\n"},"duration":{"type":"number","description":"The duration that you will buy the instance (Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e). The value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e when pay by month and the instance will be valid till the last day of that month. It is not required when \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e (pay by hour).\n"},"enableExternalApiServer":{"type":"boolean","description":"If expose the api server endpoint for external visiting.\n"},"imageId":{"type":"string","description":"The ID for the image to use for the master nodes.\n"},"initScript":{"type":"string","description":"The user data to customize the startup behaviors when launching the instance. You may refer to \u003cspan pulumi-lang-nodejs=\"[userDataDocument]\" pulumi-lang-dotnet=\"[UserDataDocument]\" pulumi-lang-go=\"[userDataDocument]\" pulumi-lang-python=\"[user_data_document]\" pulumi-lang-yaml=\"[userDataDocument]\" pulumi-lang-java=\"[userDataDocument]\"\u003e[user_data_document]\u003c/span\u003e(https://docs.ucloud.cn/uhost/guide/metadata/userdata)\n"},"k8sVersion":{"type":"string","description":"The version of k8s. See also [Create UK8S](https://console.ucloud.cn/uk8s/create).\n"},"kubeProxy":{"$ref":"#/types/ucloud:index%2FUk8sClusterKubeProxy:Uk8sClusterKubeProxy","description":"The configuration of kube proxy, See kube proxy for details of attributes.\n"},"master":{"$ref":"#/types/ucloud:index%2FUk8sClusterMaster:Uk8sClusterMaster","description":"The configuration of master, See master for details of attributes.\n"},"name":{"type":"string"},"password":{"type":"string","secret":true},"serviceCidr":{"type":"string","description":"The CIDR block of k8s service.\n"},"subnetId":{"type":"string","description":"The ID of subnet. If defined \u003cspan pulumi-lang-nodejs=\"`vpcId`\" pulumi-lang-dotnet=\"`VpcId`\" pulumi-lang-go=\"`vpcId`\" pulumi-lang-python=\"`vpc_id`\" pulumi-lang-yaml=\"`vpcId`\" pulumi-lang-java=\"`vpcId`\"\u003e`vpc_id`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e is Required. If not defined \u003cspan pulumi-lang-nodejs=\"`vpcId`\" pulumi-lang-dotnet=\"`VpcId`\" pulumi-lang-go=\"`vpcId`\" pulumi-lang-python=\"`vpc_id`\" pulumi-lang-yaml=\"`vpcId`\" pulumi-lang-java=\"`vpcId`\"\u003e`vpc_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e, the instance will use the default subnet in the current region.\n"},"timeouts":{"$ref":"#/types/ucloud:index%2FUk8sClusterTimeouts:Uk8sClusterTimeouts"},"uk8sClusterId":{"type":"string","description":"The ID of the resource instance.\n"},"userData":{"type":"string","description":"The user data to customize the startup behaviors when launching the instance. You may refer to \u003cspan pulumi-lang-nodejs=\"[userDataDocument]\" pulumi-lang-dotnet=\"[UserDataDocument]\" pulumi-lang-go=\"[userDataDocument]\" pulumi-lang-python=\"[user_data_document]\" pulumi-lang-yaml=\"[userDataDocument]\" pulumi-lang-java=\"[userDataDocument]\"\u003e[user_data_document]\u003c/span\u003e(https://docs.ucloud.cn/uhost/guide/metadata/userdata)\n"},"vpcId":{"type":"string","description":"The ID of VPC linked to the instance. If not defined \u003cspan pulumi-lang-nodejs=\"`vpcId`\" pulumi-lang-dotnet=\"`VpcId`\" pulumi-lang-go=\"`vpcId`\" pulumi-lang-python=\"`vpc_id`\" pulumi-lang-yaml=\"`vpcId`\" pulumi-lang-java=\"`vpcId`\"\u003e`vpc_id`\u003c/span\u003e, the instance will use the default VPC in the current region.\n"}},"requiredInputs":["master","password","serviceCidr","subnetId","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering Uk8sCluster resources.\n","properties":{"apiServer":{"type":"string","description":"The api server endpoint in cluster.\n"},"chargeType":{"type":"string","description":"The charge type of instance, possible values are: \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\"\u003e`year`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e as pay by hour (specific permission required). (Default: \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e).\n"},"createTime":{"type":"string","description":"The time of creation for instance, formatted in RFC3339 time string.\n"},"deleteDisksWithInstance":{"type":"boolean","description":"Whether the cloud data disks attached instance should be destroyed on instance termination.\n"},"duration":{"type":"number","description":"The duration that you will buy the instance (Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e). The value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e when pay by month and the instance will be valid till the last day of that month. It is not required when \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e (pay by hour).\n"},"enableExternalApiServer":{"type":"boolean","description":"If expose the api server endpoint for external visiting.\n"},"externalApiServer":{"type":"string","description":"The api server endpoint for external visiting.\n"},"imageId":{"type":"string","description":"The ID for the image to use for the master nodes.\n"},"initScript":{"type":"string","description":"The user data to customize the startup behaviors when launching the instance. You may refer to \u003cspan pulumi-lang-nodejs=\"[userDataDocument]\" pulumi-lang-dotnet=\"[UserDataDocument]\" pulumi-lang-go=\"[userDataDocument]\" pulumi-lang-python=\"[user_data_document]\" pulumi-lang-yaml=\"[userDataDocument]\" pulumi-lang-java=\"[userDataDocument]\"\u003e[user_data_document]\u003c/span\u003e(https://docs.ucloud.cn/uhost/guide/metadata/userdata)\n"},"k8sVersion":{"type":"string","description":"The version of k8s. See also [Create UK8S](https://console.ucloud.cn/uk8s/create).\n"},"kubeProxy":{"$ref":"#/types/ucloud:index%2FUk8sClusterKubeProxy:Uk8sClusterKubeProxy","description":"The configuration of kube proxy, See kube proxy for details of attributes.\n"},"master":{"$ref":"#/types/ucloud:index%2FUk8sClusterMaster:Uk8sClusterMaster","description":"The configuration of master, See master for details of attributes.\n"},"name":{"type":"string"},"password":{"type":"string","secret":true},"podCidr":{"type":"string","description":"The CIDR block of pod network.\n"},"serviceCidr":{"type":"string","description":"The CIDR block of k8s service.\n"},"status":{"type":"string","description":"Instance current status. Possible values are `RUNNING`, `CREATEFAILED`, `DELETEFAILED`, `ERROR` and `ABNORMAL`.\n"},"subnetId":{"type":"string","description":"The ID of subnet. If defined \u003cspan pulumi-lang-nodejs=\"`vpcId`\" pulumi-lang-dotnet=\"`VpcId`\" pulumi-lang-go=\"`vpcId`\" pulumi-lang-python=\"`vpc_id`\" pulumi-lang-yaml=\"`vpcId`\" pulumi-lang-java=\"`vpcId`\"\u003e`vpc_id`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e is Required. If not defined \u003cspan pulumi-lang-nodejs=\"`vpcId`\" pulumi-lang-dotnet=\"`VpcId`\" pulumi-lang-go=\"`vpcId`\" pulumi-lang-python=\"`vpc_id`\" pulumi-lang-yaml=\"`vpcId`\" pulumi-lang-java=\"`vpcId`\"\u003e`vpc_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e, the instance will use the default subnet in the current region.\n"},"timeouts":{"$ref":"#/types/ucloud:index%2FUk8sClusterTimeouts:Uk8sClusterTimeouts"},"uk8sClusterId":{"type":"string","description":"The ID of the resource instance.\n"},"userData":{"type":"string","description":"The user data to customize the startup behaviors when launching the instance. You may refer to \u003cspan pulumi-lang-nodejs=\"[userDataDocument]\" pulumi-lang-dotnet=\"[UserDataDocument]\" pulumi-lang-go=\"[userDataDocument]\" pulumi-lang-python=\"[user_data_document]\" pulumi-lang-yaml=\"[userDataDocument]\" pulumi-lang-java=\"[userDataDocument]\"\u003e[user_data_document]\u003c/span\u003e(https://docs.ucloud.cn/uhost/guide/metadata/userdata)\n"},"vpcId":{"type":"string","description":"The ID of VPC linked to the instance. If not defined \u003cspan pulumi-lang-nodejs=\"`vpcId`\" pulumi-lang-dotnet=\"`VpcId`\" pulumi-lang-go=\"`vpcId`\" pulumi-lang-python=\"`vpc_id`\" pulumi-lang-yaml=\"`vpcId`\" pulumi-lang-java=\"`vpcId`\"\u003e`vpc_id`\u003c/span\u003e, the instance will use the default VPC in the current region.\n"}},"type":"object"}},"ucloud:index/uk8sNode:Uk8sNode":{"description":"Provides an UK8S Node resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst foo = new ucloud.Vpc(\"foo\", {\n    name: \"tf-acc-uk8s-node\",\n    tag: \"tf-acc\",\n    cidrBlocks: [\"192.168.0.0/16\"],\n});\nconst fooSubnet = new ucloud.Subnet(\"foo\", {\n    name: \"tf-acc-uk8s-node\",\n    tag: \"tf-acc\",\n    cidrBlock: \"192.168.1.0/24\",\n    vpcId: foo.vpcId,\n});\nconst _default = ucloud.getZones({});\nconst fooUk8sCluster = new ucloud.Uk8sCluster(\"foo\", {\n    vpcId: foo.vpcId,\n    subnetId: fooSubnet.subnetId,\n    name: \"tf-acc-uk8s-node-basic\",\n    serviceCidr: \"172.16.0.0/16\",\n    password: \"ucloud_2021\",\n    chargeType: \"dynamic\",\n    master: {\n        availabilityZones: [\n            _default.then(_default =\u003e _default.zones?.[0]?.id),\n            _default.then(_default =\u003e _default.zones?.[0]?.id),\n            _default.then(_default =\u003e _default.zones?.[0]?.id),\n        ],\n        instanceType: \"n-basic-2\",\n    },\n});\nconst fooUk8sNode: ucloud.Uk8sNode[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n    fooUk8sNode.push(new ucloud.Uk8sNode(`foo-${range.value}`, {\n        clusterId: fooUk8sCluster.uk8sClusterId,\n        subnetId: fooSubnet.subnetId,\n        password: \"ucloud_2021\",\n        instanceType: \"n-basic-2\",\n        chargeType: \"dynamic\",\n        availabilityZone: _default.then(_default =\u003e _default.zones?.[0]?.id),\n    }));\n}\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nfoo = ucloud.Vpc(\"foo\",\n    name=\"tf-acc-uk8s-node\",\n    tag=\"tf-acc\",\n    cidr_blocks=[\"192.168.0.0/16\"])\nfoo_subnet = ucloud.Subnet(\"foo\",\n    name=\"tf-acc-uk8s-node\",\n    tag=\"tf-acc\",\n    cidr_block=\"192.168.1.0/24\",\n    vpc_id=foo.vpc_id)\ndefault = ucloud.get_zones()\nfoo_uk8s_cluster = ucloud.Uk8sCluster(\"foo\",\n    vpc_id=foo.vpc_id,\n    subnet_id=foo_subnet.subnet_id,\n    name=\"tf-acc-uk8s-node-basic\",\n    service_cidr=\"172.16.0.0/16\",\n    password=\"ucloud_2021\",\n    charge_type=\"dynamic\",\n    master={\n        \"availability_zones\": [\n            default.zones[0].id,\n            default.zones[0].id,\n            default.zones[0].id,\n        ],\n        \"instance_type\": \"n-basic-2\",\n    })\nfoo_uk8s_node = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n    foo_uk8s_node.append(ucloud.Uk8sNode(f\"foo-{range['value']}\",\n        cluster_id=foo_uk8s_cluster.uk8s_cluster_id,\n        subnet_id=foo_subnet.subnet_id,\n        password=\"ucloud_2021\",\n        instance_type=\"n-basic-2\",\n        charge_type=\"dynamic\",\n        availability_zone=default.zones[0].id))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = new Ucloud.Vpc(\"foo\", new()\n    {\n        Name = \"tf-acc-uk8s-node\",\n        Tag = \"tf-acc\",\n        CidrBlocks = new[]\n        {\n            \"192.168.0.0/16\",\n        },\n    });\n\n    var fooSubnet = new Ucloud.Subnet(\"foo\", new()\n    {\n        Name = \"tf-acc-uk8s-node\",\n        Tag = \"tf-acc\",\n        CidrBlock = \"192.168.1.0/24\",\n        VpcId = foo.VpcId,\n    });\n\n    var @default = Ucloud.GetZones.Invoke();\n\n    var fooUk8sCluster = new Ucloud.Uk8sCluster(\"foo\", new()\n    {\n        VpcId = foo.VpcId,\n        SubnetId = fooSubnet.SubnetId,\n        Name = \"tf-acc-uk8s-node-basic\",\n        ServiceCidr = \"172.16.0.0/16\",\n        Password = \"ucloud_2021\",\n        ChargeType = \"dynamic\",\n        Master = new Ucloud.Inputs.Uk8sClusterMasterArgs\n        {\n            AvailabilityZones = new[]\n            {\n                @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n                @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n                @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n            },\n            InstanceType = \"n-basic-2\",\n        },\n    });\n\n    var fooUk8sNode = new List\u003cUcloud.Uk8sNode\u003e();\n    for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n    {\n        var range = new { Value = rangeIndex };\n        fooUk8sNode.Add(new Ucloud.Uk8sNode($\"foo-{range.Value}\", new()\n        {\n            ClusterId = fooUk8sCluster.Uk8sClusterId,\n            SubnetId = fooSubnet.SubnetId,\n            Password = \"ucloud_2021\",\n            InstanceType = \"n-basic-2\",\n            ChargeType = \"dynamic\",\n            AvailabilityZone = @default.Apply(@default =\u003e @default.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id)),\n        }));\n    }\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ucloud.NewVpc(ctx, \"foo\", \u0026ucloud.VpcArgs{\n\t\t\tName: pulumi.String(\"tf-acc-uk8s-node\"),\n\t\t\tTag:  pulumi.String(\"tf-acc\"),\n\t\t\tCidrBlocks: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooSubnet, err := ucloud.NewSubnet(ctx, \"foo\", \u0026ucloud.SubnetArgs{\n\t\t\tName:      pulumi.String(\"tf-acc-uk8s-node\"),\n\t\t\tTag:       pulumi.String(\"tf-acc\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t\tVpcId:     foo.VpcId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_default, err := ucloud.GetZones(ctx, \u0026ucloud.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooUk8sCluster, err := ucloud.NewUk8sCluster(ctx, \"foo\", \u0026ucloud.Uk8sClusterArgs{\n\t\t\tVpcId:       foo.VpcId,\n\t\t\tSubnetId:    fooSubnet.SubnetId,\n\t\t\tName:        pulumi.String(\"tf-acc-uk8s-node-basic\"),\n\t\t\tServiceCidr: pulumi.String(\"172.16.0.0/16\"),\n\t\t\tPassword:    pulumi.String(\"ucloud_2021\"),\n\t\t\tChargeType:  pulumi.String(\"dynamic\"),\n\t\t\tMaster: \u0026ucloud.Uk8sClusterMasterArgs{\n\t\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(_default.Zones[0].Id),\n\t\t\t\t\tpulumi.String(_default.Zones[0].Id),\n\t\t\t\t\tpulumi.String(_default.Zones[0].Id),\n\t\t\t\t},\n\t\t\t\tInstanceType: pulumi.String(\"n-basic-2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar fooUk8sNode []*ucloud.Uk8sNode\n\t\tfor index := 0; index \u003c 2; index++ {\n\t\t\tkey0 := index\n\t\t\t_ := index\n\t\t\t__res, err := ucloud.NewUk8sNode(ctx, fmt.Sprintf(\"foo-%v\", key0), \u0026ucloud.Uk8sNodeArgs{\n\t\t\t\tClusterId:        fooUk8sCluster.Uk8sClusterId,\n\t\t\t\tSubnetId:         fooSubnet.SubnetId,\n\t\t\t\tPassword:         pulumi.String(\"ucloud_2021\"),\n\t\t\t\tInstanceType:     pulumi.String(\"n-basic-2\"),\n\t\t\t\tChargeType:       pulumi.String(\"dynamic\"),\n\t\t\t\tAvailabilityZone: pulumi.String(_default.Zones[0].Id),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tfooUk8sNode = append(fooUk8sNode, __res)\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.Vpc;\nimport com.pulumi.ucloud.VpcArgs;\nimport com.pulumi.ucloud.Subnet;\nimport com.pulumi.ucloud.SubnetArgs;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetZonesArgs;\nimport com.pulumi.ucloud.Uk8sCluster;\nimport com.pulumi.ucloud.Uk8sClusterArgs;\nimport com.pulumi.ucloud.inputs.Uk8sClusterMasterArgs;\nimport com.pulumi.ucloud.Uk8sNode;\nimport com.pulumi.ucloud.Uk8sNodeArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var foo = new Vpc(\"foo\", VpcArgs.builder()\n            .name(\"tf-acc-uk8s-node\")\n            .tag(\"tf-acc\")\n            .cidrBlocks(\"192.168.0.0/16\")\n            .build());\n\n        var fooSubnet = new Subnet(\"fooSubnet\", SubnetArgs.builder()\n            .name(\"tf-acc-uk8s-node\")\n            .tag(\"tf-acc\")\n            .cidrBlock(\"192.168.1.0/24\")\n            .vpcId(foo.vpcId())\n            .build());\n\n        final var default = UcloudFunctions.getZones(GetZonesArgs.builder()\n            .build());\n\n        var fooUk8sCluster = new Uk8sCluster(\"fooUk8sCluster\", Uk8sClusterArgs.builder()\n            .vpcId(foo.vpcId())\n            .subnetId(fooSubnet.subnetId())\n            .name(\"tf-acc-uk8s-node-basic\")\n            .serviceCidr(\"172.16.0.0/16\")\n            .password(\"ucloud_2021\")\n            .chargeType(\"dynamic\")\n            .master(Uk8sClusterMasterArgs.builder()\n                .availabilityZones(                \n                    default_.zones()[0].id(),\n                    default_.zones()[0].id(),\n                    default_.zones()[0].id())\n                .instanceType(\"n-basic-2\")\n                .build())\n            .build());\n\n        for (var i = 0; i \u003c 2; i++) {\n            new Uk8sNode(\"fooUk8sNode-\" + i, Uk8sNodeArgs.builder()\n                .clusterId(fooUk8sCluster.uk8sClusterId())\n                .subnetId(fooSubnet.subnetId())\n                .password(\"ucloud_2021\")\n                .instanceType(\"n-basic-2\")\n                .chargeType(\"dynamic\")\n                .availabilityZone(default_.zones()[0].id())\n                .build());\n\n        \n}\n    }\n}\n```\n```yaml\nresources:\n  foo:\n    type: ucloud:Vpc\n    properties:\n      name: tf-acc-uk8s-node\n      tag: tf-acc\n      cidrBlocks:\n        - 192.168.0.0/16\n  fooSubnet:\n    type: ucloud:Subnet\n    name: foo\n    properties:\n      name: tf-acc-uk8s-node\n      tag: tf-acc\n      cidrBlock: 192.168.1.0/24\n      vpcId: ${foo.vpcId}\n  fooUk8sCluster:\n    type: ucloud:Uk8sCluster\n    name: foo\n    properties:\n      vpcId: ${foo.vpcId}\n      subnetId: ${fooSubnet.subnetId}\n      name: tf-acc-uk8s-node-basic\n      serviceCidr: 172.16.0.0/16\n      password: ucloud_2021\n      chargeType: dynamic\n      master:\n        availabilityZones:\n          - ${default.zones[0].id}\n          - ${default.zones[0].id}\n          - ${default.zones[0].id}\n        instanceType: n-basic-2\n  fooUk8sNode:\n    type: ucloud:Uk8sNode\n    name: foo\n    properties:\n      clusterId: ${fooUk8sCluster.uk8sClusterId}\n      subnetId: ${fooSubnet.subnetId}\n      password: ucloud_2021\n      instanceType: n-basic-2\n      chargeType: dynamic\n      availabilityZone: ${default.zones[0].id}\n    options: {}\nvariables:\n  default:\n    fn::invoke:\n      function: ucloud:getZones\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"availabilityZone":{"type":"string","description":"Availability zone where instance is located. such as: `cn-bj2-02`. You may refer to [list of availability zone](https://docs.ucloud.cn/api/summary/regionlist)\n"},"bootDiskType":{"type":"string","description":"The type of boot disk. Possible values are: \u003cspan pulumi-lang-nodejs=\"`localNormal`\" pulumi-lang-dotnet=\"`LocalNormal`\" pulumi-lang-go=\"`localNormal`\" pulumi-lang-python=\"`local_normal`\" pulumi-lang-yaml=\"`localNormal`\" pulumi-lang-java=\"`localNormal`\"\u003e`local_normal`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`localSsd`\" pulumi-lang-dotnet=\"`LocalSsd`\" pulumi-lang-go=\"`localSsd`\" pulumi-lang-python=\"`local_ssd`\" pulumi-lang-yaml=\"`localSsd`\" pulumi-lang-java=\"`localSsd`\"\u003e`local_ssd`\u003c/span\u003e for local boot disk, \u003cspan pulumi-lang-nodejs=\"`cloudSsd`\" pulumi-lang-dotnet=\"`CloudSsd`\" pulumi-lang-go=\"`cloudSsd`\" pulumi-lang-python=\"`cloud_ssd`\" pulumi-lang-yaml=\"`cloudSsd`\" pulumi-lang-java=\"`cloudSsd`\"\u003e`cloud_ssd`\u003c/span\u003e for cloud SSD boot disk,\u003cspan pulumi-lang-nodejs=\"`cloudRssd`\" pulumi-lang-dotnet=\"`CloudRssd`\" pulumi-lang-go=\"`cloudRssd`\" pulumi-lang-python=\"`cloud_rssd`\" pulumi-lang-yaml=\"`cloudRssd`\" pulumi-lang-java=\"`cloudRssd`\"\u003e`cloud_rssd`\u003c/span\u003e as RDMA-SSD cloud disk. (Default: \u003cspan pulumi-lang-nodejs=\"`cloudSsd`\" pulumi-lang-dotnet=\"`CloudSsd`\" pulumi-lang-go=\"`cloudSsd`\" pulumi-lang-python=\"`cloud_ssd`\" pulumi-lang-yaml=\"`cloudSsd`\" pulumi-lang-java=\"`cloudSsd`\"\u003e`cloud_ssd`\u003c/span\u003e). The \u003cspan pulumi-lang-nodejs=\"`localSsd`\" pulumi-lang-dotnet=\"`LocalSsd`\" pulumi-lang-go=\"`localSsd`\" pulumi-lang-python=\"`local_ssd`\" pulumi-lang-yaml=\"`localSsd`\" pulumi-lang-java=\"`localSsd`\"\u003e`local_ssd`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`cloudSsd`\" pulumi-lang-dotnet=\"`CloudSsd`\" pulumi-lang-go=\"`cloudSsd`\" pulumi-lang-python=\"`cloud_ssd`\" pulumi-lang-yaml=\"`cloudSsd`\" pulumi-lang-java=\"`cloudSsd`\"\u003e`cloud_ssd`\u003c/span\u003e are not fully support by all regions as boot disk type, please proceed to UCloud console for more details.\n"},"chargeType":{"type":"string","description":"The charge type of instance, possible values are: \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\"\u003e`year`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e as pay by hour (specific permission required). (Default: \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e).\n"},"clusterId":{"type":"string","description":"The ID of uk8s cluster.\n"},"createTime":{"type":"string","description":"The time of creation for instance, formatted in RFC3339 time string.\n"},"dataDiskSize":{"type":"number","description":"The size of local data disk, measured in GB (GigaByte), 20-2000 for local sata disk and 20-1000 for local ssd disk (all the GPU type instances are included). The volume adjustment must be a multiple of 10 GB. In addition, any reduction of data disk size is not supported.\n"},"dataDiskType":{"type":"string","description":"The type of local data disk. Possible values are: \u003cspan pulumi-lang-nodejs=\"`localNormal`\" pulumi-lang-dotnet=\"`LocalNormal`\" pulumi-lang-go=\"`localNormal`\" pulumi-lang-python=\"`local_normal`\" pulumi-lang-yaml=\"`localNormal`\" pulumi-lang-java=\"`localNormal`\"\u003e`local_normal`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`localSsd`\" pulumi-lang-dotnet=\"`LocalSsd`\" pulumi-lang-go=\"`localSsd`\" pulumi-lang-python=\"`local_ssd`\" pulumi-lang-yaml=\"`localSsd`\" pulumi-lang-java=\"`localSsd`\"\u003e`local_ssd`\u003c/span\u003e for local data disk, \u003cspan pulumi-lang-nodejs=\"`cloudSsd`\" pulumi-lang-dotnet=\"`CloudSsd`\" pulumi-lang-go=\"`cloudSsd`\" pulumi-lang-python=\"`cloud_ssd`\" pulumi-lang-yaml=\"`cloudSsd`\" pulumi-lang-java=\"`cloudSsd`\"\u003e`cloud_ssd`\u003c/span\u003e for cloud SSD boot disk,\u003cspan pulumi-lang-nodejs=\"`cloudRssd`\" pulumi-lang-dotnet=\"`CloudRssd`\" pulumi-lang-go=\"`cloudRssd`\" pulumi-lang-python=\"`cloud_rssd`\" pulumi-lang-yaml=\"`cloudRssd`\" pulumi-lang-java=\"`cloudRssd`\"\u003e`cloud_rssd`\u003c/span\u003e as RDMA-SSD cloud disk. (Default: \u003cspan pulumi-lang-nodejs=\"`cloudSsd`\" pulumi-lang-dotnet=\"`CloudSsd`\" pulumi-lang-go=\"`cloudSsd`\" pulumi-lang-python=\"`cloud_ssd`\" pulumi-lang-yaml=\"`cloudSsd`\" pulumi-lang-java=\"`cloudSsd`\"\u003e`cloud_ssd`\u003c/span\u003e). The \u003cspan pulumi-lang-nodejs=\"`localSsd`\" pulumi-lang-dotnet=\"`LocalSsd`\" pulumi-lang-go=\"`localSsd`\" pulumi-lang-python=\"`local_ssd`\" pulumi-lang-yaml=\"`localSsd`\" pulumi-lang-java=\"`localSsd`\"\u003e`local_ssd`\u003c/span\u003e is not fully support by all regions as data disk type, please proceed to UCloud console for more details.\n"},"deleteDisksWithInstance":{"type":"boolean"},"disableScheduleOnCreate":{"type":"boolean","description":"Whether disable any pod scheduling on the node is created.\n"},"duration":{"type":"number","description":"The duration that you will buy the instance (Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e). The value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e when pay by month and the instance will be valid till the last day of that month. It is not required when \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e (pay by hour).\n"},"expireTime":{"type":"string","description":"The expiration time for instance, formatted in RFC3339 time string.\n"},"imageId":{"type":"string","description":"The ID for the image to use for the instance.\n"},"initScript":{"type":"string","description":"The user data to customize the startup behaviors when launching the instance. You may refer to \u003cspan pulumi-lang-nodejs=\"[userDataDocument]\" pulumi-lang-dotnet=\"[UserDataDocument]\" pulumi-lang-go=\"[userDataDocument]\" pulumi-lang-python=\"[user_data_document]\" pulumi-lang-yaml=\"[userDataDocument]\" pulumi-lang-java=\"[userDataDocument]\"\u003e[user_data_document]\u003c/span\u003e(https://docs.ucloud.cn/uhost/guide/metadata/userdata)\n"},"instanceType":{"type":"string","description":"The type of instance, please visit the instance type table\n"},"ipSets":{"type":"array","items":{"$ref":"#/types/ucloud:index%2FUk8sNodeIpSet:Uk8sNodeIpSet"},"description":"It is a nested type which documented below.\n"},"isolationGroup":{"type":"string","description":"The ID of the associated isolation group.\n"},"minCpuPlatform":{"type":"string","description":"Specifies a minimum CPU platform for the VM instance. (Default: `Intel/Auto`). You may refer to \u003cspan pulumi-lang-nodejs=\"[minCpuPlatform]\" pulumi-lang-dotnet=\"[MinCpuPlatform]\" pulumi-lang-go=\"[minCpuPlatform]\" pulumi-lang-python=\"[min_cpu_platform]\" pulumi-lang-yaml=\"[minCpuPlatform]\" pulumi-lang-java=\"[minCpuPlatform]\"\u003e[min_cpu_platform]\u003c/span\u003e(https://docs.ucloud.cn/uhost/introduction/uhost/type_new)\n- The Intel CPU platform:\n- `Intel/Auto` as the Intel CPU platform version will be selected randomly by system;\n- `Intel/IvyBridge` as Intel V2, the version of Intel CPU platform selected by system will be `Intel/IvyBridge` and above;\n- `Intel/Haswell` as Intel V3,  the version of Intel CPU platform selected by system will be `Intel/Haswell` and above;\n- `Intel/Broadwell` as Intel V4, the version of Intel CPU platform selected by system will be `Intel/Broadwell` and above;\n- `Intel/Skylake` as Intel V5, the version of Intel CPU platform selected by system will be `Intel/Skylake` and above;\n- `Intel/Cascadelake` as Intel V6, the version of Intel CPU platform selected by system will be `Intel/Cascadelake`;\n- `Intel/CascadelakeR` as the version of Intel CPU platform, currently can only support by the \u003cspan pulumi-lang-nodejs=\"`os`\" pulumi-lang-dotnet=\"`Os`\" pulumi-lang-go=\"`os`\" pulumi-lang-python=\"`os`\" pulumi-lang-yaml=\"`os`\" pulumi-lang-java=\"`os`\"\u003e`os`\u003c/span\u003e instance type;\n- The AMD CPU platform:\n- `Amd/Auto` as the Amd CPU platform version will be selected randomly by system;\n- `Amd/Epyc2` as the version of Amd CPU platform selected by system will be `Amd/Epyc2` and above;\n- The Ampere CPU platform:\n- `Ampere/Altra` as the version of Ampere CPU platform selected by system will be `Ampere/Altra` and above.\n"},"password":{"type":"string","secret":true},"status":{"type":"string","description":"Instance current status. Possible values are `Initializing`, `Starting`, `Running`, `Stopping`, `Deleting`, `ToBeDeleted`, `Stopped`, `Install Fail` and `Error`.\n"},"subnetId":{"type":"string","description":"The ID of subnet. If defined \u003cspan pulumi-lang-nodejs=\"`vpcId`\" pulumi-lang-dotnet=\"`VpcId`\" pulumi-lang-go=\"`vpcId`\" pulumi-lang-python=\"`vpc_id`\" pulumi-lang-yaml=\"`vpcId`\" pulumi-lang-java=\"`vpcId`\"\u003e`vpc_id`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e is Required. If not defined \u003cspan pulumi-lang-nodejs=\"`vpcId`\" pulumi-lang-dotnet=\"`VpcId`\" pulumi-lang-go=\"`vpcId`\" pulumi-lang-python=\"`vpc_id`\" pulumi-lang-yaml=\"`vpcId`\" pulumi-lang-java=\"`vpcId`\"\u003e`vpc_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e, the instance will use the default subnet in the current region.\n"},"timeouts":{"$ref":"#/types/ucloud:index%2FUk8sNodeTimeouts:Uk8sNodeTimeouts"},"uk8sNodeId":{"type":"string","description":"The ID of the resource instance.\n"},"userData":{"type":"string","description":"The user data to customize the startup behaviors when launching the instance. You may refer to \u003cspan pulumi-lang-nodejs=\"[userDataDocument]\" pulumi-lang-dotnet=\"[UserDataDocument]\" pulumi-lang-go=\"[userDataDocument]\" pulumi-lang-python=\"[user_data_document]\" pulumi-lang-yaml=\"[userDataDocument]\" pulumi-lang-java=\"[userDataDocument]\"\u003e[user_data_document]\u003c/span\u003e(https://docs.ucloud.cn/uhost/guide/metadata/userdata)\n"}},"type":"object","required":["availabilityZone","bootDiskType","chargeType","clusterId","createTime","dataDiskSize","dataDiskType","expireTime","instanceType","ipSets","isolationGroup","password","status","subnetId","uk8sNodeId"],"inputProperties":{"availabilityZone":{"type":"string","description":"Availability zone where instance is located. such as: `cn-bj2-02`. You may refer to [list of availability zone](https://docs.ucloud.cn/api/summary/regionlist)\n"},"bootDiskType":{"type":"string","description":"The type of boot disk. Possible values are: \u003cspan pulumi-lang-nodejs=\"`localNormal`\" pulumi-lang-dotnet=\"`LocalNormal`\" pulumi-lang-go=\"`localNormal`\" pulumi-lang-python=\"`local_normal`\" pulumi-lang-yaml=\"`localNormal`\" pulumi-lang-java=\"`localNormal`\"\u003e`local_normal`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`localSsd`\" pulumi-lang-dotnet=\"`LocalSsd`\" pulumi-lang-go=\"`localSsd`\" pulumi-lang-python=\"`local_ssd`\" pulumi-lang-yaml=\"`localSsd`\" pulumi-lang-java=\"`localSsd`\"\u003e`local_ssd`\u003c/span\u003e for local boot disk, \u003cspan pulumi-lang-nodejs=\"`cloudSsd`\" pulumi-lang-dotnet=\"`CloudSsd`\" pulumi-lang-go=\"`cloudSsd`\" pulumi-lang-python=\"`cloud_ssd`\" pulumi-lang-yaml=\"`cloudSsd`\" pulumi-lang-java=\"`cloudSsd`\"\u003e`cloud_ssd`\u003c/span\u003e for cloud SSD boot disk,\u003cspan pulumi-lang-nodejs=\"`cloudRssd`\" pulumi-lang-dotnet=\"`CloudRssd`\" pulumi-lang-go=\"`cloudRssd`\" pulumi-lang-python=\"`cloud_rssd`\" pulumi-lang-yaml=\"`cloudRssd`\" pulumi-lang-java=\"`cloudRssd`\"\u003e`cloud_rssd`\u003c/span\u003e as RDMA-SSD cloud disk. (Default: \u003cspan pulumi-lang-nodejs=\"`cloudSsd`\" pulumi-lang-dotnet=\"`CloudSsd`\" pulumi-lang-go=\"`cloudSsd`\" pulumi-lang-python=\"`cloud_ssd`\" pulumi-lang-yaml=\"`cloudSsd`\" pulumi-lang-java=\"`cloudSsd`\"\u003e`cloud_ssd`\u003c/span\u003e). The \u003cspan pulumi-lang-nodejs=\"`localSsd`\" pulumi-lang-dotnet=\"`LocalSsd`\" pulumi-lang-go=\"`localSsd`\" pulumi-lang-python=\"`local_ssd`\" pulumi-lang-yaml=\"`localSsd`\" pulumi-lang-java=\"`localSsd`\"\u003e`local_ssd`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`cloudSsd`\" pulumi-lang-dotnet=\"`CloudSsd`\" pulumi-lang-go=\"`cloudSsd`\" pulumi-lang-python=\"`cloud_ssd`\" pulumi-lang-yaml=\"`cloudSsd`\" pulumi-lang-java=\"`cloudSsd`\"\u003e`cloud_ssd`\u003c/span\u003e are not fully support by all regions as boot disk type, please proceed to UCloud console for more details.\n"},"chargeType":{"type":"string","description":"The charge type of instance, possible values are: \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\"\u003e`year`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e as pay by hour (specific permission required). (Default: \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e).\n"},"clusterId":{"type":"string","description":"The ID of uk8s cluster.\n"},"dataDiskSize":{"type":"number","description":"The size of local data disk, measured in GB (GigaByte), 20-2000 for local sata disk and 20-1000 for local ssd disk (all the GPU type instances are included). The volume adjustment must be a multiple of 10 GB. In addition, any reduction of data disk size is not supported.\n"},"dataDiskType":{"type":"string","description":"The type of local data disk. Possible values are: \u003cspan pulumi-lang-nodejs=\"`localNormal`\" pulumi-lang-dotnet=\"`LocalNormal`\" pulumi-lang-go=\"`localNormal`\" pulumi-lang-python=\"`local_normal`\" pulumi-lang-yaml=\"`localNormal`\" pulumi-lang-java=\"`localNormal`\"\u003e`local_normal`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`localSsd`\" pulumi-lang-dotnet=\"`LocalSsd`\" pulumi-lang-go=\"`localSsd`\" pulumi-lang-python=\"`local_ssd`\" pulumi-lang-yaml=\"`localSsd`\" pulumi-lang-java=\"`localSsd`\"\u003e`local_ssd`\u003c/span\u003e for local data disk, \u003cspan pulumi-lang-nodejs=\"`cloudSsd`\" pulumi-lang-dotnet=\"`CloudSsd`\" pulumi-lang-go=\"`cloudSsd`\" pulumi-lang-python=\"`cloud_ssd`\" pulumi-lang-yaml=\"`cloudSsd`\" pulumi-lang-java=\"`cloudSsd`\"\u003e`cloud_ssd`\u003c/span\u003e for cloud SSD boot disk,\u003cspan pulumi-lang-nodejs=\"`cloudRssd`\" pulumi-lang-dotnet=\"`CloudRssd`\" pulumi-lang-go=\"`cloudRssd`\" pulumi-lang-python=\"`cloud_rssd`\" pulumi-lang-yaml=\"`cloudRssd`\" pulumi-lang-java=\"`cloudRssd`\"\u003e`cloud_rssd`\u003c/span\u003e as RDMA-SSD cloud disk. (Default: \u003cspan pulumi-lang-nodejs=\"`cloudSsd`\" pulumi-lang-dotnet=\"`CloudSsd`\" pulumi-lang-go=\"`cloudSsd`\" pulumi-lang-python=\"`cloud_ssd`\" pulumi-lang-yaml=\"`cloudSsd`\" pulumi-lang-java=\"`cloudSsd`\"\u003e`cloud_ssd`\u003c/span\u003e). The \u003cspan pulumi-lang-nodejs=\"`localSsd`\" pulumi-lang-dotnet=\"`LocalSsd`\" pulumi-lang-go=\"`localSsd`\" pulumi-lang-python=\"`local_ssd`\" pulumi-lang-yaml=\"`localSsd`\" pulumi-lang-java=\"`localSsd`\"\u003e`local_ssd`\u003c/span\u003e is not fully support by all regions as data disk type, please proceed to UCloud console for more details.\n"},"deleteDisksWithInstance":{"type":"boolean"},"disableScheduleOnCreate":{"type":"boolean","description":"Whether disable any pod scheduling on the node is created.\n"},"duration":{"type":"number","description":"The duration that you will buy the instance (Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e). The value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e when pay by month and the instance will be valid till the last day of that month. It is not required when \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e (pay by hour).\n"},"imageId":{"type":"string","description":"The ID for the image to use for the instance.\n"},"initScript":{"type":"string","description":"The user data to customize the startup behaviors when launching the instance. You may refer to \u003cspan pulumi-lang-nodejs=\"[userDataDocument]\" pulumi-lang-dotnet=\"[UserDataDocument]\" pulumi-lang-go=\"[userDataDocument]\" pulumi-lang-python=\"[user_data_document]\" pulumi-lang-yaml=\"[userDataDocument]\" pulumi-lang-java=\"[userDataDocument]\"\u003e[user_data_document]\u003c/span\u003e(https://docs.ucloud.cn/uhost/guide/metadata/userdata)\n"},"instanceType":{"type":"string","description":"The type of instance, please visit the instance type table\n"},"isolationGroup":{"type":"string","description":"The ID of the associated isolation group.\n"},"minCpuPlatform":{"type":"string","description":"Specifies a minimum CPU platform for the VM instance. (Default: `Intel/Auto`). You may refer to \u003cspan pulumi-lang-nodejs=\"[minCpuPlatform]\" pulumi-lang-dotnet=\"[MinCpuPlatform]\" pulumi-lang-go=\"[minCpuPlatform]\" pulumi-lang-python=\"[min_cpu_platform]\" pulumi-lang-yaml=\"[minCpuPlatform]\" pulumi-lang-java=\"[minCpuPlatform]\"\u003e[min_cpu_platform]\u003c/span\u003e(https://docs.ucloud.cn/uhost/introduction/uhost/type_new)\n- The Intel CPU platform:\n- `Intel/Auto` as the Intel CPU platform version will be selected randomly by system;\n- `Intel/IvyBridge` as Intel V2, the version of Intel CPU platform selected by system will be `Intel/IvyBridge` and above;\n- `Intel/Haswell` as Intel V3,  the version of Intel CPU platform selected by system will be `Intel/Haswell` and above;\n- `Intel/Broadwell` as Intel V4, the version of Intel CPU platform selected by system will be `Intel/Broadwell` and above;\n- `Intel/Skylake` as Intel V5, the version of Intel CPU platform selected by system will be `Intel/Skylake` and above;\n- `Intel/Cascadelake` as Intel V6, the version of Intel CPU platform selected by system will be `Intel/Cascadelake`;\n- `Intel/CascadelakeR` as the version of Intel CPU platform, currently can only support by the \u003cspan pulumi-lang-nodejs=\"`os`\" pulumi-lang-dotnet=\"`Os`\" pulumi-lang-go=\"`os`\" pulumi-lang-python=\"`os`\" pulumi-lang-yaml=\"`os`\" pulumi-lang-java=\"`os`\"\u003e`os`\u003c/span\u003e instance type;\n- The AMD CPU platform:\n- `Amd/Auto` as the Amd CPU platform version will be selected randomly by system;\n- `Amd/Epyc2` as the version of Amd CPU platform selected by system will be `Amd/Epyc2` and above;\n- The Ampere CPU platform:\n- `Ampere/Altra` as the version of Ampere CPU platform selected by system will be `Ampere/Altra` and above.\n"},"password":{"type":"string","secret":true},"subnetId":{"type":"string","description":"The ID of subnet. If defined \u003cspan pulumi-lang-nodejs=\"`vpcId`\" pulumi-lang-dotnet=\"`VpcId`\" pulumi-lang-go=\"`vpcId`\" pulumi-lang-python=\"`vpc_id`\" pulumi-lang-yaml=\"`vpcId`\" pulumi-lang-java=\"`vpcId`\"\u003e`vpc_id`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e is Required. If not defined \u003cspan pulumi-lang-nodejs=\"`vpcId`\" pulumi-lang-dotnet=\"`VpcId`\" pulumi-lang-go=\"`vpcId`\" pulumi-lang-python=\"`vpc_id`\" pulumi-lang-yaml=\"`vpcId`\" pulumi-lang-java=\"`vpcId`\"\u003e`vpc_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e, the instance will use the default subnet in the current region.\n"},"timeouts":{"$ref":"#/types/ucloud:index%2FUk8sNodeTimeouts:Uk8sNodeTimeouts"},"uk8sNodeId":{"type":"string","description":"The ID of the resource instance.\n"},"userData":{"type":"string","description":"The user data to customize the startup behaviors when launching the instance. You may refer to \u003cspan pulumi-lang-nodejs=\"[userDataDocument]\" pulumi-lang-dotnet=\"[UserDataDocument]\" pulumi-lang-go=\"[userDataDocument]\" pulumi-lang-python=\"[user_data_document]\" pulumi-lang-yaml=\"[userDataDocument]\" pulumi-lang-java=\"[userDataDocument]\"\u003e[user_data_document]\u003c/span\u003e(https://docs.ucloud.cn/uhost/guide/metadata/userdata)\n"}},"requiredInputs":["availabilityZone","clusterId","instanceType","password"],"stateInputs":{"description":"Input properties used for looking up and filtering Uk8sNode resources.\n","properties":{"availabilityZone":{"type":"string","description":"Availability zone where instance is located. such as: `cn-bj2-02`. You may refer to [list of availability zone](https://docs.ucloud.cn/api/summary/regionlist)\n"},"bootDiskType":{"type":"string","description":"The type of boot disk. Possible values are: \u003cspan pulumi-lang-nodejs=\"`localNormal`\" pulumi-lang-dotnet=\"`LocalNormal`\" pulumi-lang-go=\"`localNormal`\" pulumi-lang-python=\"`local_normal`\" pulumi-lang-yaml=\"`localNormal`\" pulumi-lang-java=\"`localNormal`\"\u003e`local_normal`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`localSsd`\" pulumi-lang-dotnet=\"`LocalSsd`\" pulumi-lang-go=\"`localSsd`\" pulumi-lang-python=\"`local_ssd`\" pulumi-lang-yaml=\"`localSsd`\" pulumi-lang-java=\"`localSsd`\"\u003e`local_ssd`\u003c/span\u003e for local boot disk, \u003cspan pulumi-lang-nodejs=\"`cloudSsd`\" pulumi-lang-dotnet=\"`CloudSsd`\" pulumi-lang-go=\"`cloudSsd`\" pulumi-lang-python=\"`cloud_ssd`\" pulumi-lang-yaml=\"`cloudSsd`\" pulumi-lang-java=\"`cloudSsd`\"\u003e`cloud_ssd`\u003c/span\u003e for cloud SSD boot disk,\u003cspan pulumi-lang-nodejs=\"`cloudRssd`\" pulumi-lang-dotnet=\"`CloudRssd`\" pulumi-lang-go=\"`cloudRssd`\" pulumi-lang-python=\"`cloud_rssd`\" pulumi-lang-yaml=\"`cloudRssd`\" pulumi-lang-java=\"`cloudRssd`\"\u003e`cloud_rssd`\u003c/span\u003e as RDMA-SSD cloud disk. (Default: \u003cspan pulumi-lang-nodejs=\"`cloudSsd`\" pulumi-lang-dotnet=\"`CloudSsd`\" pulumi-lang-go=\"`cloudSsd`\" pulumi-lang-python=\"`cloud_ssd`\" pulumi-lang-yaml=\"`cloudSsd`\" pulumi-lang-java=\"`cloudSsd`\"\u003e`cloud_ssd`\u003c/span\u003e). The \u003cspan pulumi-lang-nodejs=\"`localSsd`\" pulumi-lang-dotnet=\"`LocalSsd`\" pulumi-lang-go=\"`localSsd`\" pulumi-lang-python=\"`local_ssd`\" pulumi-lang-yaml=\"`localSsd`\" pulumi-lang-java=\"`localSsd`\"\u003e`local_ssd`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`cloudSsd`\" pulumi-lang-dotnet=\"`CloudSsd`\" pulumi-lang-go=\"`cloudSsd`\" pulumi-lang-python=\"`cloud_ssd`\" pulumi-lang-yaml=\"`cloudSsd`\" pulumi-lang-java=\"`cloudSsd`\"\u003e`cloud_ssd`\u003c/span\u003e are not fully support by all regions as boot disk type, please proceed to UCloud console for more details.\n"},"chargeType":{"type":"string","description":"The charge type of instance, possible values are: \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\"\u003e`year`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e as pay by hour (specific permission required). (Default: \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e).\n"},"clusterId":{"type":"string","description":"The ID of uk8s cluster.\n"},"createTime":{"type":"string","description":"The time of creation for instance, formatted in RFC3339 time string.\n"},"dataDiskSize":{"type":"number","description":"The size of local data disk, measured in GB (GigaByte), 20-2000 for local sata disk and 20-1000 for local ssd disk (all the GPU type instances are included). The volume adjustment must be a multiple of 10 GB. In addition, any reduction of data disk size is not supported.\n"},"dataDiskType":{"type":"string","description":"The type of local data disk. Possible values are: \u003cspan pulumi-lang-nodejs=\"`localNormal`\" pulumi-lang-dotnet=\"`LocalNormal`\" pulumi-lang-go=\"`localNormal`\" pulumi-lang-python=\"`local_normal`\" pulumi-lang-yaml=\"`localNormal`\" pulumi-lang-java=\"`localNormal`\"\u003e`local_normal`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`localSsd`\" pulumi-lang-dotnet=\"`LocalSsd`\" pulumi-lang-go=\"`localSsd`\" pulumi-lang-python=\"`local_ssd`\" pulumi-lang-yaml=\"`localSsd`\" pulumi-lang-java=\"`localSsd`\"\u003e`local_ssd`\u003c/span\u003e for local data disk, \u003cspan pulumi-lang-nodejs=\"`cloudSsd`\" pulumi-lang-dotnet=\"`CloudSsd`\" pulumi-lang-go=\"`cloudSsd`\" pulumi-lang-python=\"`cloud_ssd`\" pulumi-lang-yaml=\"`cloudSsd`\" pulumi-lang-java=\"`cloudSsd`\"\u003e`cloud_ssd`\u003c/span\u003e for cloud SSD boot disk,\u003cspan pulumi-lang-nodejs=\"`cloudRssd`\" pulumi-lang-dotnet=\"`CloudRssd`\" pulumi-lang-go=\"`cloudRssd`\" pulumi-lang-python=\"`cloud_rssd`\" pulumi-lang-yaml=\"`cloudRssd`\" pulumi-lang-java=\"`cloudRssd`\"\u003e`cloud_rssd`\u003c/span\u003e as RDMA-SSD cloud disk. (Default: \u003cspan pulumi-lang-nodejs=\"`cloudSsd`\" pulumi-lang-dotnet=\"`CloudSsd`\" pulumi-lang-go=\"`cloudSsd`\" pulumi-lang-python=\"`cloud_ssd`\" pulumi-lang-yaml=\"`cloudSsd`\" pulumi-lang-java=\"`cloudSsd`\"\u003e`cloud_ssd`\u003c/span\u003e). The \u003cspan pulumi-lang-nodejs=\"`localSsd`\" pulumi-lang-dotnet=\"`LocalSsd`\" pulumi-lang-go=\"`localSsd`\" pulumi-lang-python=\"`local_ssd`\" pulumi-lang-yaml=\"`localSsd`\" pulumi-lang-java=\"`localSsd`\"\u003e`local_ssd`\u003c/span\u003e is not fully support by all regions as data disk type, please proceed to UCloud console for more details.\n"},"deleteDisksWithInstance":{"type":"boolean"},"disableScheduleOnCreate":{"type":"boolean","description":"Whether disable any pod scheduling on the node is created.\n"},"duration":{"type":"number","description":"The duration that you will buy the instance (Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e). The value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e when pay by month and the instance will be valid till the last day of that month. It is not required when \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e (pay by hour).\n"},"expireTime":{"type":"string","description":"The expiration time for instance, formatted in RFC3339 time string.\n"},"imageId":{"type":"string","description":"The ID for the image to use for the instance.\n"},"initScript":{"type":"string","description":"The user data to customize the startup behaviors when launching the instance. You may refer to \u003cspan pulumi-lang-nodejs=\"[userDataDocument]\" pulumi-lang-dotnet=\"[UserDataDocument]\" pulumi-lang-go=\"[userDataDocument]\" pulumi-lang-python=\"[user_data_document]\" pulumi-lang-yaml=\"[userDataDocument]\" pulumi-lang-java=\"[userDataDocument]\"\u003e[user_data_document]\u003c/span\u003e(https://docs.ucloud.cn/uhost/guide/metadata/userdata)\n"},"instanceType":{"type":"string","description":"The type of instance, please visit the instance type table\n"},"ipSets":{"type":"array","items":{"$ref":"#/types/ucloud:index%2FUk8sNodeIpSet:Uk8sNodeIpSet"},"description":"It is a nested type which documented below.\n"},"isolationGroup":{"type":"string","description":"The ID of the associated isolation group.\n"},"minCpuPlatform":{"type":"string","description":"Specifies a minimum CPU platform for the VM instance. (Default: `Intel/Auto`). You may refer to \u003cspan pulumi-lang-nodejs=\"[minCpuPlatform]\" pulumi-lang-dotnet=\"[MinCpuPlatform]\" pulumi-lang-go=\"[minCpuPlatform]\" pulumi-lang-python=\"[min_cpu_platform]\" pulumi-lang-yaml=\"[minCpuPlatform]\" pulumi-lang-java=\"[minCpuPlatform]\"\u003e[min_cpu_platform]\u003c/span\u003e(https://docs.ucloud.cn/uhost/introduction/uhost/type_new)\n- The Intel CPU platform:\n- `Intel/Auto` as the Intel CPU platform version will be selected randomly by system;\n- `Intel/IvyBridge` as Intel V2, the version of Intel CPU platform selected by system will be `Intel/IvyBridge` and above;\n- `Intel/Haswell` as Intel V3,  the version of Intel CPU platform selected by system will be `Intel/Haswell` and above;\n- `Intel/Broadwell` as Intel V4, the version of Intel CPU platform selected by system will be `Intel/Broadwell` and above;\n- `Intel/Skylake` as Intel V5, the version of Intel CPU platform selected by system will be `Intel/Skylake` and above;\n- `Intel/Cascadelake` as Intel V6, the version of Intel CPU platform selected by system will be `Intel/Cascadelake`;\n- `Intel/CascadelakeR` as the version of Intel CPU platform, currently can only support by the \u003cspan pulumi-lang-nodejs=\"`os`\" pulumi-lang-dotnet=\"`Os`\" pulumi-lang-go=\"`os`\" pulumi-lang-python=\"`os`\" pulumi-lang-yaml=\"`os`\" pulumi-lang-java=\"`os`\"\u003e`os`\u003c/span\u003e instance type;\n- The AMD CPU platform:\n- `Amd/Auto` as the Amd CPU platform version will be selected randomly by system;\n- `Amd/Epyc2` as the version of Amd CPU platform selected by system will be `Amd/Epyc2` and above;\n- The Ampere CPU platform:\n- `Ampere/Altra` as the version of Ampere CPU platform selected by system will be `Ampere/Altra` and above.\n"},"password":{"type":"string","secret":true},"status":{"type":"string","description":"Instance current status. Possible values are `Initializing`, `Starting`, `Running`, `Stopping`, `Deleting`, `ToBeDeleted`, `Stopped`, `Install Fail` and `Error`.\n"},"subnetId":{"type":"string","description":"The ID of subnet. If defined \u003cspan pulumi-lang-nodejs=\"`vpcId`\" pulumi-lang-dotnet=\"`VpcId`\" pulumi-lang-go=\"`vpcId`\" pulumi-lang-python=\"`vpc_id`\" pulumi-lang-yaml=\"`vpcId`\" pulumi-lang-java=\"`vpcId`\"\u003e`vpc_id`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e is Required. If not defined \u003cspan pulumi-lang-nodejs=\"`vpcId`\" pulumi-lang-dotnet=\"`VpcId`\" pulumi-lang-go=\"`vpcId`\" pulumi-lang-python=\"`vpc_id`\" pulumi-lang-yaml=\"`vpcId`\" pulumi-lang-java=\"`vpcId`\"\u003e`vpc_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e, the instance will use the default subnet in the current region.\n"},"timeouts":{"$ref":"#/types/ucloud:index%2FUk8sNodeTimeouts:Uk8sNodeTimeouts"},"uk8sNodeId":{"type":"string","description":"The ID of the resource instance.\n"},"userData":{"type":"string","description":"The user data to customize the startup behaviors when launching the instance. You may refer to \u003cspan pulumi-lang-nodejs=\"[userDataDocument]\" pulumi-lang-dotnet=\"[UserDataDocument]\" pulumi-lang-go=\"[userDataDocument]\" pulumi-lang-python=\"[user_data_document]\" pulumi-lang-yaml=\"[userDataDocument]\" pulumi-lang-java=\"[userDataDocument]\"\u003e[user_data_document]\u003c/span\u003e(https://docs.ucloud.cn/uhost/guide/metadata/userdata)\n"}},"type":"object"}},"ucloud:index/us3Bucket:Us3Bucket":{"description":"Provides a US3 bucket resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst foo = new ucloud.Us3Bucket(\"foo\", {\n    name: \"tf-acc-us3-bucket-basic\",\n    type: \"private\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nfoo = ucloud.Us3Bucket(\"foo\",\n    name=\"tf-acc-us3-bucket-basic\",\n    type=\"private\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = new Ucloud.Us3Bucket(\"foo\", new()\n    {\n        Name = \"tf-acc-us3-bucket-basic\",\n        Type = \"private\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ucloud.NewUs3Bucket(ctx, \"foo\", \u0026ucloud.Us3BucketArgs{\n\t\t\tName: pulumi.String(\"tf-acc-us3-bucket-basic\"),\n\t\t\tType: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.Us3Bucket;\nimport com.pulumi.ucloud.Us3BucketArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var foo = new Us3Bucket(\"foo\", Us3BucketArgs.builder()\n            .name(\"tf-acc-us3-bucket-basic\")\n            .type(\"private\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  foo:\n    type: ucloud:Us3Bucket\n    properties:\n      name: tf-acc-us3-bucket-basic\n      type: private\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"createTime":{"type":"string","description":"The time of creation of US3 bucket, formatted in RFC3339 time string.\n"},"name":{"type":"string","description":"The name of the US3 bucket, expected value to be:\n- 3 - 63 characters.\n- only support lowercase-letters, numbers, '-'.\n- not prefix with '-', 'www', 'cn-bj', 'hk'.\n- not suffix with '-'.\n"},"sourceDomainNames":{"type":"array","items":{"type":"string"},"description":"The list of source domain name.\n"},"tag":{"type":"string","description":"A tag assigned to UFS, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"type":{"type":"string","description":"The type of the US3 bucket. Possible values are: \u003cspan pulumi-lang-nodejs=\"`public`\" pulumi-lang-dotnet=\"`Public`\" pulumi-lang-go=\"`public`\" pulumi-lang-python=\"`public`\" pulumi-lang-yaml=\"`public`\" pulumi-lang-java=\"`public`\"\u003e`public`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e.\n\n- - -\n"},"us3BucketId":{"type":"string","description":"The ID of the resource US3 bucket.\n"}},"type":"object","required":["createTime","name","sourceDomainNames","type","us3BucketId"],"inputProperties":{"name":{"type":"string","description":"The name of the US3 bucket, expected value to be:\n- 3 - 63 characters.\n- only support lowercase-letters, numbers, '-'.\n- not prefix with '-', 'www', 'cn-bj', 'hk'.\n- not suffix with '-'.\n"},"tag":{"type":"string","description":"A tag assigned to UFS, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"type":{"type":"string","description":"The type of the US3 bucket. Possible values are: \u003cspan pulumi-lang-nodejs=\"`public`\" pulumi-lang-dotnet=\"`Public`\" pulumi-lang-go=\"`public`\" pulumi-lang-python=\"`public`\" pulumi-lang-yaml=\"`public`\" pulumi-lang-java=\"`public`\"\u003e`public`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e.\n\n- - -\n"},"us3BucketId":{"type":"string","description":"The ID of the resource US3 bucket.\n"}},"requiredInputs":["type"],"stateInputs":{"description":"Input properties used for looking up and filtering Us3Bucket resources.\n","properties":{"createTime":{"type":"string","description":"The time of creation of US3 bucket, formatted in RFC3339 time string.\n"},"name":{"type":"string","description":"The name of the US3 bucket, expected value to be:\n- 3 - 63 characters.\n- only support lowercase-letters, numbers, '-'.\n- not prefix with '-', 'www', 'cn-bj', 'hk'.\n- not suffix with '-'.\n"},"sourceDomainNames":{"type":"array","items":{"type":"string"},"description":"The list of source domain name.\n"},"tag":{"type":"string","description":"A tag assigned to UFS, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"type":{"type":"string","description":"The type of the US3 bucket. Possible values are: \u003cspan pulumi-lang-nodejs=\"`public`\" pulumi-lang-dotnet=\"`Public`\" pulumi-lang-go=\"`public`\" pulumi-lang-python=\"`public`\" pulumi-lang-yaml=\"`public`\" pulumi-lang-java=\"`public`\"\u003e`public`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e.\n\n- - -\n"},"us3BucketId":{"type":"string","description":"The ID of the resource US3 bucket.\n"}},"type":"object"}},"ucloud:index/vip:Vip":{"description":"Provides a VIP resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst foo = new ucloud.Vpc(\"foo\", {\n    name: \"tf-acc-vip\",\n    tag: \"tf-acc\",\n    cidrBlocks: [\"192.168.0.0/16\"],\n});\nconst fooSubnet = new ucloud.Subnet(\"foo\", {\n    name: \"tf-acc-vip\",\n    tag: \"tf-acc\",\n    cidrBlock: \"192.168.1.0/24\",\n    vpcId: foo.vpcId,\n});\nconst fooVip = new ucloud.Vip(\"foo\", {\n    vpcId: foo.vpcId,\n    subnetId: fooSubnet.subnetId,\n    name: \"tf-acc-vip-basic\",\n    remark: \"test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nfoo = ucloud.Vpc(\"foo\",\n    name=\"tf-acc-vip\",\n    tag=\"tf-acc\",\n    cidr_blocks=[\"192.168.0.0/16\"])\nfoo_subnet = ucloud.Subnet(\"foo\",\n    name=\"tf-acc-vip\",\n    tag=\"tf-acc\",\n    cidr_block=\"192.168.1.0/24\",\n    vpc_id=foo.vpc_id)\nfoo_vip = ucloud.Vip(\"foo\",\n    vpc_id=foo.vpc_id,\n    subnet_id=foo_subnet.subnet_id,\n    name=\"tf-acc-vip-basic\",\n    remark=\"test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = new Ucloud.Vpc(\"foo\", new()\n    {\n        Name = \"tf-acc-vip\",\n        Tag = \"tf-acc\",\n        CidrBlocks = new[]\n        {\n            \"192.168.0.0/16\",\n        },\n    });\n\n    var fooSubnet = new Ucloud.Subnet(\"foo\", new()\n    {\n        Name = \"tf-acc-vip\",\n        Tag = \"tf-acc\",\n        CidrBlock = \"192.168.1.0/24\",\n        VpcId = foo.VpcId,\n    });\n\n    var fooVip = new Ucloud.Vip(\"foo\", new()\n    {\n        VpcId = foo.VpcId,\n        SubnetId = fooSubnet.SubnetId,\n        Name = \"tf-acc-vip-basic\",\n        Remark = \"test\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ucloud.NewVpc(ctx, \"foo\", \u0026ucloud.VpcArgs{\n\t\t\tName: pulumi.String(\"tf-acc-vip\"),\n\t\t\tTag:  pulumi.String(\"tf-acc\"),\n\t\t\tCidrBlocks: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooSubnet, err := ucloud.NewSubnet(ctx, \"foo\", \u0026ucloud.SubnetArgs{\n\t\t\tName:      pulumi.String(\"tf-acc-vip\"),\n\t\t\tTag:       pulumi.String(\"tf-acc\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t\tVpcId:     foo.VpcId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ucloud.NewVip(ctx, \"foo\", \u0026ucloud.VipArgs{\n\t\t\tVpcId:    foo.VpcId,\n\t\t\tSubnetId: fooSubnet.SubnetId,\n\t\t\tName:     pulumi.String(\"tf-acc-vip-basic\"),\n\t\t\tRemark:   pulumi.String(\"test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.Vpc;\nimport com.pulumi.ucloud.VpcArgs;\nimport com.pulumi.ucloud.Subnet;\nimport com.pulumi.ucloud.SubnetArgs;\nimport com.pulumi.ucloud.Vip;\nimport com.pulumi.ucloud.VipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var foo = new Vpc(\"foo\", VpcArgs.builder()\n            .name(\"tf-acc-vip\")\n            .tag(\"tf-acc\")\n            .cidrBlocks(\"192.168.0.0/16\")\n            .build());\n\n        var fooSubnet = new Subnet(\"fooSubnet\", SubnetArgs.builder()\n            .name(\"tf-acc-vip\")\n            .tag(\"tf-acc\")\n            .cidrBlock(\"192.168.1.0/24\")\n            .vpcId(foo.vpcId())\n            .build());\n\n        var fooVip = new Vip(\"fooVip\", VipArgs.builder()\n            .vpcId(foo.vpcId())\n            .subnetId(fooSubnet.subnetId())\n            .name(\"tf-acc-vip-basic\")\n            .remark(\"test\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  foo:\n    type: ucloud:Vpc\n    properties:\n      name: tf-acc-vip\n      tag: tf-acc\n      cidrBlocks:\n        - 192.168.0.0/16\n  fooSubnet:\n    type: ucloud:Subnet\n    name: foo\n    properties:\n      name: tf-acc-vip\n      tag: tf-acc\n      cidrBlock: 192.168.1.0/24\n      vpcId: ${foo.vpcId}\n  fooVip:\n    type: ucloud:Vip\n    name: foo\n    properties:\n      vpcId: ${foo.vpcId}\n      subnetId: ${fooSubnet.subnetId}\n      name: tf-acc-vip-basic\n      remark: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"createTime":{"type":"string","description":"The time of creation for VIP, formatted in RFC3339 time string.\n"},"ipAddress":{"type":"string","description":"The ip address of the VIP.\n"},"name":{"type":"string"},"remark":{"type":"string","description":"The remarks of the VIP. (Default: `\"\"`).\n"},"subnetId":{"type":"string","description":"The ID of subnet. If defined \u003cspan pulumi-lang-nodejs=\"`vpcId`\" pulumi-lang-dotnet=\"`VpcId`\" pulumi-lang-go=\"`vpcId`\" pulumi-lang-python=\"`vpc_id`\" pulumi-lang-yaml=\"`vpcId`\" pulumi-lang-java=\"`vpcId`\"\u003e`vpc_id`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e is Required. \n\n- - -\n"},"tag":{"type":"string","description":"A tag assigned to VIP, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"vipId":{"type":"string","description":"The ID of the resource VIP.\n"},"vpcId":{"type":"string","description":"The ID of VPC linked to the VIP.\n"}},"type":"object","required":["createTime","ipAddress","name","remark","subnetId","vipId","vpcId"],"inputProperties":{"name":{"type":"string"},"remark":{"type":"string","description":"The remarks of the VIP. (Default: `\"\"`).\n"},"subnetId":{"type":"string","description":"The ID of subnet. If defined \u003cspan pulumi-lang-nodejs=\"`vpcId`\" pulumi-lang-dotnet=\"`VpcId`\" pulumi-lang-go=\"`vpcId`\" pulumi-lang-python=\"`vpc_id`\" pulumi-lang-yaml=\"`vpcId`\" pulumi-lang-java=\"`vpcId`\"\u003e`vpc_id`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e is Required. \n\n- - -\n"},"tag":{"type":"string","description":"A tag assigned to VIP, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"vipId":{"type":"string","description":"The ID of the resource VIP.\n"},"vpcId":{"type":"string","description":"The ID of VPC linked to the VIP.\n"}},"requiredInputs":["subnetId","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering Vip resources.\n","properties":{"createTime":{"type":"string","description":"The time of creation for VIP, formatted in RFC3339 time string.\n"},"ipAddress":{"type":"string","description":"The ip address of the VIP.\n"},"name":{"type":"string"},"remark":{"type":"string","description":"The remarks of the VIP. (Default: `\"\"`).\n"},"subnetId":{"type":"string","description":"The ID of subnet. If defined \u003cspan pulumi-lang-nodejs=\"`vpcId`\" pulumi-lang-dotnet=\"`VpcId`\" pulumi-lang-go=\"`vpcId`\" pulumi-lang-python=\"`vpc_id`\" pulumi-lang-yaml=\"`vpcId`\" pulumi-lang-java=\"`vpcId`\"\u003e`vpc_id`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\"\u003e`subnet_id`\u003c/span\u003e is Required. \n\n- - -\n"},"tag":{"type":"string","description":"A tag assigned to VIP, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"vipId":{"type":"string","description":"The ID of the resource VIP.\n"},"vpcId":{"type":"string","description":"The ID of VPC linked to the VIP.\n"}},"type":"object"}},"ucloud:index/vpc:Vpc":{"description":"Provides a VPC resource.\n\n\u003e **Note**  The network segment can only be created or deleted, can not perform both of them at the same time.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst example = new ucloud.Vpc(\"example\", {\n    name: \"tf-example-vpc\",\n    tag: \"tf-example\",\n    cidrBlocks: [\"192.168.0.0/16\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nexample = ucloud.Vpc(\"example\",\n    name=\"tf-example-vpc\",\n    tag=\"tf-example\",\n    cidr_blocks=[\"192.168.0.0/16\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Ucloud.Vpc(\"example\", new()\n    {\n        Name = \"tf-example-vpc\",\n        Tag = \"tf-example\",\n        CidrBlocks = new[]\n        {\n            \"192.168.0.0/16\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ucloud.NewVpc(ctx, \"example\", \u0026ucloud.VpcArgs{\n\t\t\tName: pulumi.String(\"tf-example-vpc\"),\n\t\t\tTag:  pulumi.String(\"tf-example\"),\n\t\t\tCidrBlocks: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.Vpc;\nimport com.pulumi.ucloud.VpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Vpc(\"example\", VpcArgs.builder()\n            .name(\"tf-example-vpc\")\n            .tag(\"tf-example\")\n            .cidrBlocks(\"192.168.0.0/16\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: ucloud:Vpc\n    properties:\n      name: tf-example-vpc\n      tag: tf-example\n      cidrBlocks:\n        - 192.168.0.0/16\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPC can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import ucloud:index/vpc:Vpc example uvnet-abc123456\n```\n","properties":{"cidrBlocks":{"type":"array","items":{"type":"string"},"description":"The CIDR blocks of VPC.\n\n- - -\n"},"createTime":{"type":"string","description":"The time of creation for VPC, formatted in RFC3339 time string.\n"},"name":{"type":"string"},"networkInfos":{"type":"array","items":{"$ref":"#/types/ucloud:index%2FVpcNetworkInfo:VpcNetworkInfo"},"description":"It is a nested type which documented below.\n"},"remark":{"type":"string","description":"The remarks of the VPC. (Default: `\"\"`).\n"},"tag":{"type":"string","description":"A tag assigned to VPC, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"updateTime":{"type":"string","description":"The time whenever there is a change made to VPC, formatted in RFC3339 time string.\n"},"vpcId":{"type":"string","description":"The ID of the resource VPC.\n"}},"type":"object","required":["cidrBlocks","createTime","name","networkInfos","remark","updateTime","vpcId"],"inputProperties":{"cidrBlocks":{"type":"array","items":{"type":"string"},"description":"The CIDR blocks of VPC.\n\n- - -\n"},"name":{"type":"string"},"remark":{"type":"string","description":"The remarks of the VPC. (Default: `\"\"`).\n"},"tag":{"type":"string","description":"A tag assigned to VPC, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"vpcId":{"type":"string","description":"The ID of the resource VPC.\n"}},"requiredInputs":["cidrBlocks"],"stateInputs":{"description":"Input properties used for looking up and filtering Vpc resources.\n","properties":{"cidrBlocks":{"type":"array","items":{"type":"string"},"description":"The CIDR blocks of VPC.\n\n- - -\n"},"createTime":{"type":"string","description":"The time of creation for VPC, formatted in RFC3339 time string.\n"},"name":{"type":"string"},"networkInfos":{"type":"array","items":{"$ref":"#/types/ucloud:index%2FVpcNetworkInfo:VpcNetworkInfo"},"description":"It is a nested type which documented below.\n"},"remark":{"type":"string","description":"The remarks of the VPC. (Default: `\"\"`).\n"},"tag":{"type":"string","description":"A tag assigned to VPC, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"updateTime":{"type":"string","description":"The time whenever there is a change made to VPC, formatted in RFC3339 time string.\n"},"vpcId":{"type":"string","description":"The ID of the resource VPC.\n"}},"type":"object"}},"ucloud:index/vpcPeeringConnection:VpcPeeringConnection":{"description":"Provides an VPC Peering Connection for establishing a connection between multiple VPC.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst foo = new ucloud.Vpc(\"foo\", {\n    name: \"tf-example-vpc-01\",\n    tag: \"tf-example\",\n    cidrBlocks: [\"192.168.0.0/16\"],\n});\nconst bar = new ucloud.Vpc(\"bar\", {\n    name: \"tf-example-vpc-02\",\n    tag: \"tf-example\",\n    cidrBlocks: [\"10.10.0.0/16\"],\n});\nconst connection = new ucloud.VpcPeeringConnection(\"connection\", {\n    vpcId: foo.vpcId,\n    peerVpcId: bar.vpcId,\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nfoo = ucloud.Vpc(\"foo\",\n    name=\"tf-example-vpc-01\",\n    tag=\"tf-example\",\n    cidr_blocks=[\"192.168.0.0/16\"])\nbar = ucloud.Vpc(\"bar\",\n    name=\"tf-example-vpc-02\",\n    tag=\"tf-example\",\n    cidr_blocks=[\"10.10.0.0/16\"])\nconnection = ucloud.VpcPeeringConnection(\"connection\",\n    vpc_id=foo.vpc_id,\n    peer_vpc_id=bar.vpc_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = new Ucloud.Vpc(\"foo\", new()\n    {\n        Name = \"tf-example-vpc-01\",\n        Tag = \"tf-example\",\n        CidrBlocks = new[]\n        {\n            \"192.168.0.0/16\",\n        },\n    });\n\n    var bar = new Ucloud.Vpc(\"bar\", new()\n    {\n        Name = \"tf-example-vpc-02\",\n        Tag = \"tf-example\",\n        CidrBlocks = new[]\n        {\n            \"10.10.0.0/16\",\n        },\n    });\n\n    var connection = new Ucloud.VpcPeeringConnection(\"connection\", new()\n    {\n        VpcId = foo.VpcId,\n        PeerVpcId = bar.VpcId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ucloud.NewVpc(ctx, \"foo\", \u0026ucloud.VpcArgs{\n\t\t\tName: pulumi.String(\"tf-example-vpc-01\"),\n\t\t\tTag:  pulumi.String(\"tf-example\"),\n\t\t\tCidrBlocks: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbar, err := ucloud.NewVpc(ctx, \"bar\", \u0026ucloud.VpcArgs{\n\t\t\tName: pulumi.String(\"tf-example-vpc-02\"),\n\t\t\tTag:  pulumi.String(\"tf-example\"),\n\t\t\tCidrBlocks: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.10.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ucloud.NewVpcPeeringConnection(ctx, \"connection\", \u0026ucloud.VpcPeeringConnectionArgs{\n\t\t\tVpcId:     foo.VpcId,\n\t\t\tPeerVpcId: bar.VpcId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.Vpc;\nimport com.pulumi.ucloud.VpcArgs;\nimport com.pulumi.ucloud.VpcPeeringConnection;\nimport com.pulumi.ucloud.VpcPeeringConnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var foo = new Vpc(\"foo\", VpcArgs.builder()\n            .name(\"tf-example-vpc-01\")\n            .tag(\"tf-example\")\n            .cidrBlocks(\"192.168.0.0/16\")\n            .build());\n\n        var bar = new Vpc(\"bar\", VpcArgs.builder()\n            .name(\"tf-example-vpc-02\")\n            .tag(\"tf-example\")\n            .cidrBlocks(\"10.10.0.0/16\")\n            .build());\n\n        var connection = new VpcPeeringConnection(\"connection\", VpcPeeringConnectionArgs.builder()\n            .vpcId(foo.vpcId())\n            .peerVpcId(bar.vpcId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  foo:\n    type: ucloud:Vpc\n    properties:\n      name: tf-example-vpc-01\n      tag: tf-example\n      cidrBlocks:\n        - 192.168.0.0/16\n  bar:\n    type: ucloud:Vpc\n    properties:\n      name: tf-example-vpc-02\n      tag: tf-example\n      cidrBlocks:\n        - 10.10.0.0/16\n  connection:\n    type: ucloud:VpcPeeringConnection\n    properties:\n      vpcId: ${foo.vpcId}\n      peerVpcId: ${bar.vpcId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"peerProjectId":{"type":"string","description":"The ID of accepter project of the specific VPC Peering Connection to retrieve.\n"},"peerRegion":{"type":"string","description":"The region of the specific VPC Peering Connection to retrieve.\n"},"peerVpcId":{"type":"string","description":"The short ID of accepter VPC of the specific VPC Peering Connection to retrieve.\n\n- - -\n"},"vpcId":{"type":"string","description":"The short of ID of the requester VPC of the specific VPC Peering Connection to retrieve.\n"},"vpcPeeringConnectionId":{"type":"string"}},"type":"object","required":["peerProjectId","peerRegion","peerVpcId","vpcId","vpcPeeringConnectionId"],"inputProperties":{"peerProjectId":{"type":"string","description":"The ID of accepter project of the specific VPC Peering Connection to retrieve.\n"},"peerRegion":{"type":"string","description":"The region of the specific VPC Peering Connection to retrieve.\n"},"peerVpcId":{"type":"string","description":"The short ID of accepter VPC of the specific VPC Peering Connection to retrieve.\n\n- - -\n"},"vpcId":{"type":"string","description":"The short of ID of the requester VPC of the specific VPC Peering Connection to retrieve.\n"},"vpcPeeringConnectionId":{"type":"string"}},"requiredInputs":["peerVpcId","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering VpcPeeringConnection resources.\n","properties":{"peerProjectId":{"type":"string","description":"The ID of accepter project of the specific VPC Peering Connection to retrieve.\n"},"peerRegion":{"type":"string","description":"The region of the specific VPC Peering Connection to retrieve.\n"},"peerVpcId":{"type":"string","description":"The short ID of accepter VPC of the specific VPC Peering Connection to retrieve.\n\n- - -\n"},"vpcId":{"type":"string","description":"The short of ID of the requester VPC of the specific VPC Peering Connection to retrieve.\n"},"vpcPeeringConnectionId":{"type":"string"}},"type":"object"}},"ucloud:index/vpnConnection:VpnConnection":{"description":"Provides a IPSec VPN Gateway Connection resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst foo = new ucloud.Vpc(\"foo\", {\n    name: \"tf-acc-vpn-connection-basic\",\n    tag: \"tf-acc\",\n    cidrBlocks: [\"192.168.0.0/16\"],\n});\nconst fooSubnet = new ucloud.Subnet(\"foo\", {\n    name: \"tf-acc-vpn-connection-basic\",\n    tag: \"tf-acc\",\n    cidrBlock: \"192.168.1.0/24\",\n    vpcId: foo.vpcId,\n});\nconst fooEip = new ucloud.Eip(\"foo\", {\n    name: \"tf-acc-vpn-connection-basic\",\n    bandwidth: 1,\n    internetType: \"bgp\",\n    chargeMode: \"bandwidth\",\n    tag: \"tf-acc\",\n});\nconst fooVpnGateway = new ucloud.VpnGateway(\"foo\", {\n    vpcId: foo.vpcId,\n    grade: \"standard\",\n    eipId: fooEip.eipId,\n    name: \"tf-acc-vpn-connection-basic\",\n    tag: \"tf-acc\",\n});\nconst fooVpnCustomerGateway = new ucloud.VpnCustomerGateway(\"foo\", {\n    ipAddress: \"10.0.0.1\",\n    name: \"tf-acc-vpn-connection-basic\",\n    tag: \"tf-acc\",\n});\nconst fooVpnConnection = new ucloud.VpnConnection(\"foo\", {\n    vpnGatewayId: fooVpnGateway.vpnGatewayId,\n    customerGatewayId: fooVpnCustomerGateway.vpnCustomerGatewayId,\n    vpcId: foo.vpcId,\n    name: \"tf-acc-vpn-connection-basic\",\n    tag: \"tf-acc\",\n    remark: \"test\",\n    ikeConfig: {\n        preSharedKey: \"test_2019\",\n    },\n    ipsecConfig: {\n        localSubnetIds: [fooSubnet.subnetId],\n        remoteSubnets: [\"10.0.0.0/24\"],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nfoo = ucloud.Vpc(\"foo\",\n    name=\"tf-acc-vpn-connection-basic\",\n    tag=\"tf-acc\",\n    cidr_blocks=[\"192.168.0.0/16\"])\nfoo_subnet = ucloud.Subnet(\"foo\",\n    name=\"tf-acc-vpn-connection-basic\",\n    tag=\"tf-acc\",\n    cidr_block=\"192.168.1.0/24\",\n    vpc_id=foo.vpc_id)\nfoo_eip = ucloud.Eip(\"foo\",\n    name=\"tf-acc-vpn-connection-basic\",\n    bandwidth=1,\n    internet_type=\"bgp\",\n    charge_mode=\"bandwidth\",\n    tag=\"tf-acc\")\nfoo_vpn_gateway = ucloud.VpnGateway(\"foo\",\n    vpc_id=foo.vpc_id,\n    grade=\"standard\",\n    eip_id=foo_eip.eip_id,\n    name=\"tf-acc-vpn-connection-basic\",\n    tag=\"tf-acc\")\nfoo_vpn_customer_gateway = ucloud.VpnCustomerGateway(\"foo\",\n    ip_address=\"10.0.0.1\",\n    name=\"tf-acc-vpn-connection-basic\",\n    tag=\"tf-acc\")\nfoo_vpn_connection = ucloud.VpnConnection(\"foo\",\n    vpn_gateway_id=foo_vpn_gateway.vpn_gateway_id,\n    customer_gateway_id=foo_vpn_customer_gateway.vpn_customer_gateway_id,\n    vpc_id=foo.vpc_id,\n    name=\"tf-acc-vpn-connection-basic\",\n    tag=\"tf-acc\",\n    remark=\"test\",\n    ike_config={\n        \"pre_shared_key\": \"test_2019\",\n    },\n    ipsec_config={\n        \"local_subnet_ids\": [foo_subnet.subnet_id],\n        \"remote_subnets\": [\"10.0.0.0/24\"],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = new Ucloud.Vpc(\"foo\", new()\n    {\n        Name = \"tf-acc-vpn-connection-basic\",\n        Tag = \"tf-acc\",\n        CidrBlocks = new[]\n        {\n            \"192.168.0.0/16\",\n        },\n    });\n\n    var fooSubnet = new Ucloud.Subnet(\"foo\", new()\n    {\n        Name = \"tf-acc-vpn-connection-basic\",\n        Tag = \"tf-acc\",\n        CidrBlock = \"192.168.1.0/24\",\n        VpcId = foo.VpcId,\n    });\n\n    var fooEip = new Ucloud.Eip(\"foo\", new()\n    {\n        Name = \"tf-acc-vpn-connection-basic\",\n        Bandwidth = 1,\n        InternetType = \"bgp\",\n        ChargeMode = \"bandwidth\",\n        Tag = \"tf-acc\",\n    });\n\n    var fooVpnGateway = new Ucloud.VpnGateway(\"foo\", new()\n    {\n        VpcId = foo.VpcId,\n        Grade = \"standard\",\n        EipId = fooEip.EipId,\n        Name = \"tf-acc-vpn-connection-basic\",\n        Tag = \"tf-acc\",\n    });\n\n    var fooVpnCustomerGateway = new Ucloud.VpnCustomerGateway(\"foo\", new()\n    {\n        IpAddress = \"10.0.0.1\",\n        Name = \"tf-acc-vpn-connection-basic\",\n        Tag = \"tf-acc\",\n    });\n\n    var fooVpnConnection = new Ucloud.VpnConnection(\"foo\", new()\n    {\n        VpnGatewayId = fooVpnGateway.VpnGatewayId,\n        CustomerGatewayId = fooVpnCustomerGateway.VpnCustomerGatewayId,\n        VpcId = foo.VpcId,\n        Name = \"tf-acc-vpn-connection-basic\",\n        Tag = \"tf-acc\",\n        Remark = \"test\",\n        IkeConfig = new Ucloud.Inputs.VpnConnectionIkeConfigArgs\n        {\n            PreSharedKey = \"test_2019\",\n        },\n        IpsecConfig = new Ucloud.Inputs.VpnConnectionIpsecConfigArgs\n        {\n            LocalSubnetIds = new[]\n            {\n                fooSubnet.SubnetId,\n            },\n            RemoteSubnets = new[]\n            {\n                \"10.0.0.0/24\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ucloud.NewVpc(ctx, \"foo\", \u0026ucloud.VpcArgs{\n\t\t\tName: pulumi.String(\"tf-acc-vpn-connection-basic\"),\n\t\t\tTag:  pulumi.String(\"tf-acc\"),\n\t\t\tCidrBlocks: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooSubnet, err := ucloud.NewSubnet(ctx, \"foo\", \u0026ucloud.SubnetArgs{\n\t\t\tName:      pulumi.String(\"tf-acc-vpn-connection-basic\"),\n\t\t\tTag:       pulumi.String(\"tf-acc\"),\n\t\t\tCidrBlock: pulumi.String(\"192.168.1.0/24\"),\n\t\t\tVpcId:     foo.VpcId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooEip, err := ucloud.NewEip(ctx, \"foo\", \u0026ucloud.EipArgs{\n\t\t\tName:         pulumi.String(\"tf-acc-vpn-connection-basic\"),\n\t\t\tBandwidth:    pulumi.Float64(1),\n\t\t\tInternetType: pulumi.String(\"bgp\"),\n\t\t\tChargeMode:   pulumi.String(\"bandwidth\"),\n\t\t\tTag:          pulumi.String(\"tf-acc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooVpnGateway, err := ucloud.NewVpnGateway(ctx, \"foo\", \u0026ucloud.VpnGatewayArgs{\n\t\t\tVpcId: foo.VpcId,\n\t\t\tGrade: pulumi.String(\"standard\"),\n\t\t\tEipId: fooEip.EipId,\n\t\t\tName:  pulumi.String(\"tf-acc-vpn-connection-basic\"),\n\t\t\tTag:   pulumi.String(\"tf-acc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooVpnCustomerGateway, err := ucloud.NewVpnCustomerGateway(ctx, \"foo\", \u0026ucloud.VpnCustomerGatewayArgs{\n\t\t\tIpAddress: pulumi.String(\"10.0.0.1\"),\n\t\t\tName:      pulumi.String(\"tf-acc-vpn-connection-basic\"),\n\t\t\tTag:       pulumi.String(\"tf-acc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ucloud.NewVpnConnection(ctx, \"foo\", \u0026ucloud.VpnConnectionArgs{\n\t\t\tVpnGatewayId:      fooVpnGateway.VpnGatewayId,\n\t\t\tCustomerGatewayId: fooVpnCustomerGateway.VpnCustomerGatewayId,\n\t\t\tVpcId:             foo.VpcId,\n\t\t\tName:              pulumi.String(\"tf-acc-vpn-connection-basic\"),\n\t\t\tTag:               pulumi.String(\"tf-acc\"),\n\t\t\tRemark:            pulumi.String(\"test\"),\n\t\t\tIkeConfig: \u0026ucloud.VpnConnectionIkeConfigArgs{\n\t\t\t\tPreSharedKey: pulumi.String(\"test_2019\"),\n\t\t\t},\n\t\t\tIpsecConfig: \u0026ucloud.VpnConnectionIpsecConfigArgs{\n\t\t\t\tLocalSubnetIds: pulumi.StringArray{\n\t\t\t\t\tfooSubnet.SubnetId,\n\t\t\t\t},\n\t\t\t\tRemoteSubnets: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"10.0.0.0/24\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.Vpc;\nimport com.pulumi.ucloud.VpcArgs;\nimport com.pulumi.ucloud.Subnet;\nimport com.pulumi.ucloud.SubnetArgs;\nimport com.pulumi.ucloud.Eip;\nimport com.pulumi.ucloud.EipArgs;\nimport com.pulumi.ucloud.VpnGateway;\nimport com.pulumi.ucloud.VpnGatewayArgs;\nimport com.pulumi.ucloud.VpnCustomerGateway;\nimport com.pulumi.ucloud.VpnCustomerGatewayArgs;\nimport com.pulumi.ucloud.VpnConnection;\nimport com.pulumi.ucloud.VpnConnectionArgs;\nimport com.pulumi.ucloud.inputs.VpnConnectionIkeConfigArgs;\nimport com.pulumi.ucloud.inputs.VpnConnectionIpsecConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var foo = new Vpc(\"foo\", VpcArgs.builder()\n            .name(\"tf-acc-vpn-connection-basic\")\n            .tag(\"tf-acc\")\n            .cidrBlocks(\"192.168.0.0/16\")\n            .build());\n\n        var fooSubnet = new Subnet(\"fooSubnet\", SubnetArgs.builder()\n            .name(\"tf-acc-vpn-connection-basic\")\n            .tag(\"tf-acc\")\n            .cidrBlock(\"192.168.1.0/24\")\n            .vpcId(foo.vpcId())\n            .build());\n\n        var fooEip = new Eip(\"fooEip\", EipArgs.builder()\n            .name(\"tf-acc-vpn-connection-basic\")\n            .bandwidth(1.0)\n            .internetType(\"bgp\")\n            .chargeMode(\"bandwidth\")\n            .tag(\"tf-acc\")\n            .build());\n\n        var fooVpnGateway = new VpnGateway(\"fooVpnGateway\", VpnGatewayArgs.builder()\n            .vpcId(foo.vpcId())\n            .grade(\"standard\")\n            .eipId(fooEip.eipId())\n            .name(\"tf-acc-vpn-connection-basic\")\n            .tag(\"tf-acc\")\n            .build());\n\n        var fooVpnCustomerGateway = new VpnCustomerGateway(\"fooVpnCustomerGateway\", VpnCustomerGatewayArgs.builder()\n            .ipAddress(\"10.0.0.1\")\n            .name(\"tf-acc-vpn-connection-basic\")\n            .tag(\"tf-acc\")\n            .build());\n\n        var fooVpnConnection = new VpnConnection(\"fooVpnConnection\", VpnConnectionArgs.builder()\n            .vpnGatewayId(fooVpnGateway.vpnGatewayId())\n            .customerGatewayId(fooVpnCustomerGateway.vpnCustomerGatewayId())\n            .vpcId(foo.vpcId())\n            .name(\"tf-acc-vpn-connection-basic\")\n            .tag(\"tf-acc\")\n            .remark(\"test\")\n            .ikeConfig(VpnConnectionIkeConfigArgs.builder()\n                .preSharedKey(\"test_2019\")\n                .build())\n            .ipsecConfig(VpnConnectionIpsecConfigArgs.builder()\n                .localSubnetIds(fooSubnet.subnetId())\n                .remoteSubnets(\"10.0.0.0/24\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  foo:\n    type: ucloud:Vpc\n    properties:\n      name: tf-acc-vpn-connection-basic\n      tag: tf-acc\n      cidrBlocks:\n        - 192.168.0.0/16\n  fooSubnet:\n    type: ucloud:Subnet\n    name: foo\n    properties:\n      name: tf-acc-vpn-connection-basic\n      tag: tf-acc\n      cidrBlock: 192.168.1.0/24\n      vpcId: ${foo.vpcId}\n  fooEip:\n    type: ucloud:Eip\n    name: foo\n    properties:\n      name: tf-acc-vpn-connection-basic\n      bandwidth: 1\n      internetType: bgp\n      chargeMode: bandwidth\n      tag: tf-acc\n  fooVpnGateway:\n    type: ucloud:VpnGateway\n    name: foo\n    properties:\n      vpcId: ${foo.vpcId}\n      grade: standard\n      eipId: ${fooEip.eipId}\n      name: tf-acc-vpn-connection-basic\n      tag: tf-acc\n  fooVpnCustomerGateway:\n    type: ucloud:VpnCustomerGateway\n    name: foo\n    properties:\n      ipAddress: 10.0.0.1\n      name: tf-acc-vpn-connection-basic\n      tag: tf-acc\n  fooVpnConnection:\n    type: ucloud:VpnConnection\n    name: foo\n    properties:\n      vpnGatewayId: ${fooVpnGateway.vpnGatewayId}\n      customerGatewayId: ${fooVpnCustomerGateway.vpnCustomerGatewayId}\n      vpcId: ${foo.vpcId}\n      name: tf-acc-vpn-connection-basic\n      tag: tf-acc\n      remark: test\n      ikeConfig:\n        preSharedKey: test_2019\n      ipsecConfig:\n        localSubnetIds:\n          - ${fooSubnet.subnetId}\n        remoteSubnets:\n          - 10.0.0.0/24\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPN Connection can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import ucloud:index/vpnConnection:VpnConnection example vpntunnel-abc123456\n```\n","properties":{"createTime":{"type":"string","description":"The creation time for VPN Gateway Connection, formatted in RFC3339 time string.\n"},"customerGatewayId":{"type":"string","description":"The grade of the VPN Gateway\n"},"ikeConfig":{"$ref":"#/types/ucloud:index%2FVpnConnectionIkeConfig:VpnConnectionIkeConfig","description":"The configurations of IKE negotiation. Each\u003cspan pulumi-lang-nodejs=\" ikeConfig \" pulumi-lang-dotnet=\" IkeConfig \" pulumi-lang-go=\" ikeConfig \" pulumi-lang-python=\" ike_config \" pulumi-lang-yaml=\" ikeConfig \" pulumi-lang-java=\" ikeConfig \"\u003e ike_config \u003c/span\u003esupports fields documented below.\n"},"ipsecConfig":{"$ref":"#/types/ucloud:index%2FVpnConnectionIpsecConfig:VpnConnectionIpsecConfig","description":"The configurations of IPSec negotiation. Each\u003cspan pulumi-lang-nodejs=\" ipsecConfig \" pulumi-lang-dotnet=\" IpsecConfig \" pulumi-lang-go=\" ipsecConfig \" pulumi-lang-python=\" ipsec_config \" pulumi-lang-yaml=\" ipsecConfig \" pulumi-lang-java=\" ipsecConfig \"\u003e ipsec_config \u003c/span\u003esupports fields documented below.\n\n- - -\n"},"name":{"type":"string"},"remark":{"type":"string","description":"The remarks of the VPN Gateway Connection. (Default: `\"\"`).\n"},"tag":{"type":"string","description":"A tag assigned to VPN Gateway Connection, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"vpcId":{"type":"string","description":"The ID of VPC linked to the VPN Gateway Connection.\n"},"vpnConnectionId":{"type":"string","description":"The ID of the resource VPN Gateway Connection.\n"},"vpnGatewayId":{"type":"string","description":"The ID of  the VPN Customer Gateway.\n"}},"type":"object","required":["createTime","customerGatewayId","ikeConfig","ipsecConfig","name","remark","vpcId","vpnConnectionId","vpnGatewayId"],"inputProperties":{"customerGatewayId":{"type":"string","description":"The grade of the VPN Gateway\n"},"ikeConfig":{"$ref":"#/types/ucloud:index%2FVpnConnectionIkeConfig:VpnConnectionIkeConfig","description":"The configurations of IKE negotiation. Each\u003cspan pulumi-lang-nodejs=\" ikeConfig \" pulumi-lang-dotnet=\" IkeConfig \" pulumi-lang-go=\" ikeConfig \" pulumi-lang-python=\" ike_config \" pulumi-lang-yaml=\" ikeConfig \" pulumi-lang-java=\" ikeConfig \"\u003e ike_config \u003c/span\u003esupports fields documented below.\n"},"ipsecConfig":{"$ref":"#/types/ucloud:index%2FVpnConnectionIpsecConfig:VpnConnectionIpsecConfig","description":"The configurations of IPSec negotiation. Each\u003cspan pulumi-lang-nodejs=\" ipsecConfig \" pulumi-lang-dotnet=\" IpsecConfig \" pulumi-lang-go=\" ipsecConfig \" pulumi-lang-python=\" ipsec_config \" pulumi-lang-yaml=\" ipsecConfig \" pulumi-lang-java=\" ipsecConfig \"\u003e ipsec_config \u003c/span\u003esupports fields documented below.\n\n- - -\n"},"name":{"type":"string"},"remark":{"type":"string","description":"The remarks of the VPN Gateway Connection. (Default: `\"\"`).\n"},"tag":{"type":"string","description":"A tag assigned to VPN Gateway Connection, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"vpcId":{"type":"string","description":"The ID of VPC linked to the VPN Gateway Connection.\n"},"vpnConnectionId":{"type":"string","description":"The ID of the resource VPN Gateway Connection.\n"},"vpnGatewayId":{"type":"string","description":"The ID of  the VPN Customer Gateway.\n"}},"requiredInputs":["customerGatewayId","ikeConfig","ipsecConfig","vpcId","vpnGatewayId"],"stateInputs":{"description":"Input properties used for looking up and filtering VpnConnection resources.\n","properties":{"createTime":{"type":"string","description":"The creation time for VPN Gateway Connection, formatted in RFC3339 time string.\n"},"customerGatewayId":{"type":"string","description":"The grade of the VPN Gateway\n"},"ikeConfig":{"$ref":"#/types/ucloud:index%2FVpnConnectionIkeConfig:VpnConnectionIkeConfig","description":"The configurations of IKE negotiation. Each\u003cspan pulumi-lang-nodejs=\" ikeConfig \" pulumi-lang-dotnet=\" IkeConfig \" pulumi-lang-go=\" ikeConfig \" pulumi-lang-python=\" ike_config \" pulumi-lang-yaml=\" ikeConfig \" pulumi-lang-java=\" ikeConfig \"\u003e ike_config \u003c/span\u003esupports fields documented below.\n"},"ipsecConfig":{"$ref":"#/types/ucloud:index%2FVpnConnectionIpsecConfig:VpnConnectionIpsecConfig","description":"The configurations of IPSec negotiation. Each\u003cspan pulumi-lang-nodejs=\" ipsecConfig \" pulumi-lang-dotnet=\" IpsecConfig \" pulumi-lang-go=\" ipsecConfig \" pulumi-lang-python=\" ipsec_config \" pulumi-lang-yaml=\" ipsecConfig \" pulumi-lang-java=\" ipsecConfig \"\u003e ipsec_config \u003c/span\u003esupports fields documented below.\n\n- - -\n"},"name":{"type":"string"},"remark":{"type":"string","description":"The remarks of the VPN Gateway Connection. (Default: `\"\"`).\n"},"tag":{"type":"string","description":"A tag assigned to VPN Gateway Connection, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"vpcId":{"type":"string","description":"The ID of VPC linked to the VPN Gateway Connection.\n"},"vpnConnectionId":{"type":"string","description":"The ID of the resource VPN Gateway Connection.\n"},"vpnGatewayId":{"type":"string","description":"The ID of  the VPN Customer Gateway.\n"}},"type":"object"}},"ucloud:index/vpnCustomerGateway:VpnCustomerGateway":{"description":"Provides a VPN Customer Gateway resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst foo = new ucloud.VpnCustomerGateway(\"foo\", {\n    ipAddress: \"10.0.0.1\",\n    name: \"tf-acc-vpn-customer-gateway-basic\",\n    tag: \"tf-acc\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nfoo = ucloud.VpnCustomerGateway(\"foo\",\n    ip_address=\"10.0.0.1\",\n    name=\"tf-acc-vpn-customer-gateway-basic\",\n    tag=\"tf-acc\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = new Ucloud.VpnCustomerGateway(\"foo\", new()\n    {\n        IpAddress = \"10.0.0.1\",\n        Name = \"tf-acc-vpn-customer-gateway-basic\",\n        Tag = \"tf-acc\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ucloud.NewVpnCustomerGateway(ctx, \"foo\", \u0026ucloud.VpnCustomerGatewayArgs{\n\t\t\tIpAddress: pulumi.String(\"10.0.0.1\"),\n\t\t\tName:      pulumi.String(\"tf-acc-vpn-customer-gateway-basic\"),\n\t\t\tTag:       pulumi.String(\"tf-acc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.VpnCustomerGateway;\nimport com.pulumi.ucloud.VpnCustomerGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var foo = new VpnCustomerGateway(\"foo\", VpnCustomerGatewayArgs.builder()\n            .ipAddress(\"10.0.0.1\")\n            .name(\"tf-acc-vpn-customer-gateway-basic\")\n            .tag(\"tf-acc\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  foo:\n    type: ucloud:VpnCustomerGateway\n    properties:\n      ipAddress: 10.0.0.1\n      name: tf-acc-vpn-customer-gateway-basic\n      tag: tf-acc\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPN Customer Gateway can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import ucloud:index/vpnCustomerGateway:VpnCustomerGateway example remotevpngw-abc123456\n```\n","properties":{"createTime":{"type":"string","description":"The creation time for VPN Customer Gateway, formatted in RFC3339 time string.\n"},"ipAddress":{"type":"string","description":"The ip address of the VPN Customer Gateway. \n\n- - -\n"},"name":{"type":"string"},"remark":{"type":"string","description":"The remarks of the VPN Customer Gateway. (Default: `\"\"`).\n"},"tag":{"type":"string","description":"A tag assigned to VPN Customer Gateway, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"vpnCustomerGatewayId":{"type":"string","description":"The ID of the resource VPN Customer Gateway.\n"}},"type":"object","required":["createTime","ipAddress","name","remark","vpnCustomerGatewayId"],"inputProperties":{"ipAddress":{"type":"string","description":"The ip address of the VPN Customer Gateway. \n\n- - -\n"},"name":{"type":"string"},"remark":{"type":"string","description":"The remarks of the VPN Customer Gateway. (Default: `\"\"`).\n"},"tag":{"type":"string","description":"A tag assigned to VPN Customer Gateway, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"vpnCustomerGatewayId":{"type":"string","description":"The ID of the resource VPN Customer Gateway.\n"}},"requiredInputs":["ipAddress"],"stateInputs":{"description":"Input properties used for looking up and filtering VpnCustomerGateway resources.\n","properties":{"createTime":{"type":"string","description":"The creation time for VPN Customer Gateway, formatted in RFC3339 time string.\n"},"ipAddress":{"type":"string","description":"The ip address of the VPN Customer Gateway. \n\n- - -\n"},"name":{"type":"string"},"remark":{"type":"string","description":"The remarks of the VPN Customer Gateway. (Default: `\"\"`).\n"},"tag":{"type":"string","description":"A tag assigned to VPN Customer Gateway, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"vpnCustomerGatewayId":{"type":"string","description":"The ID of the resource VPN Customer Gateway.\n"}},"type":"object"}},"ucloud:index/vpnGateway:VpnGateway":{"description":"Provides a VPN Gateway resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst foo = new ucloud.Vpc(\"foo\", {\n    name: \"tf-acc-vpn-gateway-basic\",\n    tag: \"tf-acc\",\n    cidrBlocks: [\"192.168.0.0/16\"],\n});\nconst fooEip = new ucloud.Eip(\"foo\", {\n    name: \"tf-acc-vpn-gateway-basic\",\n    bandwidth: 1,\n    internetType: \"bgp\",\n    chargeMode: \"bandwidth\",\n    tag: \"tf-acc\",\n});\nconst fooVpnGateway = new ucloud.VpnGateway(\"foo\", {\n    vpcId: foo.vpcId,\n    grade: \"enhanced\",\n    eipId: fooEip.eipId,\n    name: \"tf-acc-vpn-gateway-basic\",\n    tag: \"tf-acc\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nfoo = ucloud.Vpc(\"foo\",\n    name=\"tf-acc-vpn-gateway-basic\",\n    tag=\"tf-acc\",\n    cidr_blocks=[\"192.168.0.0/16\"])\nfoo_eip = ucloud.Eip(\"foo\",\n    name=\"tf-acc-vpn-gateway-basic\",\n    bandwidth=1,\n    internet_type=\"bgp\",\n    charge_mode=\"bandwidth\",\n    tag=\"tf-acc\")\nfoo_vpn_gateway = ucloud.VpnGateway(\"foo\",\n    vpc_id=foo.vpc_id,\n    grade=\"enhanced\",\n    eip_id=foo_eip.eip_id,\n    name=\"tf-acc-vpn-gateway-basic\",\n    tag=\"tf-acc\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = new Ucloud.Vpc(\"foo\", new()\n    {\n        Name = \"tf-acc-vpn-gateway-basic\",\n        Tag = \"tf-acc\",\n        CidrBlocks = new[]\n        {\n            \"192.168.0.0/16\",\n        },\n    });\n\n    var fooEip = new Ucloud.Eip(\"foo\", new()\n    {\n        Name = \"tf-acc-vpn-gateway-basic\",\n        Bandwidth = 1,\n        InternetType = \"bgp\",\n        ChargeMode = \"bandwidth\",\n        Tag = \"tf-acc\",\n    });\n\n    var fooVpnGateway = new Ucloud.VpnGateway(\"foo\", new()\n    {\n        VpcId = foo.VpcId,\n        Grade = \"enhanced\",\n        EipId = fooEip.EipId,\n        Name = \"tf-acc-vpn-gateway-basic\",\n        Tag = \"tf-acc\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ucloud.NewVpc(ctx, \"foo\", \u0026ucloud.VpcArgs{\n\t\t\tName: pulumi.String(\"tf-acc-vpn-gateway-basic\"),\n\t\t\tTag:  pulumi.String(\"tf-acc\"),\n\t\t\tCidrBlocks: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.0.0/16\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooEip, err := ucloud.NewEip(ctx, \"foo\", \u0026ucloud.EipArgs{\n\t\t\tName:         pulumi.String(\"tf-acc-vpn-gateway-basic\"),\n\t\t\tBandwidth:    pulumi.Float64(1),\n\t\t\tInternetType: pulumi.String(\"bgp\"),\n\t\t\tChargeMode:   pulumi.String(\"bandwidth\"),\n\t\t\tTag:          pulumi.String(\"tf-acc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ucloud.NewVpnGateway(ctx, \"foo\", \u0026ucloud.VpnGatewayArgs{\n\t\t\tVpcId: foo.VpcId,\n\t\t\tGrade: pulumi.String(\"enhanced\"),\n\t\t\tEipId: fooEip.EipId,\n\t\t\tName:  pulumi.String(\"tf-acc-vpn-gateway-basic\"),\n\t\t\tTag:   pulumi.String(\"tf-acc\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.Vpc;\nimport com.pulumi.ucloud.VpcArgs;\nimport com.pulumi.ucloud.Eip;\nimport com.pulumi.ucloud.EipArgs;\nimport com.pulumi.ucloud.VpnGateway;\nimport com.pulumi.ucloud.VpnGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var foo = new Vpc(\"foo\", VpcArgs.builder()\n            .name(\"tf-acc-vpn-gateway-basic\")\n            .tag(\"tf-acc\")\n            .cidrBlocks(\"192.168.0.0/16\")\n            .build());\n\n        var fooEip = new Eip(\"fooEip\", EipArgs.builder()\n            .name(\"tf-acc-vpn-gateway-basic\")\n            .bandwidth(1.0)\n            .internetType(\"bgp\")\n            .chargeMode(\"bandwidth\")\n            .tag(\"tf-acc\")\n            .build());\n\n        var fooVpnGateway = new VpnGateway(\"fooVpnGateway\", VpnGatewayArgs.builder()\n            .vpcId(foo.vpcId())\n            .grade(\"enhanced\")\n            .eipId(fooEip.eipId())\n            .name(\"tf-acc-vpn-gateway-basic\")\n            .tag(\"tf-acc\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  foo:\n    type: ucloud:Vpc\n    properties:\n      name: tf-acc-vpn-gateway-basic\n      tag: tf-acc\n      cidrBlocks:\n        - 192.168.0.0/16\n  fooEip:\n    type: ucloud:Eip\n    name: foo\n    properties:\n      name: tf-acc-vpn-gateway-basic\n      bandwidth: 1\n      internetType: bgp\n      chargeMode: bandwidth\n      tag: tf-acc\n  fooVpnGateway:\n    type: ucloud:VpnGateway\n    name: foo\n    properties:\n      vpcId: ${foo.vpcId}\n      grade: enhanced\n      eipId: ${fooEip.eipId}\n      name: tf-acc-vpn-gateway-basic\n      tag: tf-acc\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVPN Gateway can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import ucloud:index/vpnGateway:VpnGateway example vpngw-abc123456\n```\n","properties":{"chargeType":{"type":"string","description":"The charge type of VPN Gateway, possible values are: \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\"\u003e`year`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e as pay by hour (specific permission required). (Default: \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e).\n"},"createTime":{"type":"string","description":"The creation time for VPN Gateway, formatted in RFC3339 time string.\n"},"duration":{"type":"number","description":"The duration that you will buy the VPN Gateway (Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e). The value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e when pay by month and the instance will be valid till the last day of that month. It is not required when \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e (pay by hour).\n"},"eipId":{"type":"string","description":"The ID of eip associate to the VPN Gateway.\n"},"expireTime":{"type":"string","description":"The expiration time for VPN Gateway, formatted in RFC3339 time string.\n"},"grade":{"type":"string","description":"The type of the VPN Gateway. Possible values: \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`enhanced`\" pulumi-lang-dotnet=\"`Enhanced`\" pulumi-lang-go=\"`enhanced`\" pulumi-lang-python=\"`enhanced`\" pulumi-lang-yaml=\"`enhanced`\" pulumi-lang-java=\"`enhanced`\"\u003e`enhanced`\u003c/span\u003e. \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e recommended application scenario: Applicable to services with bidirectional peak bandwidth of 1M~50M; \u003cspan pulumi-lang-nodejs=\"`enhanced`\" pulumi-lang-dotnet=\"`Enhanced`\" pulumi-lang-go=\"`enhanced`\" pulumi-lang-python=\"`enhanced`\" pulumi-lang-yaml=\"`enhanced`\" pulumi-lang-java=\"`enhanced`\"\u003e`enhanced`\u003c/span\u003e recommended application scenario: Suitable for services with bidirectional peak bandwidths of 50M~100M.\n"},"name":{"type":"string"},"remark":{"type":"string","description":"The remarks of the VPN Gateway. (Default: `\"\"`).\n"},"tag":{"type":"string","description":"A tag assigned to VPN Gateway, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"vpcId":{"type":"string","description":"The ID of VPC linked to the VPN Gateway.\n"},"vpnGatewayId":{"type":"string","description":"The ID of the resource VPN Gateway.\n"}},"type":"object","required":["chargeType","createTime","eipId","expireTime","grade","name","remark","vpcId","vpnGatewayId"],"inputProperties":{"chargeType":{"type":"string","description":"The charge type of VPN Gateway, possible values are: \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\"\u003e`year`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e as pay by hour (specific permission required). (Default: \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e).\n"},"duration":{"type":"number","description":"The duration that you will buy the VPN Gateway (Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e). The value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e when pay by month and the instance will be valid till the last day of that month. It is not required when \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e (pay by hour).\n"},"eipId":{"type":"string","description":"The ID of eip associate to the VPN Gateway.\n"},"grade":{"type":"string","description":"The type of the VPN Gateway. Possible values: \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`enhanced`\" pulumi-lang-dotnet=\"`Enhanced`\" pulumi-lang-go=\"`enhanced`\" pulumi-lang-python=\"`enhanced`\" pulumi-lang-yaml=\"`enhanced`\" pulumi-lang-java=\"`enhanced`\"\u003e`enhanced`\u003c/span\u003e. \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e recommended application scenario: Applicable to services with bidirectional peak bandwidth of 1M~50M; \u003cspan pulumi-lang-nodejs=\"`enhanced`\" pulumi-lang-dotnet=\"`Enhanced`\" pulumi-lang-go=\"`enhanced`\" pulumi-lang-python=\"`enhanced`\" pulumi-lang-yaml=\"`enhanced`\" pulumi-lang-java=\"`enhanced`\"\u003e`enhanced`\u003c/span\u003e recommended application scenario: Suitable for services with bidirectional peak bandwidths of 50M~100M.\n"},"name":{"type":"string"},"remark":{"type":"string","description":"The remarks of the VPN Gateway. (Default: `\"\"`).\n"},"tag":{"type":"string","description":"A tag assigned to VPN Gateway, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"vpcId":{"type":"string","description":"The ID of VPC linked to the VPN Gateway.\n"},"vpnGatewayId":{"type":"string","description":"The ID of the resource VPN Gateway.\n"}},"requiredInputs":["eipId","grade","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering VpnGateway resources.\n","properties":{"chargeType":{"type":"string","description":"The charge type of VPN Gateway, possible values are: \u003cspan pulumi-lang-nodejs=\"`year`\" pulumi-lang-dotnet=\"`Year`\" pulumi-lang-go=\"`year`\" pulumi-lang-python=\"`year`\" pulumi-lang-yaml=\"`year`\" pulumi-lang-java=\"`year`\"\u003e`year`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e as pay by hour (specific permission required). (Default: \u003cspan pulumi-lang-nodejs=\"`month`\" pulumi-lang-dotnet=\"`Month`\" pulumi-lang-go=\"`month`\" pulumi-lang-python=\"`month`\" pulumi-lang-yaml=\"`month`\" pulumi-lang-java=\"`month`\"\u003e`month`\u003c/span\u003e).\n"},"createTime":{"type":"string","description":"The creation time for VPN Gateway, formatted in RFC3339 time string.\n"},"duration":{"type":"number","description":"The duration that you will buy the VPN Gateway (Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e). The value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e when pay by month and the instance will be valid till the last day of that month. It is not required when \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e (pay by hour).\n"},"eipId":{"type":"string","description":"The ID of eip associate to the VPN Gateway.\n"},"expireTime":{"type":"string","description":"The expiration time for VPN Gateway, formatted in RFC3339 time string.\n"},"grade":{"type":"string","description":"The type of the VPN Gateway. Possible values: \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`enhanced`\" pulumi-lang-dotnet=\"`Enhanced`\" pulumi-lang-go=\"`enhanced`\" pulumi-lang-python=\"`enhanced`\" pulumi-lang-yaml=\"`enhanced`\" pulumi-lang-java=\"`enhanced`\"\u003e`enhanced`\u003c/span\u003e. \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e recommended application scenario: Applicable to services with bidirectional peak bandwidth of 1M~50M; \u003cspan pulumi-lang-nodejs=\"`enhanced`\" pulumi-lang-dotnet=\"`Enhanced`\" pulumi-lang-go=\"`enhanced`\" pulumi-lang-python=\"`enhanced`\" pulumi-lang-yaml=\"`enhanced`\" pulumi-lang-java=\"`enhanced`\"\u003e`enhanced`\u003c/span\u003e recommended application scenario: Suitable for services with bidirectional peak bandwidths of 50M~100M.\n"},"name":{"type":"string"},"remark":{"type":"string","description":"The remarks of the VPN Gateway. (Default: `\"\"`).\n"},"tag":{"type":"string","description":"A tag assigned to VPN Gateway, which contains at most 63 characters and only support Chinese, English, numbers, '-', '_', and '.'. If it is not filled in or a empty string is filled in, then default tag will be assigned. (Default: `Default`).\n"},"vpcId":{"type":"string","description":"The ID of VPC linked to the VPN Gateway.\n"},"vpnGatewayId":{"type":"string","description":"The ID of the resource VPN Gateway.\n"}},"type":"object"}}},"functions":{"pulumi:providers:ucloud/terraformConfig":{"description":"This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.","inputs":{"properties":{"__self__":{"$ref":"#/resources/pulumi:providers:ucloud"}},"type":"object","required":["__self__"]},"outputs":{"properties":{"result":{"additionalProperties":{"$ref":"pulumi.json#/Any"},"type":"object"}},"required":["result"],"type":"object"}},"ucloud:index/getAntiDdosInstances:getAntiDdosInstances":{"description":"Provides a list of Anti-DDoS instance resources.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst instance = ucloud.getAntiDdosInstances({\n    outputFile: \"instances.json\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\ninstance = ucloud.get_anti_ddos_instances(output_file=\"instances.json\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var instance = Ucloud.GetAntiDdosInstances.Invoke(new()\n    {\n        OutputFile = \"instances.json\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ucloud.GetAntiDdosInstances(ctx, \u0026ucloud.GetAntiDdosInstancesArgs{\n\t\t\tOutputFile: pulumi.StringRef(\"instances.json\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetAntiDdosInstancesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var instance = UcloudFunctions.getAntiDdosInstances(GetAntiDdosInstancesArgs.builder()\n            .outputFile(\"instances.json\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  instance:\n    fn::invoke:\n      function: ucloud:getAntiDdosInstances\n      arguments:\n        outputFile: instances.json\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAntiDdosInstances.\n","properties":{"id":{"type":"string","description":"The ID of the resource.\n"},"ids":{"type":"array","items":{"type":"string"},"description":"A list of Anti-DDoS instance IDs, all the Anti-DDoS instances will be retrieved if the ID is `[]`.\n"},"nameRegex":{"type":"string","description":"A regex string to filter result by name.\n"},"outputFile":{"type":"string","description":"File name where to save data source results (after running `pulumi preview`).\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getAntiDdosInstances.\n","properties":{"id":{"description":"The ID of the resource.\n","type":"string"},"ids":{"items":{"type":"string"},"type":"array"},"instances":{"description":"A list of Anti-DDoS instances. Each element contains the following attributes\n","items":{"$ref":"#/types/ucloud:index%2FgetAntiDdosInstancesInstance:getAntiDdosInstancesInstance"},"type":"array"},"nameRegex":{"type":"string"},"outputFile":{"type":"string"},"totalCount":{"description":"Total number of Anti-DDoS instances that satisfy the condition.\n","type":"number"}},"required":["id","ids","instances","totalCount"],"type":"object"}},"ucloud:index/getAntiDdosIps:getAntiDdosIps":{"description":"Provides a list of IP from an Anti-DDoS instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst ips = ucloud.getAntiDdosIps({\n    instanceId: \"usecure_ghp-xxx\",\n    outputFile: \"ips.json\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nips = ucloud.get_anti_ddos_ips(instance_id=\"usecure_ghp-xxx\",\n    output_file=\"ips.json\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var ips = Ucloud.GetAntiDdosIps.Invoke(new()\n    {\n        InstanceId = \"usecure_ghp-xxx\",\n        OutputFile = \"ips.json\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ucloud.GetAntiDdosIps(ctx, \u0026ucloud.GetAntiDdosIpsArgs{\n\t\t\tInstanceId: \"usecure_ghp-xxx\",\n\t\t\tOutputFile: pulumi.StringRef(\"ips.json\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetAntiDdosIpsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var ips = UcloudFunctions.getAntiDdosIps(GetAntiDdosIpsArgs.builder()\n            .instanceId(\"usecure_ghp-xxx\")\n            .outputFile(\"ips.json\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  ips:\n    fn::invoke:\n      function: ucloud:getAntiDdosIps\n      arguments:\n        instanceId: usecure_ghp-xxx\n        outputFile: ips.json\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAntiDdosIps.\n","properties":{"id":{"type":"string"},"instanceId":{"type":"string","description":"ID of an Anti-DDoS instance.\n"},"outputFile":{"type":"string","description":"File name where to save data source results (after running `pulumi preview`).\n"}},"type":"object","required":["instanceId"]},"outputs":{"description":"A collection of values returned by getAntiDdosIps.\n","properties":{"id":{"type":"string"},"instanceId":{"description":"ID of an Anti-DDoS instance.\n","type":"string"},"ips":{"description":"A list of IPs. Each element contains the following attributes\n","items":{"$ref":"#/types/ucloud:index%2FgetAntiDdosIpsIp:getAntiDdosIpsIp"},"type":"array"},"outputFile":{"type":"string"},"totalCount":{"description":"Total number of Anti-DDoS instances that satisfy the condition.\n","type":"number"}},"required":["id","instanceId","ips","totalCount"],"type":"object"}},"ucloud:index/getBaremetalImages:getBaremetalImages":{"description":"The \u003cspan pulumi-lang-nodejs=\"`ucloud.getBaremetalImages`\" pulumi-lang-dotnet=\"`ucloud.getBaremetalImages`\" pulumi-lang-go=\"`getBaremetalImages`\" pulumi-lang-python=\"`get_baremetal_images`\" pulumi-lang-yaml=\"`ucloud.getBaremetalImages`\" pulumi-lang-java=\"`ucloud.getBaremetalImages`\"\u003e`ucloud.getBaremetalImages`\u003c/span\u003e data source provides a list of bare metal images available in UCloud. The images can be filtered by their properties.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst example = ucloud.getBaremetalImages({\n    availabilityZone: \"cn-bj2-02\",\n    imageType: \"base\",\n    osType: \"CentOS\",\n    instanceType: \"xyz-type\",\n});\nexport const imageId = example.then(example =\u003e example.images?.[0]?.id);\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nexample = ucloud.get_baremetal_images(availability_zone=\"cn-bj2-02\",\n    image_type=\"base\",\n    os_type=\"CentOS\",\n    instance_type=\"xyz-type\")\npulumi.export(\"imageId\", example.images[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Ucloud.GetBaremetalImages.Invoke(new()\n    {\n        AvailabilityZone = \"cn-bj2-02\",\n        ImageType = \"base\",\n        OsType = \"CentOS\",\n        InstanceType = \"xyz-type\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"imageId\"] = example.Apply(getBaremetalImagesResult =\u003e getBaremetalImagesResult.Images[0]?.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ucloud.GetBaremetalImages(ctx, \u0026ucloud.GetBaremetalImagesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(\"cn-bj2-02\"),\n\t\t\tImageType:        pulumi.StringRef(\"base\"),\n\t\t\tOsType:           pulumi.StringRef(\"CentOS\"),\n\t\t\tInstanceType:     pulumi.StringRef(\"xyz-type\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"imageId\", example.Images[0].Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetBaremetalImagesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = UcloudFunctions.getBaremetalImages(GetBaremetalImagesArgs.builder()\n            .availabilityZone(\"cn-bj2-02\")\n            .imageType(\"base\")\n            .osType(\"CentOS\")\n            .instanceType(\"xyz-type\")\n            .build());\n\n        ctx.export(\"imageId\", example.images()[0].id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: ucloud:getBaremetalImages\n      arguments:\n        availabilityZone: cn-bj2-02\n        imageType: base\n        osType: CentOS\n        instanceType: xyz-type\noutputs:\n  imageId: ${example.images[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getBaremetalImages.\n","properties":{"availabilityZone":{"type":"string","description":"The availability zone where the images are located.\n"},"id":{"type":"string","description":"The ID of the image.\n"},"ids":{"type":"array","items":{"type":"string"},"description":"A list of image IDs, all the images belong to this region will be retrieved if the ID is `[]`.\n"},"imageId":{"type":"string"},"imageType":{"type":"string","description":"The type of image. Possible values are \u003cspan pulumi-lang-nodejs=\"`base`\" pulumi-lang-dotnet=\"`Base`\" pulumi-lang-go=\"`base`\" pulumi-lang-python=\"`base`\" pulumi-lang-yaml=\"`base`\" pulumi-lang-java=\"`base`\"\u003e`base`\u003c/span\u003e for standard images and \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e for custom images.\n"},"instanceType":{"type":"string","description":"Machine type of the bare metal instance where the images can be installed.\n"},"nameRegex":{"type":"string","description":"A regex string to filter resulting images by name. (Such as: `^CentOS 7.[1-2] 64` means CentOS 7.1 of 64-bit operating system or CentOS 7.2 of 64-bit operating system, \"^Ubuntu 16.04 64\" means Ubuntu 16.04 of 64-bit operating system).\n"},"osType":{"type":"string","description":"The type of OS. Possible values are `CentOS`, `Ubuntu`, and `Windows`.\n"},"outputFile":{"type":"string","description":"File name where to save data source results (after running `pulumi preview`).\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getBaremetalImages.\n","properties":{"availabilityZone":{"description":"The availability zone where the image is located.\n","type":"string"},"id":{"description":"The ID of the image.\n","type":"string"},"ids":{"items":{"type":"string"},"type":"array"},"imageId":{"type":"string"},"imageType":{"type":"string"},"images":{"description":"A list of images that match the given criteria. Each image has the following attributes:\n","items":{"$ref":"#/types/ucloud:index%2FgetBaremetalImagesImage:getBaremetalImagesImage"},"type":"array"},"instanceType":{"type":"string"},"nameRegex":{"type":"string"},"osType":{"description":"The type of the OS.\n","type":"string"},"outputFile":{"type":"string"},"totalCount":{"description":"The total number of images that satisfy the given criteria.\n","type":"number"}},"required":["id","ids","images","totalCount"],"type":"object"}},"ucloud:index/getDbBackups:getDbBackups":{"description":"This data source provides a list of database backups according to their\nname, availability zone and project.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst example = ucloud.getDbBackups({\n    availabilityZone: \"cn-bj2-05\",\n    nameRegex: \"init.*\",\n});\nexport const backups = example.then(example =\u003e example.dbBackups);\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nexample = ucloud.get_db_backups(availability_zone=\"cn-bj2-05\",\n    name_regex=\"init.*\")\npulumi.export(\"backups\", example.db_backups)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Ucloud.GetDbBackups.Invoke(new()\n    {\n        AvailabilityZone = \"cn-bj2-05\",\n        NameRegex = \"init.*\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"backups\"] = example.Apply(getDbBackupsResult =\u003e getDbBackupsResult.DbBackups),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ucloud.GetDbBackups(ctx, \u0026ucloud.GetDbBackupsArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(\"cn-bj2-05\"),\n\t\t\tNameRegex:        pulumi.StringRef(\"init.*\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"backups\", example.DbBackups)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetDbBackupsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = UcloudFunctions.getDbBackups(GetDbBackupsArgs.builder()\n            .availabilityZone(\"cn-bj2-05\")\n            .nameRegex(\"init.*\")\n            .build());\n\n        ctx.export(\"backups\", example.dbBackups());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: ucloud:getDbBackups\n      arguments:\n        availabilityZone: cn-bj2-05\n        nameRegex: init.*\noutputs:\n  backups: ${example.dbBackups}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDbBackups.\n","properties":{"availabilityZone":{"type":"string","description":"Availability zone where database instances are located. Such as: \"cn-bj2-02\". You may refer to [list of availability zone](https://docs.ucloud.cn/api/summary/regionlist)\n"},"id":{"type":"string"},"nameRegex":{"type":"string","description":"A regex string to filter backups by name.\n"},"outputFile":{"type":"string","description":"File name where to save data source results (after running `pulumi preview`).\n"},"projectId":{"type":"string","description":"id of the projects to which the backups belong\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getDbBackups.\n","properties":{"availabilityZone":{"type":"string"},"dbBackups":{"description":"It is a nested type which documented below.\n","items":{"$ref":"#/types/ucloud:index%2FgetDbBackupsDbBackup:getDbBackupsDbBackup"},"type":"array"},"id":{"type":"string"},"nameRegex":{"type":"string"},"outputFile":{"type":"string"},"projectId":{"type":"string"},"totalCount":{"description":"Total number of database backups that satisfy the condition.\n","type":"number"}},"required":["dbBackups","id","totalCount"],"type":"object"}},"ucloud:index/getDbInstances:getDbInstances":{"description":"This data source provides a list of database instance resources according to their database instance ID and name.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst example = ucloud.getDbInstances({});\nexport const first = example.then(example =\u003e example.dbInstances?.[0]?.id);\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nexample = ucloud.get_db_instances()\npulumi.export(\"first\", example.db_instances[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Ucloud.GetDbInstances.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"first\"] = example.Apply(getDbInstancesResult =\u003e getDbInstancesResult.DbInstances[0]?.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ucloud.GetDbInstances(ctx, \u0026ucloud.GetDbInstancesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"first\", example.DbInstances[0].Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetDbInstancesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = UcloudFunctions.getDbInstances(GetDbInstancesArgs.builder()\n            .build());\n\n        ctx.export(\"first\", example.dbInstances()[0].id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: ucloud:getDbInstances\n      arguments: {}\noutputs:\n  first: ${example.dbInstances[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDbInstances.\n","properties":{"availabilityZone":{"type":"string","description":"Availability zone where database instances are located. Such as: \"cn-bj2-02\". You may refer to [list of availability zone](https://docs.ucloud.cn/api/summary/regionlist)\n"},"id":{"type":"string","description":"The ID of database instance.\n"},"ids":{"type":"array","items":{"type":"string"},"description":"A list of database instance IDs, all the database instances belong to this region will be retrieved if the ID is `[]`.\n"},"nameRegex":{"type":"string","description":"A regex string to filter resulting database instances by name.\n"},"outputFile":{"type":"string","description":"File name where to save data source results (after running `pulumi preview`).\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getDbInstances.\n","properties":{"availabilityZone":{"description":"Availability zone where database instance is located.\n","type":"string"},"dbInstances":{"description":"It is a nested type which documented below.\n","items":{"$ref":"#/types/ucloud:index%2FgetDbInstancesDbInstance:getDbInstancesDbInstance"},"type":"array"},"id":{"description":"The ID of database instance.\n","type":"string"},"ids":{"items":{"type":"string"},"type":"array"},"nameRegex":{"type":"string"},"outputFile":{"type":"string"},"totalCount":{"description":"Total number of database instances that satisfy the condition.\n","type":"number"}},"required":["dbInstances","id","ids","totalCount"],"type":"object"}},"ucloud:index/getDbParameterGroups:getDbParameterGroups":{"description":"This data source provides a list of parameter group resources according to their name and availability zone.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst example = ucloud.getDbParameterGroups({});\nexport const first = example.then(example =\u003e example.parameterGroups?.[0]?.id);\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nexample = ucloud.get_db_parameter_groups()\npulumi.export(\"first\", example.parameter_groups[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Ucloud.GetDbParameterGroups.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"first\"] = example.Apply(getDbParameterGroupsResult =\u003e getDbParameterGroupsResult.ParameterGroups[0]?.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ucloud.GetDbParameterGroups(ctx, \u0026ucloud.GetDbParameterGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"first\", example.ParameterGroups[0].Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetDbParameterGroupsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = UcloudFunctions.getDbParameterGroups(GetDbParameterGroupsArgs.builder()\n            .build());\n\n        ctx.export(\"first\", example.parameterGroups()[0].id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: ucloud:getDbParameterGroups\n      arguments: {}\noutputs:\n  first: ${example.parameterGroups[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDbParameterGroups.\n","properties":{"availabilityZone":{"type":"string","description":"Availability zone where parameter groups are located. Such as: \"cn-bj2-02\". You may refer to [list of availability zone](https://docs.ucloud.cn/api/summary/regionlist)\n"},"classType":{"type":"string","description":"The type of the DB instance, Possible values are: \u003cspan pulumi-lang-nodejs=\"`sql`\" pulumi-lang-dotnet=\"`Sql`\" pulumi-lang-go=\"`sql`\" pulumi-lang-python=\"`sql`\" pulumi-lang-yaml=\"`sql`\" pulumi-lang-java=\"`sql`\"\u003e`sql`\u003c/span\u003e for mysql or percona, \u003cspan pulumi-lang-nodejs=\"`postgresql`\" pulumi-lang-dotnet=\"`Postgresql`\" pulumi-lang-go=\"`postgresql`\" pulumi-lang-python=\"`postgresql`\" pulumi-lang-yaml=\"`postgresql`\" pulumi-lang-java=\"`postgresql`\"\u003e`postgresql`\u003c/span\u003e for postgresql.\n"},"id":{"type":"string","description":"The ID of parameter group.\n"},"multiAz":{"type":"boolean","description":"Specifies if the replication instance is a multi-az deployment. You cannot set the \u003cspan pulumi-lang-nodejs=\"`availabilityZone`\" pulumi-lang-dotnet=\"`AvailabilityZone`\" pulumi-lang-go=\"`availabilityZone`\" pulumi-lang-python=\"`availability_zone`\" pulumi-lang-yaml=\"`availabilityZone`\" pulumi-lang-java=\"`availabilityZone`\"\u003e`availability_zone`\u003c/span\u003e parameter if the \u003cspan pulumi-lang-nodejs=\"`multiAz`\" pulumi-lang-dotnet=\"`MultiAz`\" pulumi-lang-go=\"`multiAz`\" pulumi-lang-python=\"`multi_az`\" pulumi-lang-yaml=\"`multiAz`\" pulumi-lang-java=\"`multiAz`\"\u003e`multi_az`\u003c/span\u003e parameter is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"nameRegex":{"type":"string","description":"A regex string to filter resulting parameter groups by name.\n"},"outputFile":{"type":"string","description":"File name where to save data source results (after running `pulumi preview`).\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getDbParameterGroups.\n","properties":{"availabilityZone":{"description":"Availability zone where parameter group is located.\n","type":"string"},"classType":{"type":"string"},"id":{"description":"The ID of parameter group.\n","type":"string"},"multiAz":{"type":"boolean"},"nameRegex":{"type":"string"},"outputFile":{"type":"string"},"parameterGroups":{"description":"It is a nested type which documented below.\n","items":{"$ref":"#/types/ucloud:index%2FgetDbParameterGroupsParameterGroup:getDbParameterGroupsParameterGroup"},"type":"array"},"totalCount":{"description":"Total number of parameter groups that satisfy the condition.\n","type":"number"}},"required":["id","parameterGroups","totalCount"],"type":"object"}},"ucloud:index/getDisks:getDisks":{"description":"This data source provides a list of Disk resources according to their Disk ID and disk type.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst example = ucloud.getDisks({});\nexport const first = example.then(example =\u003e example.disks?.[0]?.id);\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nexample = ucloud.get_disks()\npulumi.export(\"first\", example.disks[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Ucloud.GetDisks.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"first\"] = example.Apply(getDisksResult =\u003e getDisksResult.Disks[0]?.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ucloud.GetDisks(ctx, \u0026ucloud.GetDisksArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"first\", example.Disks[0].Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetDisksArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = UcloudFunctions.getDisks(GetDisksArgs.builder()\n            .build());\n\n        ctx.export(\"first\", example.disks()[0].id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: ucloud:getDisks\n      arguments: {}\noutputs:\n  first: ${example.disks[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDisks.\n","properties":{"availabilityZone":{"type":"string","description":"Availability zone where Disk are located. Such as: \"cn-bj2-02\". You may refer to [list of availability zone](https://docs.ucloud.cn/api/summary/regionlist)\n"},"diskType":{"type":"string","description":"The type of disk. Possible values are: \u003cspan pulumi-lang-nodejs=\"`dataDisk`\" pulumi-lang-dotnet=\"`DataDisk`\" pulumi-lang-go=\"`dataDisk`\" pulumi-lang-python=\"`data_disk`\" pulumi-lang-yaml=\"`dataDisk`\" pulumi-lang-java=\"`dataDisk`\"\u003e`data_disk`\u003c/span\u003eas cloud disk, \u003cspan pulumi-lang-nodejs=\"`ssdDataDisk`\" pulumi-lang-dotnet=\"`SsdDataDisk`\" pulumi-lang-go=\"`ssdDataDisk`\" pulumi-lang-python=\"`ssd_data_disk`\" pulumi-lang-yaml=\"`ssdDataDisk`\" pulumi-lang-java=\"`ssdDataDisk`\"\u003e`ssd_data_disk`\u003c/span\u003e as SSD cloud disk, \u003cspan pulumi-lang-nodejs=\"`systemDisk`\" pulumi-lang-dotnet=\"`SystemDisk`\" pulumi-lang-go=\"`systemDisk`\" pulumi-lang-python=\"`system_disk`\" pulumi-lang-yaml=\"`systemDisk`\" pulumi-lang-java=\"`systemDisk`\"\u003e`system_disk`\u003c/span\u003eas system disk, \u003cspan pulumi-lang-nodejs=\"`ssdSystemDisk`\" pulumi-lang-dotnet=\"`SsdSystemDisk`\" pulumi-lang-go=\"`ssdSystemDisk`\" pulumi-lang-python=\"`ssd_system_disk`\" pulumi-lang-yaml=\"`ssdSystemDisk`\" pulumi-lang-java=\"`ssdSystemDisk`\"\u003e`ssd_system_disk`\u003c/span\u003e as SSD system disk, \u003cspan pulumi-lang-nodejs=\"`rssdDataDisk`\" pulumi-lang-dotnet=\"`RssdDataDisk`\" pulumi-lang-go=\"`rssdDataDisk`\" pulumi-lang-python=\"`rssd_data_disk`\" pulumi-lang-yaml=\"`rssdDataDisk`\" pulumi-lang-java=\"`rssdDataDisk`\"\u003e`rssd_data_disk`\u003c/span\u003e as RDMA-SSD cloud disk.\n"},"id":{"type":"string","description":"The ID of Disk.\n"},"ids":{"type":"array","items":{"type":"string"},"description":"A list of Disk IDs, all the Disks belong to this region will be retrieved if the ID is `[]`.\n"},"nameRegex":{"type":"string","description":"A regex string to filter resulting disks by name.\n"},"outputFile":{"type":"string","description":"File name where to save data source results (after running `pulumi preview`).\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getDisks.\n","properties":{"availabilityZone":{"description":"Availability zone where disk is located.\n","type":"string"},"diskType":{"description":"The type of disk.\n","type":"string"},"disks":{"description":"It is a nested type which documented below.\n","items":{"$ref":"#/types/ucloud:index%2FgetDisksDisk:getDisksDisk"},"type":"array"},"id":{"description":"The ID of Disk.\n","type":"string"},"ids":{"items":{"type":"string"},"type":"array"},"nameRegex":{"type":"string"},"outputFile":{"type":"string"},"totalCount":{"description":"Total number of Disks that satisfy the condition.\n","type":"number"}},"required":["disks","id","ids","totalCount"],"type":"object"}},"ucloud:index/getEips:getEips":{"description":"This data source provides a list of EIP resources (Elastic IP address) according to their EIP ID.\n\n","inputs":{"description":"A collection of arguments for invoking getEips.\n","properties":{"id":{"type":"string"},"ids":{"type":"array","items":{"type":"string"},"description":"A list of Elastic IP IDs, all the EIPs belong to this region will be retrieved if the ID is `[]`.\n"},"nameRegex":{"type":"string","description":"A regex string to filter resulting eips by name.\n"},"outputFile":{"type":"string","description":"File name where to save data source results (after running `pulumi preview`).\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getEips.\n","properties":{"eips":{"description":"It is a nested type which documented below.\n","items":{"$ref":"#/types/ucloud:index%2FgetEipsEip:getEipsEip"},"type":"array"},"id":{"type":"string"},"ids":{"items":{"type":"string"},"type":"array"},"nameRegex":{"type":"string"},"outputFile":{"type":"string"},"totalCount":{"description":"Total number of Elastic IPs that satisfy the condition.\n","type":"number"}},"required":["eips","id","ids","totalCount"],"type":"object"}},"ucloud:index/getIamGroups:getIamGroups":{"description":"Provides a list of IAM groups.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst foo = ucloud.getIamGroups({\n    nameRegex: \"^Administrator$\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nfoo = ucloud.get_iam_groups(name_regex=\"^Administrator$\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = Ucloud.GetIamGroups.Invoke(new()\n    {\n        NameRegex = \"^Administrator$\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ucloud.GetIamGroups(ctx, \u0026ucloud.GetIamGroupsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^Administrator$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetIamGroupsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var foo = UcloudFunctions.getIamGroups(GetIamGroupsArgs.builder()\n            .nameRegex(\"^Administrator$\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  foo:\n    fn::invoke:\n      function: ucloud:getIamGroups\n      arguments:\n        nameRegex: ^Administrator$\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getIamGroups.\n","properties":{"id":{"type":"string"},"nameRegex":{"type":"string","description":"A regex string to filter the returned groups by their names.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getIamGroups.\n","properties":{"groups":{"description":"A list of groups. Each element contains the following attributes\n","items":{"$ref":"#/types/ucloud:index%2FgetIamGroupsGroup:getIamGroupsGroup"},"type":"array"},"id":{"type":"string"},"nameRegex":{"type":"string"},"names":{"description":"A list of IAM user group names.\n","items":{"type":"string"},"type":"array"}},"required":["groups","id","names"],"type":"object"}},"ucloud:index/getIamPolicy:getIamPolicy":{"description":"Provides the detail of an existing IAM policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst foo = ucloud.getIamPolicy({\n    name: \"AdministratorAccess\",\n    type: \"System\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nfoo = ucloud.get_iam_policy(name=\"AdministratorAccess\",\n    type=\"System\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = Ucloud.GetIamPolicy.Invoke(new()\n    {\n        Name = \"AdministratorAccess\",\n        Type = \"System\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ucloud.LookupIamPolicy(ctx, \u0026ucloud.LookupIamPolicyArgs{\n\t\t\tName: \"AdministratorAccess\",\n\t\t\tType: \"System\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetIamPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var foo = UcloudFunctions.getIamPolicy(GetIamPolicyArgs.builder()\n            .name(\"AdministratorAccess\")\n            .type(\"System\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  foo:\n    fn::invoke:\n      function: ucloud:getIamPolicy\n      arguments:\n        name: AdministratorAccess\n        type: System\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getIamPolicy.\n","properties":{"id":{"type":"string"},"name":{"type":"string","description":"The name of the IAM policy.\n"},"type":{"type":"string","description":"The type of the IAM policy, which can be `System` or `Custom`.\n"}},"type":"object","required":["name","type"]},"outputs":{"description":"A collection of values returned by getIamPolicy.\n","properties":{"comment":{"description":"Description of IAM policy\n","type":"string"},"createTime":{"description":"The creation time of IAM policy, formatted in RFC3339 time string.\n","type":"string"},"id":{"type":"string"},"name":{"type":"string"},"policy":{"description":"The policy document.\n","type":"string"},"scope":{"description":"The policy scope, which value can be Project, Account or Mixed.\n","type":"string"},"type":{"type":"string"},"urn":{"description":"URN of the IAM policy.\n","type":"string"}},"required":["comment","createTime","id","name","policy","scope","type","urn"],"type":"object"}},"ucloud:index/getIamPolicyDocument:getIamPolicyDocument":{"description":"Generates an IAM policy document in JSON format for use with resources that expect policy documents such as ucloud_iam_policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst foo = ucloud.getIamPolicyDocument({\n    version: \"1\",\n    statements: [\n        {\n            effect: \"Allow\",\n            actions: [\n                \"uhost:TerminateUHostInstance\",\n                \"uhost:DeleteIsolationGroup\",\n            ],\n            resources: [\"ucs:uhost:*:\u003ccompany-id\u003e:instance/uhost-xxx\"],\n        },\n        {\n            effect: \"Allow\",\n            actions: [\"uhost:DescribeUHostInstance\"],\n            resources: [\"*\"],\n        },\n    ],\n});\nconst fooIamPolicy = new ucloud.IamPolicy(\"foo\", {\n    name: \"tf-acc-iam-policy\",\n    comment: \"comment\",\n    policy: foo.then(foo =\u003e foo.json),\n    scope: \"Project\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nfoo = ucloud.get_iam_policy_document(version=\"1\",\n    statements=[\n        {\n            \"effect\": \"Allow\",\n            \"actions\": [\n                \"uhost:TerminateUHostInstance\",\n                \"uhost:DeleteIsolationGroup\",\n            ],\n            \"resources\": [\"ucs:uhost:*:\u003ccompany-id\u003e:instance/uhost-xxx\"],\n        },\n        {\n            \"effect\": \"Allow\",\n            \"actions\": [\"uhost:DescribeUHostInstance\"],\n            \"resources\": [\"*\"],\n        },\n    ])\nfoo_iam_policy = ucloud.IamPolicy(\"foo\",\n    name=\"tf-acc-iam-policy\",\n    comment=\"comment\",\n    policy=foo.json,\n    scope=\"Project\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = Ucloud.GetIamPolicyDocument.Invoke(new()\n    {\n        Version = \"1\",\n        Statements = new[]\n        {\n            new Ucloud.Inputs.GetIamPolicyDocumentStatementInputArgs\n            {\n                Effect = \"Allow\",\n                Actions = new[]\n                {\n                    \"uhost:TerminateUHostInstance\",\n                    \"uhost:DeleteIsolationGroup\",\n                },\n                Resources = new[]\n                {\n                    \"ucs:uhost:*:\u003ccompany-id\u003e:instance/uhost-xxx\",\n                },\n            },\n            new Ucloud.Inputs.GetIamPolicyDocumentStatementInputArgs\n            {\n                Effect = \"Allow\",\n                Actions = new[]\n                {\n                    \"uhost:DescribeUHostInstance\",\n                },\n                Resources = new[]\n                {\n                    \"*\",\n                },\n            },\n        },\n    });\n\n    var fooIamPolicy = new Ucloud.IamPolicy(\"foo\", new()\n    {\n        Name = \"tf-acc-iam-policy\",\n        Comment = \"comment\",\n        Policy = foo.Apply(getIamPolicyDocumentResult =\u003e getIamPolicyDocumentResult.Json),\n        Scope = \"Project\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := ucloud.GetIamPolicyDocument(ctx, \u0026ucloud.GetIamPolicyDocumentArgs{\n\t\t\tVersion: pulumi.StringRef(\"1\"),\n\t\t\tStatements: []ucloud.GetIamPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"uhost:TerminateUHostInstance\",\n\t\t\t\t\t\t\"uhost:DeleteIsolationGroup\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"ucs:uhost:*:\u003ccompany-id\u003e:instance/uhost-xxx\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"uhost:DescribeUHostInstance\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ucloud.NewIamPolicy(ctx, \"foo\", \u0026ucloud.IamPolicyArgs{\n\t\t\tName:    pulumi.String(\"tf-acc-iam-policy\"),\n\t\t\tComment: pulumi.String(\"comment\"),\n\t\t\tPolicy:  pulumi.String(foo.Json),\n\t\t\tScope:   pulumi.String(\"Project\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetIamPolicyDocumentArgs;\nimport com.pulumi.ucloud.IamPolicy;\nimport com.pulumi.ucloud.IamPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var foo = UcloudFunctions.getIamPolicyDocument(GetIamPolicyDocumentArgs.builder()\n            .version(\"1\")\n            .statements(            \n                GetIamPolicyDocumentStatementArgs.builder()\n                    .effect(\"Allow\")\n                    .actions(                    \n                        \"uhost:TerminateUHostInstance\",\n                        \"uhost:DeleteIsolationGroup\")\n                    .resources(\"ucs:uhost:*:\u003ccompany-id\u003e:instance/uhost-xxx\")\n                    .build(),\n                GetIamPolicyDocumentStatementArgs.builder()\n                    .effect(\"Allow\")\n                    .actions(\"uhost:DescribeUHostInstance\")\n                    .resources(\"*\")\n                    .build())\n            .build());\n\n        var fooIamPolicy = new IamPolicy(\"fooIamPolicy\", IamPolicyArgs.builder()\n            .name(\"tf-acc-iam-policy\")\n            .comment(\"comment\")\n            .policy(foo.json())\n            .scope(\"Project\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  fooIamPolicy:\n    type: ucloud:IamPolicy\n    name: foo\n    properties:\n      name: tf-acc-iam-policy\n      comment: comment\n      policy: ${foo.json}\n      scope: Project\nvariables:\n  foo:\n    fn::invoke:\n      function: ucloud:getIamPolicyDocument\n      arguments:\n        version: '1'\n        statements:\n          - effect: Allow\n            actions:\n              - uhost:TerminateUHostInstance\n              - uhost:DeleteIsolationGroup\n            resources:\n              - ucs:uhost:*:\u003ccompany-id\u003e:instance/uhost-xxx\n          - effect: Allow\n            actions:\n              - uhost:DescribeUHostInstance\n            resources:\n              - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getIamPolicyDocument.\n","properties":{"id":{"type":"string"},"outputFile":{"type":"string","description":"File name where to save data source results (after running pulumi preview).\n"},"statements":{"type":"array","items":{"$ref":"#/types/ucloud:index%2FgetIamPolicyDocumentStatement:getIamPolicyDocumentStatement"},"description":"Statement of the IAM policy document. See the following Block statement.\n"},"version":{"type":"string","description":"Version of the IAM policy document. Valid value is 1. Default value is 1.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getIamPolicyDocument.\n","properties":{"id":{"type":"string"},"json":{"description":"Policy JSON representation rendered based on the arguments above.\n","type":"string"},"outputFile":{"type":"string"},"statements":{"items":{"$ref":"#/types/ucloud:index%2FgetIamPolicyDocumentStatement:getIamPolicyDocumentStatement"},"type":"array"},"version":{"type":"string"}},"required":["id","json"],"type":"object"}},"ucloud:index/getIamProjects:getIamProjects":{"description":"Provides a list of IAM projects.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst foo = ucloud.getIamProjects({\n    nameRegex: \"^tf-acc-iam-project$\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nfoo = ucloud.get_iam_projects(name_regex=\"^tf-acc-iam-project$\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = Ucloud.GetIamProjects.Invoke(new()\n    {\n        NameRegex = \"^tf-acc-iam-project$\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ucloud.GetIamProjects(ctx, \u0026ucloud.GetIamProjectsArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^tf-acc-iam-project$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetIamProjectsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var foo = UcloudFunctions.getIamProjects(GetIamProjectsArgs.builder()\n            .nameRegex(\"^tf-acc-iam-project$\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  foo:\n    fn::invoke:\n      function: ucloud:getIamProjects\n      arguments:\n        nameRegex: ^tf-acc-iam-project$\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getIamProjects.\n","properties":{"id":{"type":"string","description":"ID of the IAM project.\n"},"nameRegex":{"type":"string","description":"A regex string to filter resulting users by their names.\n"},"outputFile":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getIamProjects.\n","properties":{"id":{"description":"ID of the IAM project.\n","type":"string"},"nameRegex":{"type":"string"},"outputFile":{"type":"string"},"projects":{"description":"A list of projects. Each element contains the following attributes\n","items":{"$ref":"#/types/ucloud:index%2FgetIamProjectsProject:getIamProjectsProject"},"type":"array"},"totalCount":{"type":"number"}},"required":["id","projects","totalCount"],"type":"object"}},"ucloud:index/getIamUsers:getIamUsers":{"description":"Provides a list of IAM users.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst foo = ucloud.getIamUsers({\n    nameRegex: \"^tf-acc-iam-user$\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nfoo = ucloud.get_iam_users(name_regex=\"^tf-acc-iam-user$\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = Ucloud.GetIamUsers.Invoke(new()\n    {\n        NameRegex = \"^tf-acc-iam-user$\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ucloud.GetIamUsers(ctx, \u0026ucloud.GetIamUsersArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^tf-acc-iam-user$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetIamUsersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var foo = UcloudFunctions.getIamUsers(GetIamUsersArgs.builder()\n            .nameRegex(\"^tf-acc-iam-user$\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  foo:\n    fn::invoke:\n      function: ucloud:getIamUsers\n      arguments:\n        nameRegex: ^tf-acc-iam-user$\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getIamUsers.\n","properties":{"groupName":{"type":"string","description":"Filter results by a specific group name. Returned users are in the specified group.\n"},"id":{"type":"string"},"nameRegex":{"type":"string","description":"A regex string to filter the returned users by their names.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getIamUsers.\n","properties":{"groupName":{"type":"string"},"id":{"type":"string"},"nameRegex":{"type":"string"},"names":{"description":"A list of IAM user names.\n","items":{"type":"string"},"type":"array"},"users":{"description":"A list of users. Each element contains the following attributes\n","items":{"$ref":"#/types/ucloud:index%2FgetIamUsersUser:getIamUsersUser"},"type":"array"}},"required":["id","names","users"],"type":"object"}},"ucloud:index/getImages:getImages":{"description":"This data source providers a list of available image resources according to their availability zone, image ID and other fields.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst example = ucloud.getImages({\n    availabilityZone: \"cn-bj2-02\",\n    imageType: \"base\",\n    nameRegex: \"^CentOS 7.[1-2] 64\",\n    mostRecent: true,\n});\nexport const first = example.then(example =\u003e example.images?.[0]?.id);\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nexample = ucloud.get_images(availability_zone=\"cn-bj2-02\",\n    image_type=\"base\",\n    name_regex=\"^CentOS 7.[1-2] 64\",\n    most_recent=True)\npulumi.export(\"first\", example.images[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Ucloud.GetImages.Invoke(new()\n    {\n        AvailabilityZone = \"cn-bj2-02\",\n        ImageType = \"base\",\n        NameRegex = \"^CentOS 7.[1-2] 64\",\n        MostRecent = true,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"first\"] = example.Apply(getImagesResult =\u003e getImagesResult.Images[0]?.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ucloud.GetImages(ctx, \u0026ucloud.GetImagesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(\"cn-bj2-02\"),\n\t\t\tImageType:        pulumi.StringRef(\"base\"),\n\t\t\tNameRegex:        pulumi.StringRef(\"^CentOS 7.[1-2] 64\"),\n\t\t\tMostRecent:       pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"first\", example.Images[0].Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetImagesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = UcloudFunctions.getImages(GetImagesArgs.builder()\n            .availabilityZone(\"cn-bj2-02\")\n            .imageType(\"base\")\n            .nameRegex(\"^CentOS 7.[1-2] 64\")\n            .mostRecent(true)\n            .build());\n\n        ctx.export(\"first\", example.images()[0].id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: ucloud:getImages\n      arguments:\n        availabilityZone: cn-bj2-02\n        imageType: base\n        nameRegex: ^CentOS 7.[1-2] 64\n        mostRecent: true\noutputs:\n  first: ${example.images[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getImages.\n","properties":{"availabilityZone":{"type":"string","description":"Availability zone where images are located. such as: `cn-bj2-02`. You may refer to [list of availability zone](https://docs.ucloud.cn/api/summary/regionlist).\n"},"id":{"type":"string","description":"The ID of image.\n"},"ids":{"type":"array","items":{"type":"string"},"description":"A list of image IDs, all the images belong to this region will be retrieved if the ID is `[]`. \n\u003e **Note** this argument conflicts with \u003cspan pulumi-lang-nodejs=\"`imageId`\" pulumi-lang-dotnet=\"`ImageId`\" pulumi-lang-go=\"`imageId`\" pulumi-lang-python=\"`image_id`\" pulumi-lang-yaml=\"`imageId`\" pulumi-lang-java=\"`imageId`\"\u003e`image_id`\u003c/span\u003e.\n"},"imageId":{"type":"string","description":"The ID of image.\n\u003e **Note** this argument conflicts with \u003cspan pulumi-lang-nodejs=\"`ids`\" pulumi-lang-dotnet=\"`Ids`\" pulumi-lang-go=\"`ids`\" pulumi-lang-python=\"`ids`\" pulumi-lang-yaml=\"`ids`\" pulumi-lang-java=\"`ids`\"\u003e`ids`\u003c/span\u003e.\n"},"imageType":{"type":"string","description":"The type of image. Possible values are: \u003cspan pulumi-lang-nodejs=\"`base`\" pulumi-lang-dotnet=\"`Base`\" pulumi-lang-go=\"`base`\" pulumi-lang-python=\"`base`\" pulumi-lang-yaml=\"`base`\" pulumi-lang-java=\"`base`\"\u003e`base`\u003c/span\u003e as standard image, \u003cspan pulumi-lang-nodejs=\"`business`\" pulumi-lang-dotnet=\"`Business`\" pulumi-lang-go=\"`business`\" pulumi-lang-python=\"`business`\" pulumi-lang-yaml=\"`business`\" pulumi-lang-java=\"`business`\"\u003e`business`\u003c/span\u003e as owned by market place, and \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e as custom-image, all the image types will be retrieved by default.\n"},"mostRecent":{"type":"boolean","description":"If more than one result is returned, use the most recent image.\n"},"nameRegex":{"type":"string","description":"A regex string to filter resulting images by name. (Such as: `^CentOS 7.[1-2] 64` means CentOS 7.1 of 64-bit operating system or CentOS 7.2 of 64-bit operating system, \"^Ubuntu 16.04 64\" means Ubuntu 16.04 of 64-bit operating system).\n"},"osType":{"type":"string","description":"The type of OS. Possible values are: \u003cspan pulumi-lang-nodejs=\"`linux`\" pulumi-lang-dotnet=\"`Linux`\" pulumi-lang-go=\"`linux`\" pulumi-lang-python=\"`linux`\" pulumi-lang-yaml=\"`linux`\" pulumi-lang-java=\"`linux`\"\u003e`linux`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`windows`\" pulumi-lang-dotnet=\"`Windows`\" pulumi-lang-go=\"`windows`\" pulumi-lang-python=\"`windows`\" pulumi-lang-yaml=\"`windows`\" pulumi-lang-java=\"`windows`\"\u003e`windows`\u003c/span\u003e, all the OS types will be retrieved by default.\n"},"outputFile":{"type":"string","description":"File name where to save data source results (after running `pulumi preview`).\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getImages.\n","properties":{"availabilityZone":{"description":"Availability zone where image is located.\n","type":"string"},"id":{"description":"The ID of image.\n","type":"string"},"ids":{"items":{"type":"string"},"type":"array"},"imageId":{"type":"string"},"imageType":{"type":"string"},"images":{"description":"It is a nested type which documented below.\n","items":{"$ref":"#/types/ucloud:index%2FgetImagesImage:getImagesImage"},"type":"array"},"mostRecent":{"type":"boolean"},"nameRegex":{"type":"string"},"osType":{"description":"The type of OS.\n","type":"string"},"outputFile":{"type":"string"},"totalCount":{"description":"Total number of images that satisfy the condition.\n","type":"number"}},"required":["id","ids","images","totalCount"],"type":"object"}},"ucloud:index/getInstances:getInstances":{"description":"This data source providers a list of UHost instance resources according to their availability zone, instance ID and tag.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst example = ucloud.getInstances({\n    availabilityZone: \"cn-bj2-02\",\n});\nexport const first = example.then(example =\u003e example.instances?.[0]?.id);\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nexample = ucloud.get_instances(availability_zone=\"cn-bj2-02\")\npulumi.export(\"first\", example.instances[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Ucloud.GetInstances.Invoke(new()\n    {\n        AvailabilityZone = \"cn-bj2-02\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"first\"] = example.Apply(getInstancesResult =\u003e getInstancesResult.Instances[0]?.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ucloud.GetInstances(ctx, \u0026ucloud.GetInstancesArgs{\n\t\t\tAvailabilityZone: pulumi.StringRef(\"cn-bj2-02\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"first\", example.Instances[0].Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetInstancesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = UcloudFunctions.getInstances(GetInstancesArgs.builder()\n            .availabilityZone(\"cn-bj2-02\")\n            .build());\n\n        ctx.export(\"first\", example.instances()[0].id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: ucloud:getInstances\n      arguments:\n        availabilityZone: cn-bj2-02\noutputs:\n  first: ${example.instances[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getInstances.\n","properties":{"availabilityZone":{"type":"string","description":"Availability zone where instances are located. Such as: \"cn-bj2-02\". You may refer to [list of availability zone](https://docs.ucloud.cn/api/summary/regionlist)\n"},"id":{"type":"string","description":"The ID of disk.\n"},"ids":{"type":"array","items":{"type":"string"},"description":"A list of instance IDs, all the instances belongs to the defined region will be retrieved if this argument is `[]`.\n"},"nameRegex":{"type":"string","description":"A regex string to filter resulting instances by name.\n"},"outputFile":{"type":"string","description":"File name where to save data source results (after running `pulumi preview`).\n"},"tag":{"type":"string","description":"A tag assigned to instance.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getInstances.\n","properties":{"availabilityZone":{"description":"Availability zone where instances are located.\n","type":"string"},"id":{"description":"The ID of disk.\n","type":"string"},"ids":{"items":{"type":"string"},"type":"array"},"instances":{"description":"It is a nested type. instances documented below.\n","items":{"$ref":"#/types/ucloud:index%2FgetInstancesInstance:getInstancesInstance"},"type":"array"},"nameRegex":{"type":"string"},"outputFile":{"type":"string"},"tag":{"description":"A tag assigned to the instance.\n","type":"string"},"totalCount":{"description":"Total number of instances that satisfy the condition.\n","type":"number"}},"required":["id","ids","instances","totalCount"],"type":"object"}},"ucloud:index/getLabelResources:getLabelResources":{"description":"Provides a list of labels.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst foo = ucloud.getLabelResources({\n    key: \"key\",\n    value: \"value\",\n    resourceTypes: [\"vip\"],\n    projectIds: [\"org-xxx\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nfoo = ucloud.get_label_resources(key=\"key\",\n    value=\"value\",\n    resource_types=[\"vip\"],\n    project_ids=[\"org-xxx\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = Ucloud.GetLabelResources.Invoke(new()\n    {\n        Key = \"key\",\n        Value = \"value\",\n        ResourceTypes = new[]\n        {\n            \"vip\",\n        },\n        ProjectIds = new[]\n        {\n            \"org-xxx\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ucloud.GetLabelResources(ctx, \u0026ucloud.GetLabelResourcesArgs{\n\t\t\tKey:   \"key\",\n\t\t\tValue: \"value\",\n\t\t\tResourceTypes: []string{\n\t\t\t\t\"vip\",\n\t\t\t},\n\t\t\tProjectIds: []string{\n\t\t\t\t\"org-xxx\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetLabelResourcesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var foo = UcloudFunctions.getLabelResources(GetLabelResourcesArgs.builder()\n            .key(\"key\")\n            .value(\"value\")\n            .resourceTypes(\"vip\")\n            .projectIds(\"org-xxx\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  foo:\n    fn::invoke:\n      function: ucloud:getLabelResources\n      arguments:\n        key: key\n        value: value\n        resourceTypes:\n          - vip\n        projectIds:\n          - org-xxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getLabelResources.\n","properties":{"id":{"type":"string","description":"ID of the resource\n"},"key":{"type":"string","description":"key of the label.s\n"},"outputFile":{"type":"string","description":"File name where to save data source results (after running `pulumi preview`).\n"},"projectIds":{"type":"array","items":{"type":"string"},"description":"projects that own the attached resources, for example org-xxx.*\n"},"resourceTypes":{"type":"array","items":{"type":"string"},"description":"types of the attached resources, for example uhost.\n"},"value":{"type":"string","description":"value of the label\n"}},"type":"object","required":["key","projectIds","resourceTypes","value"]},"outputs":{"description":"A collection of values returned by getLabelResources.\n","properties":{"id":{"description":"ID of the resource\n","type":"string"},"key":{"type":"string"},"outputFile":{"type":"string"},"projectIds":{"items":{"type":"string"},"type":"array"},"resourceTypes":{"items":{"type":"string"},"type":"array"},"resources":{"description":"Resources with specific label and consists of following attribute\n","items":{"$ref":"#/types/ucloud:index%2FgetLabelResourcesResource:getLabelResourcesResource"},"type":"array"},"totalCount":{"type":"number"},"value":{"type":"string"}},"required":["id","key","projectIds","resourceTypes","resources","totalCount","value"],"type":"object"}},"ucloud:index/getLabels:getLabels":{"description":"Provides a list of labels.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst foo = ucloud.getLabels({\n    keyRegex: \"^key$\",\n});\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nfoo = ucloud.get_labels(key_regex=\"^key$\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = Ucloud.GetLabels.Invoke(new()\n    {\n        KeyRegex = \"^key$\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ucloud.GetLabels(ctx, \u0026ucloud.GetLabelsArgs{\n\t\t\tKeyRegex: pulumi.StringRef(\"^key$\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetLabelsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var foo = UcloudFunctions.getLabels(GetLabelsArgs.builder()\n            .keyRegex(\"^key$\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  foo:\n    fn::invoke:\n      function: ucloud:getLabels\n      arguments:\n        keyRegex: ^key$\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getLabels.\n","properties":{"id":{"type":"string","description":"ID of the project\n"},"keyRegex":{"type":"string","description":"A regex string to filter the returned users by their keys.\n"},"outputFile":{"type":"string","description":"File name where to save data source results (after running `pulumi preview`).\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getLabels.\n","properties":{"id":{"description":"ID of the project\n","type":"string"},"keyRegex":{"type":"string"},"labels":{"items":{"$ref":"#/types/ucloud:index%2FgetLabelsLabel:getLabelsLabel"},"type":"array"},"outputFile":{"type":"string"},"totalCount":{"type":"number"}},"required":["id","labels","totalCount"],"type":"object"}},"ucloud:index/getLbAttachments:getLbAttachments":{"description":"This data source provides a list of Load Balancer Attachment resources according to their Load Balancer Attachment ID.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst example = ucloud.getLbAttachments({\n    loadBalancerId: \"ulb-xxx\",\n    listenerId: \"vserver-xxx\",\n});\nexport const first = example.then(example =\u003e example.lbAttachments?.[0]?.id);\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nexample = ucloud.get_lb_attachments(load_balancer_id=\"ulb-xxx\",\n    listener_id=\"vserver-xxx\")\npulumi.export(\"first\", example.lb_attachments[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Ucloud.GetLbAttachments.Invoke(new()\n    {\n        LoadBalancerId = \"ulb-xxx\",\n        ListenerId = \"vserver-xxx\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"first\"] = example.Apply(getLbAttachmentsResult =\u003e getLbAttachmentsResult.LbAttachments[0]?.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ucloud.GetLbAttachments(ctx, \u0026ucloud.GetLbAttachmentsArgs{\n\t\t\tLoadBalancerId: \"ulb-xxx\",\n\t\t\tListenerId:     \"vserver-xxx\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"first\", example.LbAttachments[0].Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetLbAttachmentsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = UcloudFunctions.getLbAttachments(GetLbAttachmentsArgs.builder()\n            .loadBalancerId(\"ulb-xxx\")\n            .listenerId(\"vserver-xxx\")\n            .build());\n\n        ctx.export(\"first\", example.lbAttachments()[0].id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: ucloud:getLbAttachments\n      arguments:\n        loadBalancerId: ulb-xxx\n        listenerId: vserver-xxx\noutputs:\n  first: ${example.lbAttachments[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getLbAttachments.\n","properties":{"id":{"type":"string","description":"The ID of LB Attachment.\n"},"ids":{"type":"array","items":{"type":"string"},"description":"A list of LB Attachment IDs, all the LB Attachments belong to the Load Balancer listener will be retrieved if the ID is `[]`.\n"},"listenerId":{"type":"string","description":"The ID of a listener server.\n"},"loadBalancerId":{"type":"string","description":"The ID of a load balancer.\n"},"outputFile":{"type":"string","description":"File name where to save data source results (after running `pulumi preview`).\n"}},"type":"object","required":["listenerId","loadBalancerId"]},"outputs":{"description":"A collection of values returned by getLbAttachments.\n","properties":{"id":{"description":"The ID of LB Attachment.\n","type":"string"},"ids":{"items":{"type":"string"},"type":"array"},"lbAttachments":{"description":"It is a nested type which documented below.\n","items":{"$ref":"#/types/ucloud:index%2FgetLbAttachmentsLbAttachment:getLbAttachmentsLbAttachment"},"type":"array"},"listenerId":{"type":"string"},"loadBalancerId":{"type":"string"},"outputFile":{"type":"string"},"totalCount":{"description":"Total number of LB Attachments that satisfy the condition.\n","type":"number"}},"required":["id","ids","lbAttachments","listenerId","loadBalancerId","totalCount"],"type":"object"}},"ucloud:index/getLbListeners:getLbListeners":{"description":"This data source provides a list of Load Balancer Listener resources according to their Load Balancer Listener ID.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst example = ucloud.getLbListeners({\n    loadBalancerId: \"ulb-xxx\",\n});\nexport const first = example.then(example =\u003e example.lbListeners?.[0]?.id);\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nexample = ucloud.get_lb_listeners(load_balancer_id=\"ulb-xxx\")\npulumi.export(\"first\", example.lb_listeners[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Ucloud.GetLbListeners.Invoke(new()\n    {\n        LoadBalancerId = \"ulb-xxx\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"first\"] = example.Apply(getLbListenersResult =\u003e getLbListenersResult.LbListeners[0]?.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ucloud.GetLbListeners(ctx, \u0026ucloud.GetLbListenersArgs{\n\t\t\tLoadBalancerId: \"ulb-xxx\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"first\", example.LbListeners[0].Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetLbListenersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = UcloudFunctions.getLbListeners(GetLbListenersArgs.builder()\n            .loadBalancerId(\"ulb-xxx\")\n            .build());\n\n        ctx.export(\"first\", example.lbListeners()[0].id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: ucloud:getLbListeners\n      arguments:\n        loadBalancerId: ulb-xxx\noutputs:\n  first: ${example.lbListeners[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getLbListeners.\n","properties":{"id":{"type":"string","description":"The ID of LB Listener.\n"},"ids":{"type":"array","items":{"type":"string"},"description":"A list of LB Listener IDs, all the LB Listeners belong to this region will be retrieved if the ID is `[]`.\n"},"loadBalancerId":{"type":"string","description":"The ID of a load balancer.\n\n- - -\n"},"nameRegex":{"type":"string","description":"A regex string to filter resulting lb listeners by name.\n"},"outputFile":{"type":"string","description":"File name where to save data source results (after running `pulumi preview`).\n"}},"type":"object","required":["loadBalancerId"]},"outputs":{"description":"A collection of values returned by getLbListeners.\n","properties":{"id":{"description":"The ID of LB Listener.\n","type":"string"},"ids":{"items":{"type":"string"},"type":"array"},"lbListeners":{"description":"It is a nested type which documented below.\n","items":{"$ref":"#/types/ucloud:index%2FgetLbListenersLbListener:getLbListenersLbListener"},"type":"array"},"loadBalancerId":{"type":"string"},"nameRegex":{"type":"string"},"outputFile":{"type":"string"},"totalCount":{"description":"Total number of LB listeners that satisfy the condition.\n","type":"number"}},"required":["id","ids","lbListeners","loadBalancerId","totalCount"],"type":"object"}},"ucloud:index/getLbRules:getLbRules":{"description":"This data source provides a list of Load Balancer Rule resources according to their Load Balancer Rule ID.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst example = ucloud.getLbRules({\n    loadBalancerId: \"ulb-xxx\",\n    listenerId: \"vserver-xxx\",\n});\nexport const first = example.then(example =\u003e example.lbRules?.[0]?.id);\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nexample = ucloud.get_lb_rules(load_balancer_id=\"ulb-xxx\",\n    listener_id=\"vserver-xxx\")\npulumi.export(\"first\", example.lb_rules[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Ucloud.GetLbRules.Invoke(new()\n    {\n        LoadBalancerId = \"ulb-xxx\",\n        ListenerId = \"vserver-xxx\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"first\"] = example.Apply(getLbRulesResult =\u003e getLbRulesResult.LbRules[0]?.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ucloud.GetLbRules(ctx, \u0026ucloud.GetLbRulesArgs{\n\t\t\tLoadBalancerId: \"ulb-xxx\",\n\t\t\tListenerId:     \"vserver-xxx\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"first\", example.LbRules[0].Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetLbRulesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = UcloudFunctions.getLbRules(GetLbRulesArgs.builder()\n            .loadBalancerId(\"ulb-xxx\")\n            .listenerId(\"vserver-xxx\")\n            .build());\n\n        ctx.export(\"first\", example.lbRules()[0].id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: ucloud:getLbRules\n      arguments:\n        loadBalancerId: ulb-xxx\n        listenerId: vserver-xxx\noutputs:\n  first: ${example.lbRules[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getLbRules.\n","properties":{"id":{"type":"string","description":"The ID of LB Rule.\n"},"ids":{"type":"array","items":{"type":"string"},"description":"A list of LB Rule IDs, all the LB Rules belong to the Load Balancer listener will be retrieved if the ID is `[]`.\n"},"listenerId":{"type":"string","description":"The ID of a listener server.\n\n- - -\n"},"loadBalancerId":{"type":"string","description":"The ID of a load balancer.\n"},"outputFile":{"type":"string","description":"File name where to save data source results (after running `pulumi preview`).\n"}},"type":"object","required":["listenerId","loadBalancerId"]},"outputs":{"description":"A collection of values returned by getLbRules.\n","properties":{"id":{"description":"The ID of LB Rule.\n","type":"string"},"ids":{"items":{"type":"string"},"type":"array"},"lbRules":{"description":"It is a nested type which documented below.\n","items":{"$ref":"#/types/ucloud:index%2FgetLbRulesLbRule:getLbRulesLbRule"},"type":"array"},"listenerId":{"type":"string"},"loadBalancerId":{"type":"string"},"outputFile":{"type":"string"},"totalCount":{"description":"Total number of LB Rules that satisfy the condition.\n","type":"number"}},"required":["id","ids","lbRules","listenerId","loadBalancerId","totalCount"],"type":"object"}},"ucloud:index/getLbSsls:getLbSsls":{"description":"This data source provides a list of Load Balancer SSL certificate resources according to their Load Balancer SSL certificate resource ID and name.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst example = ucloud.getLbSsls({});\nexport const first = example.then(example =\u003e example.lbSsls?.[0]?.id);\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nexample = ucloud.get_lb_ssls()\npulumi.export(\"first\", example.lb_ssls[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Ucloud.GetLbSsls.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"first\"] = example.Apply(getLbSslsResult =\u003e getLbSslsResult.LbSsls[0]?.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ucloud.GetLbSsls(ctx, \u0026ucloud.GetLbSslsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"first\", example.LbSsls[0].Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetLbSslsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = UcloudFunctions.getLbSsls(GetLbSslsArgs.builder()\n            .build());\n\n        ctx.export(\"first\", example.lbSsls()[0].id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: ucloud:getLbSsls\n      arguments: {}\noutputs:\n  first: ${example.lbSsls[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getLbSsls.\n","properties":{"id":{"type":"string","description":"The ID of LB SSL certificate resource.\n"},"ids":{"type":"array","items":{"type":"string"},"description":"A list of LB SSL certificate resource IDs, all the LB SSL certificate resources in the current region will be retrieved if the ID is `[]`.\n"},"nameRegex":{"type":"string","description":"A regex string to filter resulting LB SSL by name.\n"},"outputFile":{"type":"string","description":"File name where to save data source results (after running `pulumi preview`).\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getLbSsls.\n","properties":{"id":{"description":"The ID of LB SSL certificate resource.\n","type":"string"},"ids":{"items":{"type":"string"},"type":"array"},"lbSsls":{"description":"It is a nested type which documented below.\n","items":{"$ref":"#/types/ucloud:index%2FgetLbSslsLbSsl:getLbSslsLbSsl"},"type":"array"},"nameRegex":{"type":"string"},"outputFile":{"type":"string"},"totalCount":{"description":"Total number of LB SSL certificate resources that satisfy the condition.\n","type":"number"}},"required":["id","ids","lbSsls","totalCount"],"type":"object"}},"ucloud:index/getLbs:getLbs":{"description":"This data source provides a list of Load Balancer resources according to their Load Balancer ID, VPC ID and Subnet ID.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst example = ucloud.getLbs({});\nexport const first = example.then(example =\u003e example.lbs?.[0]?.id);\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nexample = ucloud.get_lbs()\npulumi.export(\"first\", example.lbs[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Ucloud.GetLbs.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"first\"] = example.Apply(getLbsResult =\u003e getLbsResult.Lbs[0]?.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ucloud.GetLbs(ctx, \u0026ucloud.GetLbsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"first\", example.Lbs[0].Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetLbsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = UcloudFunctions.getLbs(GetLbsArgs.builder()\n            .build());\n\n        ctx.export(\"first\", example.lbs()[0].id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: ucloud:getLbs\n      arguments: {}\noutputs:\n  first: ${example.lbs[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getLbs.\n","properties":{"id":{"type":"string","description":"The ID of Load Balancer.\n"},"ids":{"type":"array","items":{"type":"string"},"description":"A list of Load Balancer IDs, all the LBs belong to this region will be retrieved if the ID is `[]`.\n"},"nameRegex":{"type":"string","description":"A regex string to filter resulting lbs by name.\n"},"outputFile":{"type":"string","description":"File name where to save data source results (after running `pulumi preview`).\n"},"subnetId":{"type":"string","description":"The ID of subnet that intrant load balancer belongs to.\n"},"vpcId":{"type":"string","description":"The ID of the VPC linked to the Load Balancers.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getLbs.\n","properties":{"id":{"description":"The ID of Load Balancer.\n","type":"string"},"ids":{"items":{"type":"string"},"type":"array"},"lbs":{"description":"It is a nested type which documented below.\n","items":{"$ref":"#/types/ucloud:index%2FgetLbsLb:getLbsLb"},"type":"array"},"nameRegex":{"type":"string"},"outputFile":{"type":"string"},"subnetId":{"description":"(Optional) The ID of subnet that intrant load balancer belongs to.\n","type":"string"},"totalCount":{"description":"Total number of Load Balancers that satisfy the condition.\n","type":"number"},"vpcId":{"description":"The ID of the VPC linked to the Load Balancers.\n","type":"string"}},"required":["id","ids","lbs","subnetId","totalCount","vpcId"],"type":"object"}},"ucloud:index/getNatGateways:getNatGateways":{"description":"This data source providers a list of Nat Gateway resources according to their ID and name.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst example = ucloud.getNatGateways({});\nexport const first = example.then(example =\u003e example.natGateways?.[0]?.id);\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nexample = ucloud.get_nat_gateways()\npulumi.export(\"first\", example.nat_gateways[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Ucloud.GetNatGateways.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"first\"] = example.Apply(getNatGatewaysResult =\u003e getNatGatewaysResult.NatGateways[0]?.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ucloud.GetNatGateways(ctx, \u0026ucloud.GetNatGatewaysArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"first\", example.NatGateways[0].Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetNatGatewaysArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = UcloudFunctions.getNatGateways(GetNatGatewaysArgs.builder()\n            .build());\n\n        ctx.export(\"first\", example.natGateways()[0].id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: ucloud:getNatGateways\n      arguments: {}\noutputs:\n  first: ${example.natGateways[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNatGateways.\n","properties":{"id":{"type":"string","description":"The ID of Nat Gateway.\n"},"ids":{"type":"array","items":{"type":"string"},"description":"A list of Nat Gateway IDs, all the Nat Gateways belongs to the defined region will be retrieved if this argument is `[]`.\n"},"nameRegex":{"type":"string","description":"A regex string to filter resulting Nat Gateways by name.\n"},"outputFile":{"type":"string","description":"File name where to save data source results (after running `pulumi preview`).\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getNatGateways.\n","properties":{"id":{"description":"The ID of Nat Gateway.\n","type":"string"},"ids":{"items":{"type":"string"},"type":"array"},"nameRegex":{"type":"string"},"natGateways":{"description":"It is a nested type. Nat Gateways documented below.\n","items":{"$ref":"#/types/ucloud:index%2FgetNatGatewaysNatGateway:getNatGatewaysNatGateway"},"type":"array"},"outputFile":{"type":"string"},"totalCount":{"description":"Total number of Nat Gateways that satisfy the condition.\n","type":"number"}},"required":["id","ids","natGateways","totalCount"],"type":"object"}},"ucloud:index/getProjects:getProjects":{"description":"This data source providers a list of projects owned by user according to finance permission and name.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst example = ucloud.getProjects({\n    isFinance: false,\n});\nexport const first = example.then(example =\u003e example.projects?.[0]?.id);\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nexample = ucloud.get_projects(is_finance=False)\npulumi.export(\"first\", example.projects[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Ucloud.GetProjects.Invoke(new()\n    {\n        IsFinance = false,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"first\"] = example.Apply(getProjectsResult =\u003e getProjectsResult.Projects[0]?.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ucloud.GetProjects(ctx, \u0026ucloud.GetProjectsArgs{\n\t\t\tIsFinance: pulumi.BoolRef(false),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"first\", example.Projects[0].Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetProjectsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = UcloudFunctions.getProjects(GetProjectsArgs.builder()\n            .isFinance(false)\n            .build());\n\n        ctx.export(\"first\", example.projects()[0].id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: ucloud:getProjects\n      arguments:\n        isFinance: false\noutputs:\n  first: ${example.projects[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getProjects.\n","properties":{"id":{"type":"string","description":"The ID of project defined.\n"},"isFinance":{"type":"boolean","description":"To identify if the current account is granted with financial permission.\n"},"nameRegex":{"type":"string","description":"A regex string to filter resulting projects by name.\n"},"outputFile":{"type":"string","description":"File name where to save data source results (after running `pulumi preview`).\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getProjects.\n","properties":{"id":{"description":"The ID of project defined.\n","type":"string"},"isFinance":{"type":"boolean"},"nameRegex":{"type":"string"},"outputFile":{"type":"string"},"projects":{"description":"It is a nested type which documented below.\n","items":{"$ref":"#/types/ucloud:index%2FgetProjectsProject:getProjectsProject"},"type":"array"},"totalCount":{"description":"Total number of projects that satisfy the condition.\n","type":"number"}},"required":["id","projects","totalCount"],"type":"object"}},"ucloud:index/getSecurityGroups:getSecurityGroups":{"description":"This data source provides a list of Security Group resources according to their Security Group ID, name and resource id.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst example = ucloud.getSecurityGroups({});\nexport const first = example.then(example =\u003e example.securityGroups?.[0]?.id);\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nexample = ucloud.get_security_groups()\npulumi.export(\"first\", example.security_groups[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Ucloud.GetSecurityGroups.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"first\"] = example.Apply(getSecurityGroupsResult =\u003e getSecurityGroupsResult.SecurityGroups[0]?.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ucloud.GetSecurityGroups(ctx, \u0026ucloud.GetSecurityGroupsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"first\", example.SecurityGroups[0].Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetSecurityGroupsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = UcloudFunctions.getSecurityGroups(GetSecurityGroupsArgs.builder()\n            .build());\n\n        ctx.export(\"first\", example.securityGroups()[0].id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: ucloud:getSecurityGroups\n      arguments: {}\noutputs:\n  first: ${example.securityGroups[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSecurityGroups.\n","properties":{"id":{"type":"string","description":"The ID of Security Group.\n"},"ids":{"type":"array","items":{"type":"string"},"description":"A list of Security Group IDs, all the Security Group resources belong to this region will be retrieved if the ID is `[]`.\n"},"nameRegex":{"type":"string","description":"A regex string to filter resulting Security Group resources by name.\n"},"outputFile":{"type":"string","description":"File name where to save data source results (after running `pulumi preview`).\n"},"type":{"type":"string","description":"The type of Security Group. Possible values are: \u003cspan pulumi-lang-nodejs=\"`recommendWeb`\" pulumi-lang-dotnet=\"`RecommendWeb`\" pulumi-lang-go=\"`recommendWeb`\" pulumi-lang-python=\"`recommend_web`\" pulumi-lang-yaml=\"`recommendWeb`\" pulumi-lang-java=\"`recommendWeb`\"\u003e`recommend_web`\u003c/span\u003e as the default Web security group that UCloud recommend to users, default opened port include 80, 443, 22, 3389, \u003cspan pulumi-lang-nodejs=\"`recommendNonWeb`\" pulumi-lang-dotnet=\"`RecommendNonWeb`\" pulumi-lang-go=\"`recommendNonWeb`\" pulumi-lang-python=\"`recommend_non_web`\" pulumi-lang-yaml=\"`recommendNonWeb`\" pulumi-lang-java=\"`recommendNonWeb`\"\u003e`recommend_non_web`\u003c/span\u003e as the default non Web security group that UCloud recommend to users, default opened port include 22, 3389, \u003cspan pulumi-lang-nodejs=\"`userDefined`\" pulumi-lang-dotnet=\"`UserDefined`\" pulumi-lang-go=\"`userDefined`\" pulumi-lang-python=\"`user_defined`\" pulumi-lang-yaml=\"`userDefined`\" pulumi-lang-java=\"`userDefined`\"\u003e`user_defined`\u003c/span\u003e as the security groups defined by users. You may refer to [security group](https://docs.ucloud.cn/network/firewall/firewall.html).\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getSecurityGroups.\n","properties":{"id":{"description":"The ID of Security Group.\n","type":"string"},"ids":{"items":{"type":"string"},"type":"array"},"nameRegex":{"type":"string"},"outputFile":{"type":"string"},"securityGroups":{"description":"It is a nested type which documented below.\n","items":{"$ref":"#/types/ucloud:index%2FgetSecurityGroupsSecurityGroup:getSecurityGroupsSecurityGroup"},"type":"array"},"totalCount":{"description":"Total number of Security Group resources that satisfy the condition.\n","type":"number"},"type":{"description":"The type of Security Group.\n","type":"string"}},"required":["id","ids","securityGroups","totalCount"],"type":"object"}},"ucloud:index/getSubnets:getSubnets":{"description":"This data source provides a list of Subnet resources according to their Subnet ID, name and the VPC they belong to.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst example = ucloud.getSubnets({\n    vpcId: \"uvnet-xxx\",\n});\nexport const first = example.then(example =\u003e example.subnets?.[0]?.id);\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nexample = ucloud.get_subnets(vpc_id=\"uvnet-xxx\")\npulumi.export(\"first\", example.subnets[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Ucloud.GetSubnets.Invoke(new()\n    {\n        VpcId = \"uvnet-xxx\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"first\"] = example.Apply(getSubnetsResult =\u003e getSubnetsResult.Subnets[0]?.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ucloud.GetSubnets(ctx, \u0026ucloud.GetSubnetsArgs{\n\t\t\tVpcId: pulumi.StringRef(\"uvnet-xxx\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"first\", example.Subnets[0].Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetSubnetsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = UcloudFunctions.getSubnets(GetSubnetsArgs.builder()\n            .vpcId(\"uvnet-xxx\")\n            .build());\n\n        ctx.export(\"first\", example.subnets()[0].id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: ucloud:getSubnets\n      arguments:\n        vpcId: uvnet-xxx\noutputs:\n  first: ${example.subnets[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSubnets.\n","properties":{"id":{"type":"string","description":"The ID of Subnet.\n"},"ids":{"type":"array","items":{"type":"string"},"description":"A list of Subnet IDs, all the Subnet resources belong to this region will be retrieved if the ID is `[]`.\n"},"nameRegex":{"type":"string","description":"A regex string to filter resulting Subnet resources by name.\n"},"outputFile":{"type":"string","description":"File name where to save data source results (after running `pulumi preview`).\n"},"tag":{"type":"string","description":"A tag assigned to Subnet.\n"},"vpcId":{"type":"string","description":"The id of the VPC that the desired Subnet belongs to.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getSubnets.\n","properties":{"id":{"description":"The ID of Subnet.\n","type":"string"},"ids":{"items":{"type":"string"},"type":"array"},"nameRegex":{"type":"string"},"outputFile":{"type":"string"},"subnets":{"description":"It is a nested type which documented below.\n","items":{"$ref":"#/types/ucloud:index%2FgetSubnetsSubnet:getSubnetsSubnet"},"type":"array"},"tag":{"description":"A tag assigned to Subnet.\n","type":"string"},"totalCount":{"description":"Total number of Subnet resources that satisfy the condition.\n","type":"number"},"vpcId":{"description":"The id of the VPC that the desired Subnet belongs to.\n","type":"string"}},"required":["id","ids","subnets","totalCount"],"type":"object"}},"ucloud:index/getUfsVolumes:getUfsVolumes":{"description":"This data source provides a list of UFS Volume resources according to their UFS Volume ID and ufs volume name.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst example = ucloud.getUfsVolumes({});\nexport const first = example.then(example =\u003e example.ufsVolumes?.[0]?.id);\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nexample = ucloud.get_ufs_volumes()\npulumi.export(\"first\", example.ufs_volumes[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Ucloud.GetUfsVolumes.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"first\"] = example.Apply(getUfsVolumesResult =\u003e getUfsVolumesResult.UfsVolumes[0]?.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ucloud.GetUfsVolumes(ctx, \u0026ucloud.GetUfsVolumesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"first\", example.UfsVolumes[0].Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetUfsVolumesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = UcloudFunctions.getUfsVolumes(GetUfsVolumesArgs.builder()\n            .build());\n\n        ctx.export(\"first\", example.ufsVolumes()[0].id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: ucloud:getUfsVolumes\n      arguments: {}\noutputs:\n  first: ${example.ufsVolumes[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getUfsVolumes.\n","properties":{"id":{"type":"string","description":"The ID of UFS Volume.\n"},"ids":{"type":"array","items":{"type":"string"},"description":"A list of UFS Volume IDs, all the UFS Volumes belong to this region will be retrieved if the ID is `[]`.\n"},"nameRegex":{"type":"string","description":"A regex string to filter resulting UFS Volumes by name.\n"},"outputFile":{"type":"string","description":"File name where to save data source results (after running `pulumi preview`).\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getUfsVolumes.\n","properties":{"id":{"description":"The ID of UFS Volume.\n","type":"string"},"ids":{"items":{"type":"string"},"type":"array"},"nameRegex":{"type":"string"},"outputFile":{"type":"string"},"totalCount":{"description":"Total number of UFS Volumes that satisfy the condition.\n","type":"number"},"ufsVolumes":{"description":"It is a nested type which documented below.\n","items":{"$ref":"#/types/ucloud:index%2FgetUfsVolumesUfsVolume:getUfsVolumesUfsVolume"},"type":"array"}},"required":["id","ids","totalCount","ufsVolumes"],"type":"object"}},"ucloud:index/getUs3Buckets:getUs3Buckets":{"inputs":{"description":"A collection of arguments for invoking getUs3Buckets.\n","properties":{"id":{"type":"string"},"nameRegex":{"type":"string"},"outputFile":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getUs3Buckets.\n","properties":{"id":{"type":"string"},"nameRegex":{"type":"string"},"outputFile":{"type":"string"},"totalCount":{"type":"number"},"us3Buckets":{"items":{"$ref":"#/types/ucloud:index%2FgetUs3BucketsUs3Bucket:getUs3BucketsUs3Bucket"},"type":"array"}},"required":["id","totalCount","us3Buckets"],"type":"object"}},"ucloud:index/getVpcs:getVpcs":{"description":"This data source provides a list of VPC resources according to their VPC ID, name.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst example = ucloud.getVpcs({});\nexport const first = example.then(example =\u003e example.vpcs?.[0]?.id);\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nexample = ucloud.get_vpcs()\npulumi.export(\"first\", example.vpcs[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Ucloud.GetVpcs.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"first\"] = example.Apply(getVpcsResult =\u003e getVpcsResult.Vpcs[0]?.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ucloud.GetVpcs(ctx, \u0026ucloud.GetVpcsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"first\", example.Vpcs[0].Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetVpcsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = UcloudFunctions.getVpcs(GetVpcsArgs.builder()\n            .build());\n\n        ctx.export(\"first\", example.vpcs()[0].id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: ucloud:getVpcs\n      arguments: {}\noutputs:\n  first: ${example.vpcs[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getVpcs.\n","properties":{"id":{"type":"string","description":"The ID of VPC.\n"},"ids":{"type":"array","items":{"type":"string"},"description":"A list of VPC IDs, all the VPC resources belong to this region will be retrieved if the ID is `[]`.\n"},"nameRegex":{"type":"string","description":"A regex string to filter resulting VPC resources by name.\n"},"outputFile":{"type":"string","description":"File name where to save data source results (after running `pulumi preview`).\n"},"tag":{"type":"string","description":"A tag assigned to VPC.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getVpcs.\n","properties":{"id":{"description":"The ID of VPC.\n","type":"string"},"ids":{"items":{"type":"string"},"type":"array"},"nameRegex":{"type":"string"},"outputFile":{"type":"string"},"tag":{"description":"A tag assigned to VPC.\n","type":"string"},"totalCount":{"description":"Total number of VPC resources that satisfy the condition.\n","type":"number"},"vpcs":{"description":"It is a nested type which documented below.\n","items":{"$ref":"#/types/ucloud:index%2FgetVpcsVpc:getVpcsVpc"},"type":"array"}},"required":["id","ids","totalCount","vpcs"],"type":"object"}},"ucloud:index/getVpnConnections:getVpnConnections":{"description":"This data source providers a list of VPN Connection resources according to their ID, name and tag.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst example = ucloud.getVpnConnections({});\nexport const first = example.then(example =\u003e example.vpnConnections?.[0]?.id);\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nexample = ucloud.get_vpn_connections()\npulumi.export(\"first\", example.vpn_connections[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Ucloud.GetVpnConnections.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"first\"] = example.Apply(getVpnConnectionsResult =\u003e getVpnConnectionsResult.VpnConnections[0]?.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ucloud.GetVpnConnections(ctx, \u0026ucloud.GetVpnConnectionsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"first\", example.VpnConnections[0].Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetVpnConnectionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = UcloudFunctions.getVpnConnections(GetVpnConnectionsArgs.builder()\n            .build());\n\n        ctx.export(\"first\", example.vpnConnections()[0].id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: ucloud:getVpnConnections\n      arguments: {}\noutputs:\n  first: ${example.vpnConnections[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getVpnConnections.\n","properties":{"id":{"type":"string","description":"The ID of VPN Connection.\n"},"ids":{"type":"array","items":{"type":"string"},"description":"A list of VPN Connection IDs, all the VPN Connections belongs to the defined region will be retrieved if this argument is `[]`.\n"},"nameRegex":{"type":"string","description":"A regex string to filter resulting VPN Connections by name.\n"},"outputFile":{"type":"string","description":"File name where to save data source results (after running `pulumi preview`).\n"},"tag":{"type":"string","description":"A tag assigned to VPN Connection.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getVpnConnections.\n","properties":{"id":{"description":"The ID of VPN Connection.\n","type":"string"},"ids":{"items":{"type":"string"},"type":"array"},"nameRegex":{"type":"string"},"outputFile":{"type":"string"},"tag":{"description":"A tag assigned to the VPN Connection.\n","type":"string"},"totalCount":{"description":"Total number of VPN Connections that satisfy the condition.\n","type":"number"},"vpnConnections":{"description":"It is a nested type. VPN Connections documented below.\n","items":{"$ref":"#/types/ucloud:index%2FgetVpnConnectionsVpnConnection:getVpnConnectionsVpnConnection"},"type":"array"}},"required":["id","ids","totalCount","vpnConnections"],"type":"object"}},"ucloud:index/getVpnCustomerGateways:getVpnCustomerGateways":{"description":"This data source providers a list of VPN Customer Gateway resources according to their ID, name and tag.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst example = ucloud.getVpnCustomerGateways({});\nexport const first = example.then(example =\u003e example.vpnCustomerGateways?.[0]?.id);\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nexample = ucloud.get_vpn_customer_gateways()\npulumi.export(\"first\", example.vpn_customer_gateways[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Ucloud.GetVpnCustomerGateways.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"first\"] = example.Apply(getVpnCustomerGatewaysResult =\u003e getVpnCustomerGatewaysResult.VpnCustomerGateways[0]?.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ucloud.GetVpnCustomerGateways(ctx, \u0026ucloud.GetVpnCustomerGatewaysArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"first\", example.VpnCustomerGateways[0].Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetVpnCustomerGatewaysArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = UcloudFunctions.getVpnCustomerGateways(GetVpnCustomerGatewaysArgs.builder()\n            .build());\n\n        ctx.export(\"first\", example.vpnCustomerGateways()[0].id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: ucloud:getVpnCustomerGateways\n      arguments: {}\noutputs:\n  first: ${example.vpnCustomerGateways[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getVpnCustomerGateways.\n","properties":{"id":{"type":"string","description":"The ID of VPN Customer Gateway.\n"},"ids":{"type":"array","items":{"type":"string"},"description":"A list of VPN Customer Gateway IDs, all the VPN Customer Gateways belongs to the defined region will be retrieved if this argument is `[]`.\n"},"nameRegex":{"type":"string","description":"A regex string to filter resulting VPN Customer Gateways by name.\n"},"outputFile":{"type":"string","description":"File name where to save data source results (after running `pulumi preview`).\n"},"tag":{"type":"string","description":"A tag assigned to VPN Customer Gateway.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getVpnCustomerGateways.\n","properties":{"id":{"description":"The ID of VPN Customer Gateway.\n","type":"string"},"ids":{"items":{"type":"string"},"type":"array"},"nameRegex":{"type":"string"},"outputFile":{"type":"string"},"tag":{"description":"A tag assigned to the VPN Customer Gateway.\n","type":"string"},"totalCount":{"description":"Total number of VPN Customer Gateways that satisfy the condition.\n","type":"number"},"vpnCustomerGateways":{"description":"It is a nested type. VPN Customer Gateways documented below.\n","items":{"$ref":"#/types/ucloud:index%2FgetVpnCustomerGatewaysVpnCustomerGateway:getVpnCustomerGatewaysVpnCustomerGateway"},"type":"array"}},"required":["id","ids","totalCount","vpnCustomerGateways"],"type":"object"}},"ucloud:index/getVpnGateways:getVpnGateways":{"description":"This data source providers a list of VPN Gateway resources according to their ID, name, vpc and tag.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst example = ucloud.getVpnGateways({});\nexport const first = example.then(example =\u003e example.vpnGateways?.[0]?.id);\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nexample = ucloud.get_vpn_gateways()\npulumi.export(\"first\", example.vpn_gateways[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Ucloud.GetVpnGateways.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"first\"] = example.Apply(getVpnGatewaysResult =\u003e getVpnGatewaysResult.VpnGateways[0]?.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ucloud.GetVpnGateways(ctx, \u0026ucloud.GetVpnGatewaysArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"first\", example.VpnGateways[0].Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetVpnGatewaysArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = UcloudFunctions.getVpnGateways(GetVpnGatewaysArgs.builder()\n            .build());\n\n        ctx.export(\"first\", example.vpnGateways()[0].id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: ucloud:getVpnGateways\n      arguments: {}\noutputs:\n  first: ${example.vpnGateways[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getVpnGateways.\n","properties":{"id":{"type":"string","description":"The ID of VPN Gateway.\n"},"ids":{"type":"array","items":{"type":"string"},"description":"A list of VPN Gateway IDs, all the VPN Gateways belongs to the defined region will be retrieved if this argument is `[]`.\n"},"nameRegex":{"type":"string","description":"A regex string to filter resulting VPN Gateways by name.\n"},"outputFile":{"type":"string","description":"File name where to save data source results (after running `pulumi preview`).\n"},"tag":{"type":"string","description":"A tag assigned to VPN Gateway.\n"},"vpcId":{"type":"string","description":"The ID of VPC linked to the VPN Gateway.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getVpnGateways.\n","properties":{"id":{"description":"The ID of VPN Gateway.\n","type":"string"},"ids":{"items":{"type":"string"},"type":"array"},"nameRegex":{"type":"string"},"outputFile":{"type":"string"},"tag":{"description":"A tag assigned to the VPN Gateway.\n","type":"string"},"totalCount":{"description":"Total number of VPN Gateways that satisfy the condition.\n","type":"number"},"vpcId":{"description":"The ID of VPC linked to the VPN Gateway.\n","type":"string"},"vpnGateways":{"description":"It is a nested type. VPN Gateways documented below.\n","items":{"$ref":"#/types/ucloud:index%2FgetVpnGatewaysVpnGateway:getVpnGatewaysVpnGateway"},"type":"array"}},"required":["id","ids","totalCount","vpnGateways"],"type":"object"}},"ucloud:index/getZones:getZones":{"description":"This data source provides a list of available zones in the current region.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as ucloud from \"@pulumi/ucloud\";\n\nconst example = ucloud.getZones({});\nexport const first = example.then(example =\u003e example.zones?.[0]?.id);\n```\n```python\nimport pulumi\nimport pulumi_ucloud as ucloud\n\nexample = ucloud.get_zones()\npulumi.export(\"first\", example.zones[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Ucloud = Pulumi.Ucloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Ucloud.GetZones.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"first\"] = example.Apply(getZonesResult =\u003e getZonesResult.Zones[0]?.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/ucloud/ucloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ucloud.GetZones(ctx, \u0026ucloud.GetZonesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"first\", example.Zones[0].Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.ucloud.UcloudFunctions;\nimport com.pulumi.ucloud.inputs.GetZonesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = UcloudFunctions.getZones(GetZonesArgs.builder()\n            .build());\n\n        ctx.export(\"first\", example.zones()[0].id());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: ucloud:getZones\n      arguments: {}\noutputs:\n  first: ${example.zones[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getZones.\n","properties":{"id":{"type":"string","description":"The ID of availability zone.\n"},"outputFile":{"type":"string","description":"File name where to save data source results (after running `pulumi preview`).\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getZones.\n","properties":{"id":{"description":"The ID of availability zone.\n","type":"string"},"outputFile":{"type":"string"},"totalCount":{"description":"Total number of zones that satisfy the condition.\n","type":"number"},"zones":{"description":"It is a nested type which documented below.\n","items":{"$ref":"#/types/ucloud:index%2FgetZonesZone:getZonesZone"},"type":"array"}},"required":["id","totalCount","zones"],"type":"object"}}},"parameterization":{"baseProvider":{"name":"terraform-provider","version":"1.0.1"},"parameter":"eyJyZW1vdGUiOnsidXJsIjoicmVnaXN0cnkub3BlbnRvZnUub3JnL3VjbG91ZC91Y2xvdWQiLCJ2ZXJzaW9uIjoiMS4zOS4yIn19"}}