diff --git a/.goreleaser.yml b/.goreleaser.yml index 799234540..7ffa4cacf 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -19,6 +19,7 @@ builds: ldflags: # The line below MUST align with the module in current provider/go.mod - -X github.com/tencentcloudstack/pulumi-tencentcloud/provider/pkg/version.Version={{.Tag }} + - -X github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/connectivity.ReqClient=Pulumi-{{.Tag }} main: ./cmd/pulumi-resource-tencentcloud/ changelog: skip: true diff --git a/Makefile b/Makefile index b41f3387c..1c8162a96 100644 --- a/Makefile +++ b/Makefile @@ -17,7 +17,7 @@ TESTPARALLELISM := 4 WORKING_DIR := $(shell pwd) -REQ_CLIENT_LDFLAG := github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/connectivity.ReqClient=pulumi-${VERSION} +REQ_CLIENT_LDFLAG := github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/connectivity.ReqClient=Pulumi-${VERSION} OS := $(shell uname) EMPTY_TO_AVOID_SED := "" diff --git a/provider/cmd/pulumi-resource-tencentcloud/schema.json b/provider/cmd/pulumi-resource-tencentcloud/schema.json index 67da20e70..c7e299dc9 100644 --- a/provider/cmd/pulumi-resource-tencentcloud/schema.json +++ b/provider/cmd/pulumi-resource-tencentcloud/schema.json @@ -24880,6 +24880,10 @@ "type": "integer", "description": "search start time of offset.\n" }, + "syntaxRule": { + "type": "integer", + "description": "Retrieve grammar rules, 0: Lucene syntax, 1: CQL syntax, Default value is 0.\n" + }, "topicId": { "type": "string", "description": "topic id.\n" @@ -24893,7 +24897,20 @@ "query", "startTimeOffset", "topicId" - ] + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "endTimeOffset", + "logsetId", + "number", + "query", + "startTimeOffset", + "syntaxRule", + "topicId" + ] + } + } }, "tencentcloud:Cls/AlarmAnalysis:AlarmAnalysis": { "properties": { @@ -53565,7 +53582,7 @@ }, "imgId": { "type": "string", - "description": "The valid image id, format of img-xxx.\n" + "description": "The valid image id, format of img-xxx. Note: `img_id` will be replaced with the image corresponding to TKE `cluster_os`.\n" }, "instanceChargeType": { "type": "string", @@ -53642,7 +53659,7 @@ }, "userData": { "type": "string", - "description": "User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB.\n", + "description": "ase64-encoded User Data text, the length limit is 16KB.\n", "willReplaceOnChanges": true } }, @@ -53825,7 +53842,7 @@ }, "imgId": { "type": "string", - "description": "The valid image id, format of img-xxx.\n" + "description": "The valid image id, format of img-xxx. Note: `img_id` will be replaced with the image corresponding to TKE `cluster_os`.\n" }, "instanceChargeType": { "type": "string", @@ -53902,7 +53919,7 @@ }, "userData": { "type": "string", - "description": "User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB.\n", + "description": "ase64-encoded User Data text, the length limit is 16KB.\n", "willReplaceOnChanges": true } }, @@ -54018,6 +54035,398 @@ }, "type": "object" }, + "tencentcloud:Kubernetes/NativeNodePoolAnnotation:NativeNodePoolAnnotation": { + "properties": { + "name": { + "type": "string", + "description": "Name in the map table.\n" + }, + "value": { + "type": "string", + "description": "Value in the map table.\n" + } + }, + "type": "object", + "required": [ + "name", + "value" + ] + }, + "tencentcloud:Kubernetes/NativeNodePoolLabel:NativeNodePoolLabel": { + "properties": { + "name": { + "type": "string", + "description": "Name in the map table.\n" + }, + "value": { + "type": "string", + "description": "Value in map table.\n" + } + }, + "type": "object", + "required": [ + "name", + "value" + ] + }, + "tencentcloud:Kubernetes/NativeNodePoolNative:NativeNodePoolNative": { + "properties": { + "autoRepair": { + "type": "boolean", + "description": "Whether to enable self-healing ability.\n" + }, + "dataDisks": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/NativeNodePoolNativeDataDisk:NativeNodePoolNativeDataDisk" + }, + "description": "Native node pool data disk list.\n" + }, + "enableAutoscaling": { + "type": "boolean", + "description": "Whether to enable elastic scaling.\n" + }, + "healthCheckPolicyName": { + "type": "string", + "description": "Fault self-healing rule name.\n" + }, + "hostNamePattern": { + "type": "string", + "description": "Native node pool hostName pattern string.\n" + }, + "instanceChargePrepaid": { + "$ref": "#/types/tencentcloud:Kubernetes/NativeNodePoolNativeInstanceChargePrepaid:NativeNodePoolNativeInstanceChargePrepaid", + "description": "Billing configuration for yearly and monthly models.\n", + "willReplaceOnChanges": true + }, + "instanceChargeType": { + "type": "string", + "description": "Node billing type. `PREPAID` is a yearly and monthly subscription, `POSTPAID_BY_HOUR` is a pay-as-you-go plan. The default is `POSTPAID_BY_HOUR`.\n", + "willReplaceOnChanges": true + }, + "instanceTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Model list.\n" + }, + "internetAccessible": { + "$ref": "#/types/tencentcloud:Kubernetes/NativeNodePoolNativeInternetAccessible:NativeNodePoolNativeInternetAccessible", + "description": "Public network bandwidth settings.\n", + "willReplaceOnChanges": true + }, + "keyIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Node pool ssh public key id array.\n" + }, + "kubeletArgs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Kubelet custom parameters.\n" + }, + "lifecycle": { + "$ref": "#/types/tencentcloud:Kubernetes/NativeNodePoolNativeLifecycle:NativeNodePoolNativeLifecycle", + "description": "Predefined scripts.\n" + }, + "management": { + "$ref": "#/types/tencentcloud:Kubernetes/NativeNodePoolNativeManagement:NativeNodePoolNativeManagement", + "description": "Node pool management parameter settings.\n" + }, + "replicas": { + "type": "integer", + "description": "Desired number of nodes.\n" + }, + "runtimeRootDir": { + "type": "string", + "description": "Runtime root directory.\n", + "willReplaceOnChanges": true + }, + "scaling": { + "$ref": "#/types/tencentcloud:Kubernetes/NativeNodePoolNativeScaling:NativeNodePoolNativeScaling", + "description": "Node pool scaling configuration.\n" + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Security group list.\n" + }, + "subnetIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Subnet list.\n" + }, + "systemDisk": { + "$ref": "#/types/tencentcloud:Kubernetes/NativeNodePoolNativeSystemDisk:NativeNodePoolNativeSystemDisk", + "description": "System disk configuration.\n", + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "instanceChargeType", + "instanceTypes", + "securityGroupIds", + "subnetIds", + "systemDisk" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "instanceChargePrepaid", + "instanceChargeType", + "instanceTypes", + "internetAccessible", + "lifecycle", + "management", + "replicas", + "runtimeRootDir", + "scaling", + "securityGroupIds", + "subnetIds", + "systemDisk" + ] + } + } + }, + "tencentcloud:Kubernetes/NativeNodePoolNativeDataDisk:NativeNodePoolNativeDataDisk": { + "properties": { + "autoFormatAndMount": { + "type": "boolean", + "description": "Whether to automatically format the disk and mount it.\n" + }, + "diskPartition": { + "type": "string", + "description": "Mount device name or partition name.\n" + }, + "diskSize": { + "type": "integer", + "description": "Cloud disk size (G).\n" + }, + "diskType": { + "type": "string", + "description": "Cloud disk type. Valid values: `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_SSD`: cloud SSD disk, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD, `LOCAL_NVME`: local NVME disk.\n" + }, + "encrypt": { + "type": "string", + "description": "Pass in this parameter to create an encrypted cloud disk. The value is fixed to `ENCRYPT`.\n" + }, + "fileSystem": { + "type": "string", + "description": "File system (ext3/ext4/xfs).\n" + }, + "kmsKeyId": { + "type": "string", + "description": "Customize the key when purchasing an encrypted disk. When this parameter is passed in, the Encrypt parameter is not empty.\n" + }, + "mountTarget": { + "type": "string", + "description": "Mount directory.\n" + }, + "snapshotId": { + "type": "string", + "description": "Snapshot ID. If passed in, the cloud disk will be created based on this snapshot. The snapshot type must be a data disk snapshot.\n" + }, + "throughputPerformance": { + "type": "integer", + "description": "Cloud disk performance, unit: MB/s. Use this parameter to purchase additional performance for the cloud disk.\n" + } + }, + "type": "object", + "required": [ + "autoFormatAndMount", + "diskSize", + "diskType" + ] + }, + "tencentcloud:Kubernetes/NativeNodePoolNativeInstanceChargePrepaid:NativeNodePoolNativeInstanceChargePrepaid": { + "properties": { + "period": { + "type": "integer", + "description": "Postpaid billing cycle, unit (month): 1, 2, 3, 4, 5,, 6, 7, 8, 9, 10, 11, 12, 24, 36, 48, 60.\n", + "willReplaceOnChanges": true + }, + "renewFlag": { + "type": "string", + "description": "Prepaid renewal method:\n", + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "period" + ] + }, + "tencentcloud:Kubernetes/NativeNodePoolNativeInternetAccessible:NativeNodePoolNativeInternetAccessible": { + "properties": { + "bandwidthPackageId": { + "type": "string", + "description": "Bandwidth package ID. Note: When ChargeType is BANDWIDTH_PACKAG, the value cannot be empty; otherwise, the value must be empty.\n", + "willReplaceOnChanges": true + }, + "chargeType": { + "type": "string", + "description": "Network billing method. Optional value is `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`.\n", + "willReplaceOnChanges": true + }, + "maxBandwidthOut": { + "type": "integer", + "description": "Maximum bandwidth output. Note: When chargeType is `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_POSTPAID_BY_HOUR`, the valid range is 1~100. When chargeType is `BANDWIDTH_PACKAG`, the valid range is 1~2000.\n", + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "chargeType", + "maxBandwidthOut" + ] + }, + "tencentcloud:Kubernetes/NativeNodePoolNativeLifecycle:NativeNodePoolNativeLifecycle": { + "properties": { + "postInit": { + "type": "string", + "description": "Custom script after node initialization.\n" + }, + "preInit": { + "type": "string", + "description": "Custom script before node initialization.\n" + } + }, + "type": "object" + }, + "tencentcloud:Kubernetes/NativeNodePoolNativeManagement:NativeNodePoolNativeManagement": { + "properties": { + "hosts": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Hosts configuration.\n" + }, + "kernelArgs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Kernel parameter configuration.\n" + }, + "nameservers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Dns configuration.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "nameservers" + ] + } + } + }, + "tencentcloud:Kubernetes/NativeNodePoolNativeScaling:NativeNodePoolNativeScaling": { + "properties": { + "createPolicy": { + "type": "string", + "description": "Node pool expansion strategy. `ZoneEquality`: multiple availability zones are broken up; `ZonePriority`: the preferred availability zone takes precedence.\n" + }, + "maxReplicas": { + "type": "integer", + "description": "Maximum number of replicas in node pool.\n" + }, + "minReplicas": { + "type": "integer", + "description": "Minimum number of replicas in node pool.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "createPolicy", + "maxReplicas", + "minReplicas" + ] + } + } + }, + "tencentcloud:Kubernetes/NativeNodePoolNativeSystemDisk:NativeNodePoolNativeSystemDisk": { + "properties": { + "diskSize": { + "type": "integer", + "description": "Cloud disk size (G).\n", + "willReplaceOnChanges": true + }, + "diskType": { + "type": "string", + "description": "Cloud disk type. Valid values: `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_SSD`: cloud SSD disk, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD.\n", + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "diskSize", + "diskType" + ] + }, + "tencentcloud:Kubernetes/NativeNodePoolTag:NativeNodePoolTag": { + "properties": { + "resourceType": { + "type": "string", + "description": "The resource type bound to the label.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/NativeNodePoolTagTag:NativeNodePoolTagTag" + }, + "description": "Tag pair list.\n" + } + }, + "type": "object" + }, + "tencentcloud:Kubernetes/NativeNodePoolTagTag:NativeNodePoolTagTag": { + "properties": { + "key": { + "type": "string", + "description": "Tag Key.\n" + }, + "value": { + "type": "string", + "description": "Tag Value.\n" + } + }, + "type": "object" + }, + "tencentcloud:Kubernetes/NativeNodePoolTaint:NativeNodePoolTaint": { + "properties": { + "effect": { + "type": "string", + "description": "Effect of the taint.\n" + }, + "key": { + "type": "string", + "description": "Key of the taint.\n" + }, + "value": { + "type": "string", + "description": "Value of the taint.\n" + } + }, + "type": "object" + }, "tencentcloud:Kubernetes/NodePoolAutoScalingConfig:NodePoolAutoScalingConfig": { "properties": { "backupInstanceTypes": { @@ -55294,6 +55703,597 @@ } } }, + "tencentcloud:Kubernetes/getClusterNativeNodePoolsFilter:getClusterNativeNodePoolsFilter": { + "properties": { + "name": { + "type": "string", + "description": "The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Attribute values, if there are multiple values in the same filter, the relationship between values under the same filter is a logical OR relationship.\n" + } + }, + "type": "object", + "required": [ + "name", + "values" + ] + }, + "tencentcloud:Kubernetes/getClusterNativeNodePoolsNodePool:getClusterNativeNodePoolsNodePool": { + "properties": { + "annotations": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/getClusterNativeNodePoolsNodePoolAnnotation:getClusterNativeNodePoolsNodePoolAnnotation" + }, + "description": "Node Annotation List.\n" + }, + "clusterId": { + "type": "string", + "description": "ID of the cluster.\n" + }, + "createdAt": { + "type": "string", + "description": "Creation time.\n" + }, + "deletionProtection": { + "type": "boolean", + "description": "Whether to enable deletion protection.\n" + }, + "labels": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/getClusterNativeNodePoolsNodePoolLabel:getClusterNativeNodePoolsNodePoolLabel" + }, + "description": "Node Labels.\n" + }, + "lifeState": { + "type": "string", + "description": "Node pool status.\n" + }, + "name": { + "type": "string", + "description": "The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship.\n" + }, + "natives": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/getClusterNativeNodePoolsNodePoolNative:getClusterNativeNodePoolsNodePoolNative" + }, + "description": "Native node pool creation parameters.\n" + }, + "nodePoolId": { + "type": "string", + "description": "ID of the node pool.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/getClusterNativeNodePoolsNodePoolTag:getClusterNativeNodePoolsNodePoolTag" + }, + "description": "Tag pair list.\n" + }, + "taints": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/getClusterNativeNodePoolsNodePoolTaint:getClusterNativeNodePoolsNodePoolTaint" + }, + "description": "node taint.\n" + }, + "type": { + "type": "string", + "description": "Node pool type. Optional value is `Native`.\n" + }, + "unschedulable": { + "type": "boolean", + "description": "Whether the node is not schedulable by default.\n" + } + }, + "type": "object", + "required": [ + "annotations", + "clusterId", + "createdAt", + "deletionProtection", + "labels", + "lifeState", + "name", + "natives", + "nodePoolId", + "tags", + "taints", + "type", + "unschedulable" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Kubernetes/getClusterNativeNodePoolsNodePoolAnnotation:getClusterNativeNodePoolsNodePoolAnnotation": { + "properties": { + "name": { + "type": "string", + "description": "The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship.\n" + }, + "value": { + "type": "string", + "description": "Value of the taint.\n" + } + }, + "type": "object", + "required": [ + "name", + "value" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Kubernetes/getClusterNativeNodePoolsNodePoolLabel:getClusterNativeNodePoolsNodePoolLabel": { + "properties": { + "name": { + "type": "string", + "description": "The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship.\n" + }, + "value": { + "type": "string", + "description": "Value of the taint.\n" + } + }, + "type": "object", + "required": [ + "name", + "value" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Kubernetes/getClusterNativeNodePoolsNodePoolNative:getClusterNativeNodePoolsNodePoolNative": { + "properties": { + "autoRepair": { + "type": "boolean", + "description": "Whether to enable self-healing ability.\n" + }, + "dataDisks": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/getClusterNativeNodePoolsNodePoolNativeDataDisk:getClusterNativeNodePoolsNodePoolNativeDataDisk" + }, + "description": "Native node pool data disk list.\n" + }, + "enableAutoscaling": { + "type": "boolean", + "description": "Whether to enable elastic scaling.\n" + }, + "healthCheckPolicyName": { + "type": "string", + "description": "Fault self-healing rule name.\n" + }, + "hostNamePattern": { + "type": "string", + "description": "Native node pool hostName pattern string.\n" + }, + "instanceChargePrepaids": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/getClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaid:getClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaid" + }, + "description": "Billing configuration for yearly and monthly models.\n" + }, + "instanceChargeType": { + "type": "string", + "description": "Node billing type. `PREPAID` is a yearly and monthly subscription, `POSTPAID_BY_HOUR` is a pay-as-you-go plan. The default is `POSTPAID_BY_HOUR`.\n" + }, + "instanceTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Model list.\n" + }, + "internetAccessibles": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/getClusterNativeNodePoolsNodePoolNativeInternetAccessible:getClusterNativeNodePoolsNodePoolNativeInternetAccessible" + }, + "description": "Public network bandwidth settings.\n" + }, + "keyIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Node pool ssh public key id array.\n" + }, + "kubeletArgs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Kubelet custom parameters.\n" + }, + "lifecycles": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/getClusterNativeNodePoolsNodePoolNativeLifecycle:getClusterNativeNodePoolsNodePoolNativeLifecycle" + }, + "description": "Predefined scripts.\n" + }, + "managements": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/getClusterNativeNodePoolsNodePoolNativeManagement:getClusterNativeNodePoolsNodePoolNativeManagement" + }, + "description": "Node pool management parameter settings.\n" + }, + "replicas": { + "type": "integer", + "description": "Desired number of nodes.\n" + }, + "runtimeRootDir": { + "type": "string", + "description": "Runtime root directory.\n" + }, + "scalings": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/getClusterNativeNodePoolsNodePoolNativeScaling:getClusterNativeNodePoolsNodePoolNativeScaling" + }, + "description": "Node pool scaling configuration.\n" + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Security group list.\n" + }, + "subnetIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Subnet list.\n" + }, + "systemDisks": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/getClusterNativeNodePoolsNodePoolNativeSystemDisk:getClusterNativeNodePoolsNodePoolNativeSystemDisk" + }, + "description": "System disk configuration.\n" + } + }, + "type": "object", + "required": [ + "autoRepair", + "dataDisks", + "enableAutoscaling", + "healthCheckPolicyName", + "hostNamePattern", + "instanceChargePrepaids", + "instanceChargeType", + "instanceTypes", + "internetAccessibles", + "keyIds", + "kubeletArgs", + "lifecycles", + "managements", + "replicas", + "runtimeRootDir", + "scalings", + "securityGroupIds", + "subnetIds", + "systemDisks" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Kubernetes/getClusterNativeNodePoolsNodePoolNativeDataDisk:getClusterNativeNodePoolsNodePoolNativeDataDisk": { + "properties": { + "autoFormatAndMount": { + "type": "boolean", + "description": "Whether to automatically format the disk and mount it.\n" + }, + "diskPartition": { + "type": "string", + "description": "Mount device name or partition name.\n" + }, + "diskSize": { + "type": "integer", + "description": "Cloud disk size (G).\n" + }, + "diskType": { + "type": "string", + "description": "Cloud disk type.\n" + }, + "encrypt": { + "type": "string", + "description": "Pass in this parameter to create an encrypted cloud disk. The value is fixed to `ENCRYPT`.\n" + }, + "fileSystem": { + "type": "string", + "description": "File system (ext3/ext4/xfs).\n" + }, + "kmsKeyId": { + "type": "string", + "description": "Customize the key when purchasing an encrypted disk. When this parameter is passed in, the Encrypt parameter is not empty.\n" + }, + "mountTarget": { + "type": "string", + "description": "Mount directory.\n" + }, + "snapshotId": { + "type": "string", + "description": "Snapshot ID. If passed in, the cloud disk will be created based on this snapshot. The snapshot type must be a data disk snapshot.\n" + }, + "throughputPerformance": { + "type": "integer", + "description": "Cloud disk performance, unit: MB/s. Use this parameter to purchase additional performance for the cloud disk.\n" + } + }, + "type": "object", + "required": [ + "autoFormatAndMount", + "diskPartition", + "diskSize", + "diskType", + "encrypt", + "fileSystem", + "kmsKeyId", + "mountTarget", + "snapshotId", + "throughputPerformance" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Kubernetes/getClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaid:getClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaid": { + "properties": { + "period": { + "type": "integer", + "description": "Postpaid billing cycle, unit (month): 1, 2, 3, 4, 5,, 6, 7, 8, 9, 10, 11, 12, 24, 36, 48, 60.\n" + }, + "renewFlag": { + "type": "string", + "description": "Prepaid renewal method:\n" + } + }, + "type": "object", + "required": [ + "period", + "renewFlag" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Kubernetes/getClusterNativeNodePoolsNodePoolNativeInternetAccessible:getClusterNativeNodePoolsNodePoolNativeInternetAccessible": { + "properties": { + "bandwidthPackageId": { + "type": "string", + "description": "Bandwidth package ID. Note: When ChargeType is BANDWIDTH_PACKAG, the value cannot be empty; otherwise, the value must be empty.\n" + }, + "chargeType": { + "type": "string", + "description": "Network billing method. Optional value is `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`.\n" + }, + "maxBandwidthOut": { + "type": "integer", + "description": "Maximum bandwidth output. Note: When chargeType is `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_POSTPAID_BY_HOUR`, the valid range is 1~100. When chargeType is `BANDWIDTH_PACKAG`, the valid range is 1~2000.\n" + } + }, + "type": "object", + "required": [ + "bandwidthPackageId", + "chargeType", + "maxBandwidthOut" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Kubernetes/getClusterNativeNodePoolsNodePoolNativeLifecycle:getClusterNativeNodePoolsNodePoolNativeLifecycle": { + "properties": { + "postInit": { + "type": "string", + "description": "Custom script after node initialization.\n" + }, + "preInit": { + "type": "string", + "description": "Custom script before node initialization.\n" + } + }, + "type": "object", + "required": [ + "postInit", + "preInit" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Kubernetes/getClusterNativeNodePoolsNodePoolNativeManagement:getClusterNativeNodePoolsNodePoolNativeManagement": { + "properties": { + "hosts": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Hosts configuration.\n" + }, + "kernelArgs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Kernel parameter configuration.\n" + }, + "nameservers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Dns configuration.\n" + } + }, + "type": "object", + "required": [ + "hosts", + "kernelArgs", + "nameservers" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Kubernetes/getClusterNativeNodePoolsNodePoolNativeScaling:getClusterNativeNodePoolsNodePoolNativeScaling": { + "properties": { + "createPolicy": { + "type": "string", + "description": "Node pool expansion strategy. `ZoneEquality`: multiple availability zones are broken up; `ZonePriority`: the preferred availability zone takes precedence.\n" + }, + "maxReplicas": { + "type": "integer", + "description": "Maximum number of replicas in node pool.\n" + }, + "minReplicas": { + "type": "integer", + "description": "Minimum number of replicas in node pool.\n" + } + }, + "type": "object", + "required": [ + "createPolicy", + "maxReplicas", + "minReplicas" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Kubernetes/getClusterNativeNodePoolsNodePoolNativeSystemDisk:getClusterNativeNodePoolsNodePoolNativeSystemDisk": { + "properties": { + "diskSize": { + "type": "integer", + "description": "Cloud disk size (G).\n" + }, + "diskType": { + "type": "string", + "description": "Cloud disk type.\n" + } + }, + "type": "object", + "required": [ + "diskSize", + "diskType" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Kubernetes/getClusterNativeNodePoolsNodePoolTag:getClusterNativeNodePoolsNodePoolTag": { + "properties": { + "resourceType": { + "type": "string", + "description": "The resource type bound to the label.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/getClusterNativeNodePoolsNodePoolTagTag:getClusterNativeNodePoolsNodePoolTagTag" + }, + "description": "Tag pair list.\n" + } + }, + "type": "object", + "required": [ + "resourceType", + "tags" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Kubernetes/getClusterNativeNodePoolsNodePoolTagTag:getClusterNativeNodePoolsNodePoolTagTag": { + "properties": { + "key": { + "type": "string", + "description": "Key of the taint.\n" + }, + "value": { + "type": "string", + "description": "Value of the taint.\n" + } + }, + "type": "object", + "required": [ + "key", + "value" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "tencentcloud:Kubernetes/getClusterNativeNodePoolsNodePoolTaint:getClusterNativeNodePoolsNodePoolTaint": { + "properties": { + "effect": { + "type": "string", + "description": "Effect of the taint.\n" + }, + "key": { + "type": "string", + "description": "Key of the taint.\n" + }, + "value": { + "type": "string", + "description": "Value of the taint.\n" + } + }, + "type": "object", + "required": [ + "effect", + "key", + "value" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "tencentcloud:Kubernetes/getClusterNodePoolsFilter:getClusterNodePoolsFilter": { "properties": { "name": { @@ -59111,6 +60111,47 @@ } } }, + "tencentcloud:Mongodb/InstanceTransparentDataEncryptionKeyInfoList:InstanceTransparentDataEncryptionKeyInfoList": { + "properties": { + "createTime": { + "type": "string", + "description": "Instance and key binding time.\n" + }, + "keyId": { + "type": "string", + "description": "Master Key ID.\n" + }, + "keyName": { + "type": "string", + "description": "Master key name.\n" + }, + "keyOrigin": { + "type": "string", + "description": "Key origin.\n" + }, + "keyUsage": { + "type": "string", + "description": "Purpose of the key.\n" + }, + "status": { + "type": "string", + "description": "Key status.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "createTime", + "keyId", + "keyName", + "keyOrigin", + "keyUsage", + "status" + ] + } + } + }, "tencentcloud:Mongodb/getInstanceBackupsBackupList:getInstanceBackupsBackupList": { "properties": { "backupDesc": { @@ -99312,6 +100353,211 @@ } } }, + "tencentcloud:Teo/RealtimeLogDeliveryCls:RealtimeLogDeliveryCls": { + "properties": { + "logSetId": { + "type": "string", + "description": "Tencent Cloud CLS log set ID.\n" + }, + "logSetRegion": { + "type": "string", + "description": "The region where the Tencent Cloud CLS log set is located.\n" + }, + "topicId": { + "type": "string", + "description": "Tencent Cloud CLS log topic ID.\n" + } + }, + "type": "object", + "required": [ + "logSetId", + "logSetRegion", + "topicId" + ] + }, + "tencentcloud:Teo/RealtimeLogDeliveryCustomEndpoint:RealtimeLogDeliveryCustomEndpoint": { + "properties": { + "accessId": { + "type": "string", + "description": "Fill in a custom SecretId to generate an encrypted signature. This parameter is required if the source site requires authentication.\n" + }, + "accessKey": { + "type": "string", + "description": "Fill in the custom SecretKey to generate the encrypted signature. This parameter is required if the source site requires authentication.\n" + }, + "compressType": { + "type": "string", + "description": "Data compression type, the possible values are: `gzip`: use gzip compression. If it is not filled in, compression is not enabled.\n" + }, + "headers": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Teo/RealtimeLogDeliveryCustomEndpointHeader:RealtimeLogDeliveryCustomEndpointHeader" + }, + "description": "The custom request header carried when delivering logs. If the header name you fill in is the default header carried by EdgeOne log push, such as Content-Type, then the header value you fill in will overwrite the default value. The header value references a single variable ${batchSize} to obtain the number of logs included in each POST request.\n" + }, + "protocol": { + "type": "string", + "description": "When sending logs via POST request, the application layer protocol type used can be: `http`: HTTP protocol; `https`: HTTPS protocol. If not filled in, the protocol type will be parsed according to the filled in URL address.\n" + }, + "url": { + "type": "string", + "description": "The custom HTTP interface address for real-time log delivery. Currently, only HTTP/HTTPS protocols are supported.\n" + } + }, + "type": "object", + "required": [ + "url" + ] + }, + "tencentcloud:Teo/RealtimeLogDeliveryCustomEndpointHeader:RealtimeLogDeliveryCustomEndpointHeader": { + "properties": { + "name": { + "type": "string", + "description": "HTTP header name.\n" + }, + "value": { + "type": "string", + "description": "HTTP header value.\n" + } + }, + "type": "object", + "required": [ + "name", + "value" + ] + }, + "tencentcloud:Teo/RealtimeLogDeliveryCustomField:RealtimeLogDeliveryCustomField": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to deliver this field. If left blank, this field will not be delivered.\n" + }, + "name": { + "type": "string", + "description": "Extract data from the specified location in the HTTP request and response. The values are: `ReqHeader`: extract the specified field value from the HTTP request header; `RspHeader`: extract the specified field value from the HTTP response header; `Cookie`: extract the specified field value from the Cookie.\n" + }, + "value": { + "type": "string", + "description": "The name of the parameter whose value needs to be extracted, for example: Accept-Language.\n" + } + }, + "type": "object", + "required": [ + "name", + "value" + ] + }, + "tencentcloud:Teo/RealtimeLogDeliveryDeliveryCondition:RealtimeLogDeliveryDeliveryCondition": { + "properties": { + "conditions": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Teo/RealtimeLogDeliveryDeliveryConditionCondition:RealtimeLogDeliveryDeliveryConditionCondition" + }, + "description": "Log filtering conditions, the detailed filtering conditions are as follows: - `EdgeResponseStatusCode`: filter according to the status code returned by the EdgeOne node to the client. Supported operators: `equal`, `great`, `less`, `great_equal`, `less_equal`; Value range: any integer greater than or equal to 0; - `OriginResponseStatusCode`: filter according to the origin response status code. Supported operators: `equal`, `great`, `less`, `great_equal`, `less_equal`; Value range: any integer greater than or equal to -1; - `SecurityAction`: filter according to the final disposal action after the request hits the security rule. Supported operators: `equal`; Optional options are as follows: `-`: unknown/miss; `Monitor`: observe; `JSChallenge`: JavaScript challenge; `Deny`: intercept; `Allow`: allow; `BlockIP`: IP ban; `Redirect`: redirect; `ReturnCustomPage`: return to a custom page; `ManagedChallenge`: managed challenge; `Silence`: silent; `LongDelay`: respond after a long wait; `ShortDelay`: respond after a short wait; -`SecurityModule`: filter according to the name of the security module that finally handles the request. Supported operators: `equal`; Optional options: `-`: unknown/missed; `CustomRule`: Web Protection - Custom Rules; `RateLimitingCustomRule`: Web Protection - Rate Limiting Rules; `ManagedRule`: Web Protection - Managed Rules; `L7DDoS`: Web Protection - CC Attack Protection; `BotManagement`: Bot Management - Bot Basic Management; `BotClientReputation`: Bot Management - Client Profile Analysis; `BotBehaviorAnalysis`: Bot Management - Bot Intelligent Analysis; `BotCustomRule`: Bot Management - Custom Bot Rules; `BotActiveDetection`: Bot Management - Active Feature Recognition.\n" + } + }, + "type": "object" + }, + "tencentcloud:Teo/RealtimeLogDeliveryDeliveryConditionCondition:RealtimeLogDeliveryDeliveryConditionCondition": { + "properties": { + "key": { + "type": "string", + "description": "The key of the filter condition.\n" + }, + "operator": { + "type": "string", + "description": "Query condition operator, operation types are: `equals`: equal; `notEquals`: not equal; `include`: include; `notInclude`: not include; `startWith`: start with value; `notStartWith`: not start with value; `endWith`: end with value; `notEndWith`: not end with value.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The value of the filter condition.\n" + } + }, + "type": "object", + "required": [ + "key", + "operator", + "values" + ] + }, + "tencentcloud:Teo/RealtimeLogDeliveryLogFormat:RealtimeLogDeliveryLogFormat": { + "properties": { + "batchPrefix": { + "type": "string", + "description": "A string to be added before each log delivery batch. Each log delivery batch may contain multiple log records.\n" + }, + "batchSuffix": { + "type": "string", + "description": "A string to append after each log delivery batch.\n" + }, + "fieldDelimiter": { + "type": "string", + "description": "In a single log record, a string is inserted between fields as a separator. The possible values are: `\t`: tab character; `,`: comma; `;`: semicolon.\n" + }, + "formatType": { + "type": "string", + "description": "The default output format type for log delivery. The possible values are: `json`: Use the default log output format JSON Lines. The fields in a single log are presented as key-value pairs; `csv`: Use the default log output format csv. Only field values are presented in a single log, without field names.\n" + }, + "recordDelimiter": { + "type": "string", + "description": "The string inserted between log records as a separator. The possible values are: `\n`: newline character; `\t`: tab character; `,`: comma.\n" + }, + "recordPrefix": { + "type": "string", + "description": "A string to prepend to each log record.\n" + }, + "recordSuffix": { + "type": "string", + "description": "A string to append to each log record.\n\nThe `s3` object supports the following:\n" + } + }, + "type": "object", + "required": [ + "formatType" + ] + }, + "tencentcloud:Teo/RealtimeLogDeliveryS3:RealtimeLogDeliveryS3": { + "properties": { + "accessId": { + "type": "string", + "description": "Fill in a custom SecretId to generate an encrypted signature. This parameter is required if the source site requires authentication.\n" + }, + "accessKey": { + "type": "string", + "description": "Fill in the custom SecretKey to generate the encrypted signature. This parameter is required if the source site requires authentication.\n", + "secret": true + }, + "bucket": { + "type": "string", + "description": "Bucket name and log storage directory, for example: `your_bucket_name/EO-logs/`. If this directory does not exist in the bucket, it will be created automatically.\n" + }, + "compressType": { + "type": "string", + "description": "Data compression type, the possible values are: `gzip`: use gzip compression. If it is not filled in, compression is not enabled.\n" + }, + "endpoint": { + "type": "string", + "description": "URLs that do not include bucket names or paths, for example: `https://storage.googleapis.com`, `https://s3.ap-northeast-2.amazonaws.com`, `https://cos.ap-nanjing.myqcloud.com`.\n" + }, + "region": { + "type": "string", + "description": "The region where the bucket is located, for example: ap-northeast-2.\n" + } + }, + "type": "object", + "required": [ + "accessId", + "accessKey", + "bucket", + "endpoint", + "region" + ] + }, "tencentcloud:Teo/RuleEngineRule:RuleEngineRule": { "properties": { "actions": { @@ -99338,7 +100584,6 @@ }, "type": "object", "required": [ - "actions", "ors" ] }, @@ -99577,7 +100822,6 @@ }, "type": "object", "required": [ - "actions", "ors" ] }, @@ -133285,12 +134529,16 @@ } }, "tencentcloud:Clb/instance:Instance": { - "description": "Provides a resource to create a CLB instance.\n\n## Example Usage\n\n### INTERNAL CLB\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst internalClb = new tencentcloud.clb.Instance(\"internalClb\", {\n clbName: \"myclb\",\n networkType: \"INTERNAL\",\n projectId: 0,\n subnetId: \"subnet-12rastkr\",\n tags: {\n test: \"tf\",\n },\n vpcId: \"vpc-7007ll7q\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\ninternal_clb = tencentcloud.clb.Instance(\"internalClb\",\n clb_name=\"myclb\",\n network_type=\"INTERNAL\",\n project_id=0,\n subnet_id=\"subnet-12rastkr\",\n tags={\n \"test\": \"tf\",\n },\n vpc_id=\"vpc-7007ll7q\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var internalClb = new Tencentcloud.Clb.Instance(\"internalClb\", new()\n {\n ClbName = \"myclb\",\n NetworkType = \"INTERNAL\",\n ProjectId = 0,\n SubnetId = \"subnet-12rastkr\",\n Tags = \n {\n { \"test\", \"tf\" },\n },\n VpcId = \"vpc-7007ll7q\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Clb.NewInstance(ctx, \"internalClb\", \u0026Clb.InstanceArgs{\n\t\t\tClbName: pulumi.String(\"myclb\"),\n\t\t\tNetworkType: pulumi.String(\"INTERNAL\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tSubnetId: pulumi.String(\"subnet-12rastkr\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"test\": pulumi.Any(\"tf\"),\n\t\t\t},\n\t\t\tVpcId: pulumi.String(\"vpc-7007ll7q\"),\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.tencentcloud.Clb.Instance;\nimport com.pulumi.tencentcloud.Clb.InstanceArgs;\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 internalClb = new Instance(\"internalClb\", InstanceArgs.builder() \n .clbName(\"myclb\")\n .networkType(\"INTERNAL\")\n .projectId(0)\n .subnetId(\"subnet-12rastkr\")\n .tags(Map.of(\"test\", \"tf\"))\n .vpcId(\"vpc-7007ll7q\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n internalClb:\n type: tencentcloud:Clb:Instance\n properties:\n clbName: myclb\n networkType: INTERNAL\n projectId: 0\n subnetId: subnet-12rastkr\n tags:\n test: tf\n vpcId: vpc-7007ll7q\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### LCU-supported CLB\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst internalClb = new tencentcloud.clb.Instance(\"internalClb\", {\n clbName: \"myclb\",\n networkType: \"INTERNAL\",\n projectId: 0,\n slaType: \"clb.c3.medium\",\n subnetId: \"subnet-o3a5nt20\",\n tags: {\n test: \"tf\",\n },\n vpcId: \"vpc-2hfyray3\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\ninternal_clb = tencentcloud.clb.Instance(\"internalClb\",\n clb_name=\"myclb\",\n network_type=\"INTERNAL\",\n project_id=0,\n sla_type=\"clb.c3.medium\",\n subnet_id=\"subnet-o3a5nt20\",\n tags={\n \"test\": \"tf\",\n },\n vpc_id=\"vpc-2hfyray3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var internalClb = new Tencentcloud.Clb.Instance(\"internalClb\", new()\n {\n ClbName = \"myclb\",\n NetworkType = \"INTERNAL\",\n ProjectId = 0,\n SlaType = \"clb.c3.medium\",\n SubnetId = \"subnet-o3a5nt20\",\n Tags = \n {\n { \"test\", \"tf\" },\n },\n VpcId = \"vpc-2hfyray3\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Clb.NewInstance(ctx, \"internalClb\", \u0026Clb.InstanceArgs{\n\t\t\tClbName: pulumi.String(\"myclb\"),\n\t\t\tNetworkType: pulumi.String(\"INTERNAL\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tSlaType: pulumi.String(\"clb.c3.medium\"),\n\t\t\tSubnetId: pulumi.String(\"subnet-o3a5nt20\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"test\": pulumi.Any(\"tf\"),\n\t\t\t},\n\t\t\tVpcId: pulumi.String(\"vpc-2hfyray3\"),\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.tencentcloud.Clb.Instance;\nimport com.pulumi.tencentcloud.Clb.InstanceArgs;\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 internalClb = new Instance(\"internalClb\", InstanceArgs.builder() \n .clbName(\"myclb\")\n .networkType(\"INTERNAL\")\n .projectId(0)\n .slaType(\"clb.c3.medium\")\n .subnetId(\"subnet-o3a5nt20\")\n .tags(Map.of(\"test\", \"tf\"))\n .vpcId(\"vpc-2hfyray3\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n internalClb:\n type: tencentcloud:Clb:Instance\n properties:\n clbName: myclb\n networkType: INTERNAL\n projectId: 0\n slaType: clb.c3.medium\n subnetId: subnet-o3a5nt20\n tags:\n test: tf\n vpcId: vpc-2hfyray3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### OPEN CLB\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst openClb = new tencentcloud.clb.Instance(\"openClb\", {\n clbName: \"myclb\",\n networkType: \"OPEN\",\n projectId: 0,\n securityGroups: [\"sg-o0ek7r93\"],\n tags: {\n test: \"tf\",\n },\n targetRegionInfoRegion: \"ap-guangzhou\",\n targetRegionInfoVpcId: \"vpc-da7ffa61\",\n vpcId: \"vpc-da7ffa61\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nopen_clb = tencentcloud.clb.Instance(\"openClb\",\n clb_name=\"myclb\",\n network_type=\"OPEN\",\n project_id=0,\n security_groups=[\"sg-o0ek7r93\"],\n tags={\n \"test\": \"tf\",\n },\n target_region_info_region=\"ap-guangzhou\",\n target_region_info_vpc_id=\"vpc-da7ffa61\",\n vpc_id=\"vpc-da7ffa61\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var openClb = new Tencentcloud.Clb.Instance(\"openClb\", new()\n {\n ClbName = \"myclb\",\n NetworkType = \"OPEN\",\n ProjectId = 0,\n SecurityGroups = new[]\n {\n \"sg-o0ek7r93\",\n },\n Tags = \n {\n { \"test\", \"tf\" },\n },\n TargetRegionInfoRegion = \"ap-guangzhou\",\n TargetRegionInfoVpcId = \"vpc-da7ffa61\",\n VpcId = \"vpc-da7ffa61\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Clb.NewInstance(ctx, \"openClb\", \u0026Clb.InstanceArgs{\n\t\t\tClbName: pulumi.String(\"myclb\"),\n\t\t\tNetworkType: pulumi.String(\"OPEN\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sg-o0ek7r93\"),\n\t\t\t},\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"test\": pulumi.Any(\"tf\"),\n\t\t\t},\n\t\t\tTargetRegionInfoRegion: pulumi.String(\"ap-guangzhou\"),\n\t\t\tTargetRegionInfoVpcId: pulumi.String(\"vpc-da7ffa61\"),\n\t\t\tVpcId: pulumi.String(\"vpc-da7ffa61\"),\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.tencentcloud.Clb.Instance;\nimport com.pulumi.tencentcloud.Clb.InstanceArgs;\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 openClb = new Instance(\"openClb\", InstanceArgs.builder() \n .clbName(\"myclb\")\n .networkType(\"OPEN\")\n .projectId(0)\n .securityGroups(\"sg-o0ek7r93\")\n .tags(Map.of(\"test\", \"tf\"))\n .targetRegionInfoRegion(\"ap-guangzhou\")\n .targetRegionInfoVpcId(\"vpc-da7ffa61\")\n .vpcId(\"vpc-da7ffa61\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n openClb:\n type: tencentcloud:Clb:Instance\n properties:\n clbName: myclb\n networkType: OPEN\n projectId: 0\n securityGroups:\n - sg-o0ek7r93\n tags:\n test: tf\n targetRegionInfoRegion: ap-guangzhou\n targetRegionInfoVpcId: vpc-da7ffa61\n vpcId: vpc-da7ffa61\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### OPNE CLB with VipIsp\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst example = new tencentcloud.vpc.BandwidthPackage(\"example\", {\n networkType: \"SINGLEISP_CMCC\",\n chargeType: \"ENHANCED95_POSTPAID_BY_MONTH\",\n bandwidthPackageName: \"tf-example\",\n internetMaxBandwidth: 300,\n egress: \"center_egress1\",\n tags: {\n createdBy: \"terraform\",\n },\n});\nconst openClb = new tencentcloud.clb.Instance(\"openClb\", {\n networkType: \"OPEN\",\n clbName: \"my-open-clb\",\n projectId: 0,\n vpcId: \"vpc-4owdpnwr\",\n vipIsp: \"CMCC\",\n internetChargeType: \"BANDWIDTH_PACKAGE\",\n bandwidthPackageId: example.id,\n tags: {\n test: \"open\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.vpc.BandwidthPackage(\"example\",\n network_type=\"SINGLEISP_CMCC\",\n charge_type=\"ENHANCED95_POSTPAID_BY_MONTH\",\n bandwidth_package_name=\"tf-example\",\n internet_max_bandwidth=300,\n egress=\"center_egress1\",\n tags={\n \"createdBy\": \"terraform\",\n })\nopen_clb = tencentcloud.clb.Instance(\"openClb\",\n network_type=\"OPEN\",\n clb_name=\"my-open-clb\",\n project_id=0,\n vpc_id=\"vpc-4owdpnwr\",\n vip_isp=\"CMCC\",\n internet_charge_type=\"BANDWIDTH_PACKAGE\",\n bandwidth_package_id=example.id,\n tags={\n \"test\": \"open\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Tencentcloud.Vpc.BandwidthPackage(\"example\", new()\n {\n NetworkType = \"SINGLEISP_CMCC\",\n ChargeType = \"ENHANCED95_POSTPAID_BY_MONTH\",\n BandwidthPackageName = \"tf-example\",\n InternetMaxBandwidth = 300,\n Egress = \"center_egress1\",\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n });\n\n var openClb = new Tencentcloud.Clb.Instance(\"openClb\", new()\n {\n NetworkType = \"OPEN\",\n ClbName = \"my-open-clb\",\n ProjectId = 0,\n VpcId = \"vpc-4owdpnwr\",\n VipIsp = \"CMCC\",\n InternetChargeType = \"BANDWIDTH_PACKAGE\",\n BandwidthPackageId = example.Id,\n Tags = \n {\n { \"test\", \"open\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := Vpc.NewBandwidthPackage(ctx, \"example\", \u0026Vpc.BandwidthPackageArgs{\n\t\t\tNetworkType: pulumi.String(\"SINGLEISP_CMCC\"),\n\t\t\tChargeType: pulumi.String(\"ENHANCED95_POSTPAID_BY_MONTH\"),\n\t\t\tBandwidthPackageName: pulumi.String(\"tf-example\"),\n\t\t\tInternetMaxBandwidth: pulumi.Int(300),\n\t\t\tEgress: pulumi.String(\"center_egress1\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"createdBy\": pulumi.Any(\"terraform\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Clb.NewInstance(ctx, \"openClb\", \u0026Clb.InstanceArgs{\n\t\t\tNetworkType: pulumi.String(\"OPEN\"),\n\t\t\tClbName: pulumi.String(\"my-open-clb\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tVpcId: pulumi.String(\"vpc-4owdpnwr\"),\n\t\t\tVipIsp: pulumi.String(\"CMCC\"),\n\t\t\tInternetChargeType: pulumi.String(\"BANDWIDTH_PACKAGE\"),\n\t\t\tBandwidthPackageId: example.ID(),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"test\": pulumi.Any(\"open\"),\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.tencentcloud.Vpc.BandwidthPackage;\nimport com.pulumi.tencentcloud.Vpc.BandwidthPackageArgs;\nimport com.pulumi.tencentcloud.Clb.Instance;\nimport com.pulumi.tencentcloud.Clb.InstanceArgs;\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 BandwidthPackage(\"example\", BandwidthPackageArgs.builder() \n .networkType(\"SINGLEISP_CMCC\")\n .chargeType(\"ENHANCED95_POSTPAID_BY_MONTH\")\n .bandwidthPackageName(\"tf-example\")\n .internetMaxBandwidth(300)\n .egress(\"center_egress1\")\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n var openClb = new Instance(\"openClb\", InstanceArgs.builder() \n .networkType(\"OPEN\")\n .clbName(\"my-open-clb\")\n .projectId(0)\n .vpcId(\"vpc-4owdpnwr\")\n .vipIsp(\"CMCC\")\n .internetChargeType(\"BANDWIDTH_PACKAGE\")\n .bandwidthPackageId(example.id())\n .tags(Map.of(\"test\", \"open\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Vpc:BandwidthPackage\n properties:\n networkType: SINGLEISP_CMCC\n chargeType: ENHANCED95_POSTPAID_BY_MONTH\n bandwidthPackageName: tf-example\n internetMaxBandwidth: 300\n egress: center_egress1\n tags:\n createdBy: terraform\n openClb:\n type: tencentcloud:Clb:Instance\n properties:\n networkType: OPEN\n clbName: my-open-clb\n projectId: 0\n vpcId: vpc-4owdpnwr\n vipIsp: CMCC\n internetChargeType: BANDWIDTH_PACKAGE\n bandwidthPackageId: ${example.id}\n tags:\n test: open\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Dynamic Vip Instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst fooGroup = new tencentcloud.security.Group(\"fooGroup\", {});\nconst fooInstance = new tencentcloud.vpc.Instance(\"fooInstance\", {cidrBlock: \"10.0.0.0/16\"});\nconst clbOpen = new tencentcloud.clb.Instance(\"clbOpen\", {\n networkType: \"OPEN\",\n clbName: \"clb-instance-open\",\n projectId: 0,\n vpcId: fooInstance.id,\n targetRegionInfoRegion: \"ap-guangzhou\",\n targetRegionInfoVpcId: fooInstance.id,\n securityGroups: [fooGroup.id],\n dynamicVip: true,\n tags: {\n test: \"tf\",\n },\n});\nexport const domain = clbOpen.domain;\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nfoo_group = tencentcloud.security.Group(\"fooGroup\")\nfoo_instance = tencentcloud.vpc.Instance(\"fooInstance\", cidr_block=\"10.0.0.0/16\")\nclb_open = tencentcloud.clb.Instance(\"clbOpen\",\n network_type=\"OPEN\",\n clb_name=\"clb-instance-open\",\n project_id=0,\n vpc_id=foo_instance.id,\n target_region_info_region=\"ap-guangzhou\",\n target_region_info_vpc_id=foo_instance.id,\n security_groups=[foo_group.id],\n dynamic_vip=True,\n tags={\n \"test\": \"tf\",\n })\npulumi.export(\"domain\", clb_open.domain)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fooGroup = new Tencentcloud.Security.Group(\"fooGroup\");\n\n var fooInstance = new Tencentcloud.Vpc.Instance(\"fooInstance\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var clbOpen = new Tencentcloud.Clb.Instance(\"clbOpen\", new()\n {\n NetworkType = \"OPEN\",\n ClbName = \"clb-instance-open\",\n ProjectId = 0,\n VpcId = fooInstance.Id,\n TargetRegionInfoRegion = \"ap-guangzhou\",\n TargetRegionInfoVpcId = fooInstance.Id,\n SecurityGroups = new[]\n {\n fooGroup.Id,\n },\n DynamicVip = true,\n Tags = \n {\n { \"test\", \"tf\" },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"domain\"] = clbOpen.Domain,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Security\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfooGroup, err := Security.NewGroup(ctx, \"fooGroup\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooInstance, err := Vpc.NewInstance(ctx, \"fooInstance\", \u0026Vpc.InstanceArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclbOpen, err := Clb.NewInstance(ctx, \"clbOpen\", \u0026Clb.InstanceArgs{\n\t\t\tNetworkType: pulumi.String(\"OPEN\"),\n\t\t\tClbName: pulumi.String(\"clb-instance-open\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tVpcId: fooInstance.ID(),\n\t\t\tTargetRegionInfoRegion: pulumi.String(\"ap-guangzhou\"),\n\t\t\tTargetRegionInfoVpcId: fooInstance.ID(),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tfooGroup.ID(),\n\t\t\t},\n\t\t\tDynamicVip: pulumi.Bool(true),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"test\": pulumi.Any(\"tf\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"domain\", clbOpen.Domain)\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.tencentcloud.Security.Group;\nimport com.pulumi.tencentcloud.Vpc.Instance;\nimport com.pulumi.tencentcloud.Vpc.InstanceArgs;\nimport com.pulumi.tencentcloud.Clb.Instance;\nimport com.pulumi.tencentcloud.Clb.InstanceArgs;\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 fooGroup = new Group(\"fooGroup\");\n\n var fooInstance = new Instance(\"fooInstance\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var clbOpen = new Instance(\"clbOpen\", InstanceArgs.builder() \n .networkType(\"OPEN\")\n .clbName(\"clb-instance-open\")\n .projectId(0)\n .vpcId(fooInstance.id())\n .targetRegionInfoRegion(\"ap-guangzhou\")\n .targetRegionInfoVpcId(fooInstance.id())\n .securityGroups(fooGroup.id())\n .dynamicVip(true)\n .tags(Map.of(\"test\", \"tf\"))\n .build());\n\n ctx.export(\"domain\", clbOpen.domain());\n }\n}\n```\n```yaml\nresources:\n fooGroup:\n type: tencentcloud:Security:Group\n fooInstance:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n clbOpen:\n type: tencentcloud:Clb:Instance\n properties:\n networkType: OPEN\n clbName: clb-instance-open\n projectId: 0\n vpcId: ${fooInstance.id}\n targetRegionInfoRegion: ap-guangzhou\n targetRegionInfoVpcId: ${fooInstance.id}\n securityGroups:\n - ${fooGroup.id}\n dynamicVip: true\n tags:\n test: tf\noutputs:\n domain: ${clbOpen.domain}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specified Vip Instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst fooGroup = new tencentcloud.security.Group(\"fooGroup\", {});\nconst fooInstance = new tencentcloud.vpc.Instance(\"fooInstance\", {cidrBlock: \"10.0.0.0/16\"});\nconst clbOpen = new tencentcloud.clb.Instance(\"clbOpen\", {\n networkType: \"OPEN\",\n clbName: \"clb-instance-open\",\n projectId: 0,\n vpcId: fooInstance.id,\n securityGroups: [fooGroup.id],\n vip: \"111.230.4.204\",\n tags: {\n test: \"tf\",\n },\n});\nexport const domain = tencentcloud_clb_instance.vip;\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nfoo_group = tencentcloud.security.Group(\"fooGroup\")\nfoo_instance = tencentcloud.vpc.Instance(\"fooInstance\", cidr_block=\"10.0.0.0/16\")\nclb_open = tencentcloud.clb.Instance(\"clbOpen\",\n network_type=\"OPEN\",\n clb_name=\"clb-instance-open\",\n project_id=0,\n vpc_id=foo_instance.id,\n security_groups=[foo_group.id],\n vip=\"111.230.4.204\",\n tags={\n \"test\": \"tf\",\n })\npulumi.export(\"domain\", tencentcloud_clb_instance[\"vip\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fooGroup = new Tencentcloud.Security.Group(\"fooGroup\");\n\n var fooInstance = new Tencentcloud.Vpc.Instance(\"fooInstance\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var clbOpen = new Tencentcloud.Clb.Instance(\"clbOpen\", new()\n {\n NetworkType = \"OPEN\",\n ClbName = \"clb-instance-open\",\n ProjectId = 0,\n VpcId = fooInstance.Id,\n SecurityGroups = new[]\n {\n fooGroup.Id,\n },\n Vip = \"111.230.4.204\",\n Tags = \n {\n { \"test\", \"tf\" },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"domain\"] = tencentcloud_clb_instance.Vip,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Security\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfooGroup, err := Security.NewGroup(ctx, \"fooGroup\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooInstance, err := Vpc.NewInstance(ctx, \"fooInstance\", \u0026Vpc.InstanceArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Clb.NewInstance(ctx, \"clbOpen\", \u0026Clb.InstanceArgs{\n\t\t\tNetworkType: pulumi.String(\"OPEN\"),\n\t\t\tClbName: pulumi.String(\"clb-instance-open\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tVpcId: fooInstance.ID(),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tfooGroup.ID(),\n\t\t\t},\n\t\t\tVip: pulumi.String(\"111.230.4.204\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"test\": pulumi.Any(\"tf\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"domain\", tencentcloud_clb_instance.Vip)\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.tencentcloud.Security.Group;\nimport com.pulumi.tencentcloud.Vpc.Instance;\nimport com.pulumi.tencentcloud.Vpc.InstanceArgs;\nimport com.pulumi.tencentcloud.Clb.Instance;\nimport com.pulumi.tencentcloud.Clb.InstanceArgs;\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 fooGroup = new Group(\"fooGroup\");\n\n var fooInstance = new Instance(\"fooInstance\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var clbOpen = new Instance(\"clbOpen\", InstanceArgs.builder() \n .networkType(\"OPEN\")\n .clbName(\"clb-instance-open\")\n .projectId(0)\n .vpcId(fooInstance.id())\n .securityGroups(fooGroup.id())\n .vip(\"111.230.4.204\")\n .tags(Map.of(\"test\", \"tf\"))\n .build());\n\n ctx.export(\"domain\", tencentcloud_clb_instance.vip());\n }\n}\n```\n```yaml\nresources:\n fooGroup:\n type: tencentcloud:Security:Group\n fooInstance:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n clbOpen:\n type: tencentcloud:Clb:Instance\n properties:\n networkType: OPEN\n clbName: clb-instance-open\n projectId: 0\n vpcId: ${fooInstance.id}\n securityGroups:\n - ${fooGroup.id}\n vip: 111.230.4.204\n tags:\n test: tf\noutputs:\n domain: ${tencentcloud_clb_instance.vip}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Default enable\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst foo = new tencentcloud.vpc.Instance(\"foo\", {\n cidrBlock: \"10.0.0.0/16\",\n tags: {\n test: \"mytest\",\n },\n});\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n availabilityZone: \"ap-guangzhou-1\",\n vpcId: foo.id,\n cidrBlock: \"10.0.20.0/28\",\n isMulticast: false,\n});\nconst sglab = new tencentcloud.security.Group(\"sglab\", {\n description: \"favourite sg\",\n projectId: 0,\n});\nconst openClb = new tencentcloud.clb.Instance(\"openClb\", {\n networkType: \"OPEN\",\n clbName: \"my-open-clb\",\n projectId: 0,\n vpcId: foo.id,\n loadBalancerPassToTarget: true,\n securityGroups: [sglab.id],\n targetRegionInfoRegion: \"ap-guangzhou\",\n targetRegionInfoVpcId: foo.id,\n tags: {\n test: \"open\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nfoo = tencentcloud.vpc.Instance(\"foo\",\n cidr_block=\"10.0.0.0/16\",\n tags={\n \"test\": \"mytest\",\n })\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n availability_zone=\"ap-guangzhou-1\",\n vpc_id=foo.id,\n cidr_block=\"10.0.20.0/28\",\n is_multicast=False)\nsglab = tencentcloud.security.Group(\"sglab\",\n description=\"favourite sg\",\n project_id=0)\nopen_clb = tencentcloud.clb.Instance(\"openClb\",\n network_type=\"OPEN\",\n clb_name=\"my-open-clb\",\n project_id=0,\n vpc_id=foo.id,\n load_balancer_pass_to_target=True,\n security_groups=[sglab.id],\n target_region_info_region=\"ap-guangzhou\",\n target_region_info_vpc_id=foo.id,\n tags={\n \"test\": \"open\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Tencentcloud.Vpc.Instance(\"foo\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n Tags = \n {\n { \"test\", \"mytest\" },\n },\n });\n\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n AvailabilityZone = \"ap-guangzhou-1\",\n VpcId = foo.Id,\n CidrBlock = \"10.0.20.0/28\",\n IsMulticast = false,\n });\n\n var sglab = new Tencentcloud.Security.Group(\"sglab\", new()\n {\n Description = \"favourite sg\",\n ProjectId = 0,\n });\n\n var openClb = new Tencentcloud.Clb.Instance(\"openClb\", new()\n {\n NetworkType = \"OPEN\",\n ClbName = \"my-open-clb\",\n ProjectId = 0,\n VpcId = foo.Id,\n LoadBalancerPassToTarget = true,\n SecurityGroups = new[]\n {\n sglab.Id,\n },\n TargetRegionInfoRegion = \"ap-guangzhou\",\n TargetRegionInfoVpcId = foo.Id,\n Tags = \n {\n { \"test\", \"open\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Security\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := Vpc.NewInstance(ctx, \"foo\", \u0026Vpc.InstanceArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"test\": pulumi.Any(\"mytest\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"ap-guangzhou-1\"),\n\t\t\tVpcId: foo.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.20.0/28\"),\n\t\t\tIsMulticast: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsglab, err := Security.NewGroup(ctx, \"sglab\", \u0026Security.GroupArgs{\n\t\t\tDescription: pulumi.String(\"favourite sg\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Clb.NewInstance(ctx, \"openClb\", \u0026Clb.InstanceArgs{\n\t\t\tNetworkType: pulumi.String(\"OPEN\"),\n\t\t\tClbName: pulumi.String(\"my-open-clb\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tVpcId: foo.ID(),\n\t\t\tLoadBalancerPassToTarget: pulumi.Bool(true),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tsglab.ID(),\n\t\t\t},\n\t\t\tTargetRegionInfoRegion: pulumi.String(\"ap-guangzhou\"),\n\t\t\tTargetRegionInfoVpcId: foo.ID(),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"test\": pulumi.Any(\"open\"),\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.tencentcloud.Vpc.Instance;\nimport com.pulumi.tencentcloud.Vpc.InstanceArgs;\nimport com.pulumi.tencentcloud.Subnet.Instance;\nimport com.pulumi.tencentcloud.Subnet.InstanceArgs;\nimport com.pulumi.tencentcloud.Security.Group;\nimport com.pulumi.tencentcloud.Security.GroupArgs;\nimport com.pulumi.tencentcloud.Clb.Instance;\nimport com.pulumi.tencentcloud.Clb.InstanceArgs;\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 Instance(\"foo\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .tags(Map.of(\"test\", \"mytest\"))\n .build());\n\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .availabilityZone(\"ap-guangzhou-1\")\n .vpcId(foo.id())\n .cidrBlock(\"10.0.20.0/28\")\n .isMulticast(false)\n .build());\n\n var sglab = new Group(\"sglab\", GroupArgs.builder() \n .description(\"favourite sg\")\n .projectId(0)\n .build());\n\n var openClb = new Instance(\"openClb\", InstanceArgs.builder() \n .networkType(\"OPEN\")\n .clbName(\"my-open-clb\")\n .projectId(0)\n .vpcId(foo.id())\n .loadBalancerPassToTarget(true)\n .securityGroups(sglab.id())\n .targetRegionInfoRegion(\"ap-guangzhou\")\n .targetRegionInfoVpcId(foo.id())\n .tags(Map.of(\"test\", \"open\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n availabilityZone: ap-guangzhou-1\n vpcId: ${foo.id}\n cidrBlock: 10.0.20.0/28\n isMulticast: false\n sglab:\n type: tencentcloud:Security:Group\n properties:\n description: favourite sg\n projectId: 0\n foo:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n tags:\n test: mytest\n openClb:\n type: tencentcloud:Clb:Instance\n properties:\n networkType: OPEN\n clbName: my-open-clb\n projectId: 0\n vpcId: ${foo.id}\n loadBalancerPassToTarget: true\n securityGroups:\n - ${sglab.id}\n targetRegionInfoRegion: ap-guangzhou\n targetRegionInfoVpcId: ${foo.id}\n tags:\n test: open\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### CREATE multiple instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst openClb1 = new tencentcloud.clb.Instance(\"openClb1\", {\n clbName: \"hello\",\n masterZoneId: \"ap-guangzhou-3\",\n networkType: \"OPEN\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nopen_clb1 = tencentcloud.clb.Instance(\"openClb1\",\n clb_name=\"hello\",\n master_zone_id=\"ap-guangzhou-3\",\n network_type=\"OPEN\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var openClb1 = new Tencentcloud.Clb.Instance(\"openClb1\", new()\n {\n ClbName = \"hello\",\n MasterZoneId = \"ap-guangzhou-3\",\n NetworkType = \"OPEN\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Clb.NewInstance(ctx, \"openClb1\", \u0026Clb.InstanceArgs{\n\t\t\tClbName: pulumi.String(\"hello\"),\n\t\t\tMasterZoneId: pulumi.String(\"ap-guangzhou-3\"),\n\t\t\tNetworkType: pulumi.String(\"OPEN\"),\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.tencentcloud.Clb.Instance;\nimport com.pulumi.tencentcloud.Clb.InstanceArgs;\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 openClb1 = new Instance(\"openClb1\", InstanceArgs.builder() \n .clbName(\"hello\")\n .masterZoneId(\"ap-guangzhou-3\")\n .networkType(\"OPEN\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n openClb1:\n type: tencentcloud:Clb:Instance\n properties:\n clbName: hello\n masterZoneId: ap-guangzhou-3\n networkType: OPEN\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### CREATE instance with log\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst vpcTest = new tencentcloud.vpc.Instance(\"vpcTest\", {cidrBlock: \"10.0.0.0/16\"});\nconst rtbTest = new tencentcloud.route.Table(\"rtbTest\", {vpcId: vpcTest.id});\nconst subnetTest = new tencentcloud.subnet.Instance(\"subnetTest\", {\n availabilityZone: \"ap-guangzhou-3\",\n cidrBlock: \"10.0.1.0/24\",\n routeTableId: rtbTest.id,\n vpcId: vpcTest.id,\n});\nconst set = new tencentcloud.clb.LogSet(\"set\", {period: 7});\nconst topic = new tencentcloud.clb.LogTopic(\"topic\", {\n logSetId: set.id,\n topicName: \"clb-topic\",\n});\nconst internalClb = new tencentcloud.clb.Instance(\"internalClb\", {\n clbName: \"myclb\",\n loadBalancerPassToTarget: true,\n logSetId: set.id,\n logTopicId: topic.id,\n networkType: \"INTERNAL\",\n projectId: 0,\n subnetId: subnetTest.id,\n tags: {\n test: \"tf\",\n },\n vpcId: vpcTest.id,\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nvpc_test = tencentcloud.vpc.Instance(\"vpcTest\", cidr_block=\"10.0.0.0/16\")\nrtb_test = tencentcloud.route.Table(\"rtbTest\", vpc_id=vpc_test.id)\nsubnet_test = tencentcloud.subnet.Instance(\"subnetTest\",\n availability_zone=\"ap-guangzhou-3\",\n cidr_block=\"10.0.1.0/24\",\n route_table_id=rtb_test.id,\n vpc_id=vpc_test.id)\nset = tencentcloud.clb.LogSet(\"set\", period=7)\ntopic = tencentcloud.clb.LogTopic(\"topic\",\n log_set_id=set.id,\n topic_name=\"clb-topic\")\ninternal_clb = tencentcloud.clb.Instance(\"internalClb\",\n clb_name=\"myclb\",\n load_balancer_pass_to_target=True,\n log_set_id=set.id,\n log_topic_id=topic.id,\n network_type=\"INTERNAL\",\n project_id=0,\n subnet_id=subnet_test.id,\n tags={\n \"test\": \"tf\",\n },\n vpc_id=vpc_test.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vpcTest = new Tencentcloud.Vpc.Instance(\"vpcTest\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var rtbTest = new Tencentcloud.Route.Table(\"rtbTest\", new()\n {\n VpcId = vpcTest.Id,\n });\n\n var subnetTest = new Tencentcloud.Subnet.Instance(\"subnetTest\", new()\n {\n AvailabilityZone = \"ap-guangzhou-3\",\n CidrBlock = \"10.0.1.0/24\",\n RouteTableId = rtbTest.Id,\n VpcId = vpcTest.Id,\n });\n\n var @set = new Tencentcloud.Clb.LogSet(\"set\", new()\n {\n Period = 7,\n });\n\n var topic = new Tencentcloud.Clb.LogTopic(\"topic\", new()\n {\n LogSetId = @set.Id,\n TopicName = \"clb-topic\",\n });\n\n var internalClb = new Tencentcloud.Clb.Instance(\"internalClb\", new()\n {\n ClbName = \"myclb\",\n LoadBalancerPassToTarget = true,\n LogSetId = @set.Id,\n LogTopicId = topic.Id,\n NetworkType = \"INTERNAL\",\n ProjectId = 0,\n SubnetId = subnetTest.Id,\n Tags = \n {\n { \"test\", \"tf\" },\n },\n VpcId = vpcTest.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Route\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvpcTest, err := Vpc.NewInstance(ctx, \"vpcTest\", \u0026Vpc.InstanceArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trtbTest, err := Route.NewTable(ctx, \"rtbTest\", \u0026Route.TableArgs{\n\t\t\tVpcId: vpcTest.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnetTest, err := Subnet.NewInstance(ctx, \"subnetTest\", \u0026Subnet.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"ap-guangzhou-3\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t\tRouteTableId: rtbTest.ID(),\n\t\t\tVpcId: vpcTest.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tset, err := Clb.NewLogSet(ctx, \"set\", \u0026Clb.LogSetArgs{\n\t\t\tPeriod: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttopic, err := Clb.NewLogTopic(ctx, \"topic\", \u0026Clb.LogTopicArgs{\n\t\t\tLogSetId: set.ID(),\n\t\t\tTopicName: pulumi.String(\"clb-topic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Clb.NewInstance(ctx, \"internalClb\", \u0026Clb.InstanceArgs{\n\t\t\tClbName: pulumi.String(\"myclb\"),\n\t\t\tLoadBalancerPassToTarget: pulumi.Bool(true),\n\t\t\tLogSetId: set.ID(),\n\t\t\tLogTopicId: topic.ID(),\n\t\t\tNetworkType: pulumi.String(\"INTERNAL\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tSubnetId: subnetTest.ID(),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"test\": pulumi.Any(\"tf\"),\n\t\t\t},\n\t\t\tVpcId: vpcTest.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.tencentcloud.Vpc.Instance;\nimport com.pulumi.tencentcloud.Vpc.InstanceArgs;\nimport com.pulumi.tencentcloud.Route.Table;\nimport com.pulumi.tencentcloud.Route.TableArgs;\nimport com.pulumi.tencentcloud.Subnet.Instance;\nimport com.pulumi.tencentcloud.Subnet.InstanceArgs;\nimport com.pulumi.tencentcloud.Clb.LogSet;\nimport com.pulumi.tencentcloud.Clb.LogSetArgs;\nimport com.pulumi.tencentcloud.Clb.LogTopic;\nimport com.pulumi.tencentcloud.Clb.LogTopicArgs;\nimport com.pulumi.tencentcloud.Clb.Instance;\nimport com.pulumi.tencentcloud.Clb.InstanceArgs;\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 vpcTest = new Instance(\"vpcTest\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var rtbTest = new Table(\"rtbTest\", TableArgs.builder() \n .vpcId(vpcTest.id())\n .build());\n\n var subnetTest = new Instance(\"subnetTest\", InstanceArgs.builder() \n .availabilityZone(\"ap-guangzhou-3\")\n .cidrBlock(\"10.0.1.0/24\")\n .routeTableId(rtbTest.id())\n .vpcId(vpcTest.id())\n .build());\n\n var set = new LogSet(\"set\", LogSetArgs.builder() \n .period(7)\n .build());\n\n var topic = new LogTopic(\"topic\", LogTopicArgs.builder() \n .logSetId(set.id())\n .topicName(\"clb-topic\")\n .build());\n\n var internalClb = new Instance(\"internalClb\", InstanceArgs.builder() \n .clbName(\"myclb\")\n .loadBalancerPassToTarget(true)\n .logSetId(set.id())\n .logTopicId(topic.id())\n .networkType(\"INTERNAL\")\n .projectId(0)\n .subnetId(subnetTest.id())\n .tags(Map.of(\"test\", \"tf\"))\n .vpcId(vpcTest.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpcTest:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n rtbTest:\n type: tencentcloud:Route:Table\n properties:\n vpcId: ${vpcTest.id}\n subnetTest:\n type: tencentcloud:Subnet:Instance\n properties:\n availabilityZone: ap-guangzhou-3\n cidrBlock: 10.0.1.0/24\n routeTableId: ${rtbTest.id}\n vpcId: ${vpcTest.id}\n set:\n type: tencentcloud:Clb:LogSet\n properties:\n period: 7\n topic:\n type: tencentcloud:Clb:LogTopic\n properties:\n logSetId: ${set.id}\n topicName: clb-topic\n internalClb:\n type: tencentcloud:Clb:Instance\n properties:\n clbName: myclb\n loadBalancerPassToTarget: true\n logSetId: ${set.id}\n logTopicId: ${topic.id}\n networkType: INTERNAL\n projectId: 0\n subnetId: ${subnetTest.id}\n tags:\n test: tf\n vpcId: ${vpcTest.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCLB instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Clb/instance:Instance foo lb-7a0t6zqb\n```\n", + "description": "Provides a resource to create a CLB instance.\n\n## Example Usage\n\n### INTERNAL CLB\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst internalClb = new tencentcloud.clb.Instance(\"internalClb\", {\n clbName: \"myclb\",\n networkType: \"INTERNAL\",\n projectId: 0,\n subnetId: \"subnet-12rastkr\",\n tags: {\n test: \"tf\",\n },\n vpcId: \"vpc-7007ll7q\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\ninternal_clb = tencentcloud.clb.Instance(\"internalClb\",\n clb_name=\"myclb\",\n network_type=\"INTERNAL\",\n project_id=0,\n subnet_id=\"subnet-12rastkr\",\n tags={\n \"test\": \"tf\",\n },\n vpc_id=\"vpc-7007ll7q\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var internalClb = new Tencentcloud.Clb.Instance(\"internalClb\", new()\n {\n ClbName = \"myclb\",\n NetworkType = \"INTERNAL\",\n ProjectId = 0,\n SubnetId = \"subnet-12rastkr\",\n Tags = \n {\n { \"test\", \"tf\" },\n },\n VpcId = \"vpc-7007ll7q\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Clb.NewInstance(ctx, \"internalClb\", \u0026Clb.InstanceArgs{\n\t\t\tClbName: pulumi.String(\"myclb\"),\n\t\t\tNetworkType: pulumi.String(\"INTERNAL\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tSubnetId: pulumi.String(\"subnet-12rastkr\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"test\": pulumi.Any(\"tf\"),\n\t\t\t},\n\t\t\tVpcId: pulumi.String(\"vpc-7007ll7q\"),\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.tencentcloud.Clb.Instance;\nimport com.pulumi.tencentcloud.Clb.InstanceArgs;\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 internalClb = new Instance(\"internalClb\", InstanceArgs.builder() \n .clbName(\"myclb\")\n .networkType(\"INTERNAL\")\n .projectId(0)\n .subnetId(\"subnet-12rastkr\")\n .tags(Map.of(\"test\", \"tf\"))\n .vpcId(\"vpc-7007ll7q\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n internalClb:\n type: tencentcloud:Clb:Instance\n properties:\n clbName: myclb\n networkType: INTERNAL\n projectId: 0\n subnetId: subnet-12rastkr\n tags:\n test: tf\n vpcId: vpc-7007ll7q\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### LCU-supported CLB\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst internalClb = new tencentcloud.clb.Instance(\"internalClb\", {\n clbName: \"myclb\",\n networkType: \"INTERNAL\",\n projectId: 0,\n slaType: \"clb.c3.medium\",\n subnetId: \"subnet-o3a5nt20\",\n tags: {\n test: \"tf\",\n },\n vpcId: \"vpc-2hfyray3\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\ninternal_clb = tencentcloud.clb.Instance(\"internalClb\",\n clb_name=\"myclb\",\n network_type=\"INTERNAL\",\n project_id=0,\n sla_type=\"clb.c3.medium\",\n subnet_id=\"subnet-o3a5nt20\",\n tags={\n \"test\": \"tf\",\n },\n vpc_id=\"vpc-2hfyray3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var internalClb = new Tencentcloud.Clb.Instance(\"internalClb\", new()\n {\n ClbName = \"myclb\",\n NetworkType = \"INTERNAL\",\n ProjectId = 0,\n SlaType = \"clb.c3.medium\",\n SubnetId = \"subnet-o3a5nt20\",\n Tags = \n {\n { \"test\", \"tf\" },\n },\n VpcId = \"vpc-2hfyray3\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Clb.NewInstance(ctx, \"internalClb\", \u0026Clb.InstanceArgs{\n\t\t\tClbName: pulumi.String(\"myclb\"),\n\t\t\tNetworkType: pulumi.String(\"INTERNAL\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tSlaType: pulumi.String(\"clb.c3.medium\"),\n\t\t\tSubnetId: pulumi.String(\"subnet-o3a5nt20\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"test\": pulumi.Any(\"tf\"),\n\t\t\t},\n\t\t\tVpcId: pulumi.String(\"vpc-2hfyray3\"),\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.tencentcloud.Clb.Instance;\nimport com.pulumi.tencentcloud.Clb.InstanceArgs;\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 internalClb = new Instance(\"internalClb\", InstanceArgs.builder() \n .clbName(\"myclb\")\n .networkType(\"INTERNAL\")\n .projectId(0)\n .slaType(\"clb.c3.medium\")\n .subnetId(\"subnet-o3a5nt20\")\n .tags(Map.of(\"test\", \"tf\"))\n .vpcId(\"vpc-2hfyray3\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n internalClb:\n type: tencentcloud:Clb:Instance\n properties:\n clbName: myclb\n networkType: INTERNAL\n projectId: 0\n slaType: clb.c3.medium\n subnetId: subnet-o3a5nt20\n tags:\n test: tf\n vpcId: vpc-2hfyray3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### OPEN CLB\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst openClb = new tencentcloud.clb.Instance(\"openClb\", {\n clbName: \"myclb\",\n networkType: \"OPEN\",\n projectId: 0,\n securityGroups: [\"sg-o0ek7r93\"],\n tags: {\n test: \"tf\",\n },\n vpcId: \"vpc-da7ffa61\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nopen_clb = tencentcloud.clb.Instance(\"openClb\",\n clb_name=\"myclb\",\n network_type=\"OPEN\",\n project_id=0,\n security_groups=[\"sg-o0ek7r93\"],\n tags={\n \"test\": \"tf\",\n },\n vpc_id=\"vpc-da7ffa61\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var openClb = new Tencentcloud.Clb.Instance(\"openClb\", new()\n {\n ClbName = \"myclb\",\n NetworkType = \"OPEN\",\n ProjectId = 0,\n SecurityGroups = new[]\n {\n \"sg-o0ek7r93\",\n },\n Tags = \n {\n { \"test\", \"tf\" },\n },\n VpcId = \"vpc-da7ffa61\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Clb.NewInstance(ctx, \"openClb\", \u0026Clb.InstanceArgs{\n\t\t\tClbName: pulumi.String(\"myclb\"),\n\t\t\tNetworkType: pulumi.String(\"OPEN\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sg-o0ek7r93\"),\n\t\t\t},\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"test\": pulumi.Any(\"tf\"),\n\t\t\t},\n\t\t\tVpcId: pulumi.String(\"vpc-da7ffa61\"),\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.tencentcloud.Clb.Instance;\nimport com.pulumi.tencentcloud.Clb.InstanceArgs;\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 openClb = new Instance(\"openClb\", InstanceArgs.builder() \n .clbName(\"myclb\")\n .networkType(\"OPEN\")\n .projectId(0)\n .securityGroups(\"sg-o0ek7r93\")\n .tags(Map.of(\"test\", \"tf\"))\n .vpcId(\"vpc-da7ffa61\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n openClb:\n type: tencentcloud:Clb:Instance\n properties:\n clbName: myclb\n networkType: OPEN\n projectId: 0\n securityGroups:\n - sg-o0ek7r93\n tags:\n test: tf\n vpcId: vpc-da7ffa61\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SUPPORT CORS\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst openClb = new tencentcloud.clb.Instance(\"openClb\", {\n clbName: \"myclb\",\n networkType: \"OPEN\",\n projectId: 0,\n securityGroups: [\"sg-o0ek7r93\"],\n tags: {\n test: \"tf\",\n },\n targetRegionInfoRegion: \"ap-guangzhou\",\n targetRegionInfoVpcId: \"vpc-da7ffa61\",\n vpcId: \"vpc-da7ffa61\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nopen_clb = tencentcloud.clb.Instance(\"openClb\",\n clb_name=\"myclb\",\n network_type=\"OPEN\",\n project_id=0,\n security_groups=[\"sg-o0ek7r93\"],\n tags={\n \"test\": \"tf\",\n },\n target_region_info_region=\"ap-guangzhou\",\n target_region_info_vpc_id=\"vpc-da7ffa61\",\n vpc_id=\"vpc-da7ffa61\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var openClb = new Tencentcloud.Clb.Instance(\"openClb\", new()\n {\n ClbName = \"myclb\",\n NetworkType = \"OPEN\",\n ProjectId = 0,\n SecurityGroups = new[]\n {\n \"sg-o0ek7r93\",\n },\n Tags = \n {\n { \"test\", \"tf\" },\n },\n TargetRegionInfoRegion = \"ap-guangzhou\",\n TargetRegionInfoVpcId = \"vpc-da7ffa61\",\n VpcId = \"vpc-da7ffa61\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Clb.NewInstance(ctx, \"openClb\", \u0026Clb.InstanceArgs{\n\t\t\tClbName: pulumi.String(\"myclb\"),\n\t\t\tNetworkType: pulumi.String(\"OPEN\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sg-o0ek7r93\"),\n\t\t\t},\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"test\": pulumi.Any(\"tf\"),\n\t\t\t},\n\t\t\tTargetRegionInfoRegion: pulumi.String(\"ap-guangzhou\"),\n\t\t\tTargetRegionInfoVpcId: pulumi.String(\"vpc-da7ffa61\"),\n\t\t\tVpcId: pulumi.String(\"vpc-da7ffa61\"),\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.tencentcloud.Clb.Instance;\nimport com.pulumi.tencentcloud.Clb.InstanceArgs;\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 openClb = new Instance(\"openClb\", InstanceArgs.builder() \n .clbName(\"myclb\")\n .networkType(\"OPEN\")\n .projectId(0)\n .securityGroups(\"sg-o0ek7r93\")\n .tags(Map.of(\"test\", \"tf\"))\n .targetRegionInfoRegion(\"ap-guangzhou\")\n .targetRegionInfoVpcId(\"vpc-da7ffa61\")\n .vpcId(\"vpc-da7ffa61\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n openClb:\n type: tencentcloud:Clb:Instance\n properties:\n clbName: myclb\n networkType: OPEN\n projectId: 0\n securityGroups:\n - sg-o0ek7r93\n tags:\n test: tf\n targetRegionInfoRegion: ap-guangzhou\n targetRegionInfoVpcId: vpc-da7ffa61\n vpcId: vpc-da7ffa61\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### OPNE CLB with VipIsp\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst example = new tencentcloud.vpc.BandwidthPackage(\"example\", {\n networkType: \"SINGLEISP_CMCC\",\n chargeType: \"ENHANCED95_POSTPAID_BY_MONTH\",\n bandwidthPackageName: \"tf-example\",\n internetMaxBandwidth: 300,\n egress: \"center_egress1\",\n tags: {\n createdBy: \"terraform\",\n },\n});\nconst openClb = new tencentcloud.clb.Instance(\"openClb\", {\n networkType: \"OPEN\",\n clbName: \"my-open-clb\",\n projectId: 0,\n vpcId: \"vpc-4owdpnwr\",\n vipIsp: \"CMCC\",\n internetChargeType: \"BANDWIDTH_PACKAGE\",\n bandwidthPackageId: example.id,\n tags: {\n test: \"open\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.vpc.BandwidthPackage(\"example\",\n network_type=\"SINGLEISP_CMCC\",\n charge_type=\"ENHANCED95_POSTPAID_BY_MONTH\",\n bandwidth_package_name=\"tf-example\",\n internet_max_bandwidth=300,\n egress=\"center_egress1\",\n tags={\n \"createdBy\": \"terraform\",\n })\nopen_clb = tencentcloud.clb.Instance(\"openClb\",\n network_type=\"OPEN\",\n clb_name=\"my-open-clb\",\n project_id=0,\n vpc_id=\"vpc-4owdpnwr\",\n vip_isp=\"CMCC\",\n internet_charge_type=\"BANDWIDTH_PACKAGE\",\n bandwidth_package_id=example.id,\n tags={\n \"test\": \"open\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Tencentcloud.Vpc.BandwidthPackage(\"example\", new()\n {\n NetworkType = \"SINGLEISP_CMCC\",\n ChargeType = \"ENHANCED95_POSTPAID_BY_MONTH\",\n BandwidthPackageName = \"tf-example\",\n InternetMaxBandwidth = 300,\n Egress = \"center_egress1\",\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n });\n\n var openClb = new Tencentcloud.Clb.Instance(\"openClb\", new()\n {\n NetworkType = \"OPEN\",\n ClbName = \"my-open-clb\",\n ProjectId = 0,\n VpcId = \"vpc-4owdpnwr\",\n VipIsp = \"CMCC\",\n InternetChargeType = \"BANDWIDTH_PACKAGE\",\n BandwidthPackageId = example.Id,\n Tags = \n {\n { \"test\", \"open\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := Vpc.NewBandwidthPackage(ctx, \"example\", \u0026Vpc.BandwidthPackageArgs{\n\t\t\tNetworkType: pulumi.String(\"SINGLEISP_CMCC\"),\n\t\t\tChargeType: pulumi.String(\"ENHANCED95_POSTPAID_BY_MONTH\"),\n\t\t\tBandwidthPackageName: pulumi.String(\"tf-example\"),\n\t\t\tInternetMaxBandwidth: pulumi.Int(300),\n\t\t\tEgress: pulumi.String(\"center_egress1\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"createdBy\": pulumi.Any(\"terraform\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Clb.NewInstance(ctx, \"openClb\", \u0026Clb.InstanceArgs{\n\t\t\tNetworkType: pulumi.String(\"OPEN\"),\n\t\t\tClbName: pulumi.String(\"my-open-clb\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tVpcId: pulumi.String(\"vpc-4owdpnwr\"),\n\t\t\tVipIsp: pulumi.String(\"CMCC\"),\n\t\t\tInternetChargeType: pulumi.String(\"BANDWIDTH_PACKAGE\"),\n\t\t\tBandwidthPackageId: example.ID(),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"test\": pulumi.Any(\"open\"),\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.tencentcloud.Vpc.BandwidthPackage;\nimport com.pulumi.tencentcloud.Vpc.BandwidthPackageArgs;\nimport com.pulumi.tencentcloud.Clb.Instance;\nimport com.pulumi.tencentcloud.Clb.InstanceArgs;\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 BandwidthPackage(\"example\", BandwidthPackageArgs.builder() \n .networkType(\"SINGLEISP_CMCC\")\n .chargeType(\"ENHANCED95_POSTPAID_BY_MONTH\")\n .bandwidthPackageName(\"tf-example\")\n .internetMaxBandwidth(300)\n .egress(\"center_egress1\")\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n var openClb = new Instance(\"openClb\", InstanceArgs.builder() \n .networkType(\"OPEN\")\n .clbName(\"my-open-clb\")\n .projectId(0)\n .vpcId(\"vpc-4owdpnwr\")\n .vipIsp(\"CMCC\")\n .internetChargeType(\"BANDWIDTH_PACKAGE\")\n .bandwidthPackageId(example.id())\n .tags(Map.of(\"test\", \"open\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Vpc:BandwidthPackage\n properties:\n networkType: SINGLEISP_CMCC\n chargeType: ENHANCED95_POSTPAID_BY_MONTH\n bandwidthPackageName: tf-example\n internetMaxBandwidth: 300\n egress: center_egress1\n tags:\n createdBy: terraform\n openClb:\n type: tencentcloud:Clb:Instance\n properties:\n networkType: OPEN\n clbName: my-open-clb\n projectId: 0\n vpcId: vpc-4owdpnwr\n vipIsp: CMCC\n internetChargeType: BANDWIDTH_PACKAGE\n bandwidthPackageId: ${example.id}\n tags:\n test: open\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Dynamic Vip Instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst fooGroup = new tencentcloud.security.Group(\"fooGroup\", {});\nconst fooInstance = new tencentcloud.vpc.Instance(\"fooInstance\", {cidrBlock: \"10.0.0.0/16\"});\nconst clbOpen = new tencentcloud.clb.Instance(\"clbOpen\", {\n networkType: \"OPEN\",\n clbName: \"clb-instance-open\",\n projectId: 0,\n vpcId: fooInstance.id,\n targetRegionInfoRegion: \"ap-guangzhou\",\n targetRegionInfoVpcId: fooInstance.id,\n securityGroups: [fooGroup.id],\n dynamicVip: true,\n tags: {\n test: \"tf\",\n },\n});\nexport const domain = clbOpen.domain;\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nfoo_group = tencentcloud.security.Group(\"fooGroup\")\nfoo_instance = tencentcloud.vpc.Instance(\"fooInstance\", cidr_block=\"10.0.0.0/16\")\nclb_open = tencentcloud.clb.Instance(\"clbOpen\",\n network_type=\"OPEN\",\n clb_name=\"clb-instance-open\",\n project_id=0,\n vpc_id=foo_instance.id,\n target_region_info_region=\"ap-guangzhou\",\n target_region_info_vpc_id=foo_instance.id,\n security_groups=[foo_group.id],\n dynamic_vip=True,\n tags={\n \"test\": \"tf\",\n })\npulumi.export(\"domain\", clb_open.domain)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fooGroup = new Tencentcloud.Security.Group(\"fooGroup\");\n\n var fooInstance = new Tencentcloud.Vpc.Instance(\"fooInstance\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var clbOpen = new Tencentcloud.Clb.Instance(\"clbOpen\", new()\n {\n NetworkType = \"OPEN\",\n ClbName = \"clb-instance-open\",\n ProjectId = 0,\n VpcId = fooInstance.Id,\n TargetRegionInfoRegion = \"ap-guangzhou\",\n TargetRegionInfoVpcId = fooInstance.Id,\n SecurityGroups = new[]\n {\n fooGroup.Id,\n },\n DynamicVip = true,\n Tags = \n {\n { \"test\", \"tf\" },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"domain\"] = clbOpen.Domain,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Security\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfooGroup, err := Security.NewGroup(ctx, \"fooGroup\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooInstance, err := Vpc.NewInstance(ctx, \"fooInstance\", \u0026Vpc.InstanceArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tclbOpen, err := Clb.NewInstance(ctx, \"clbOpen\", \u0026Clb.InstanceArgs{\n\t\t\tNetworkType: pulumi.String(\"OPEN\"),\n\t\t\tClbName: pulumi.String(\"clb-instance-open\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tVpcId: fooInstance.ID(),\n\t\t\tTargetRegionInfoRegion: pulumi.String(\"ap-guangzhou\"),\n\t\t\tTargetRegionInfoVpcId: fooInstance.ID(),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tfooGroup.ID(),\n\t\t\t},\n\t\t\tDynamicVip: pulumi.Bool(true),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"test\": pulumi.Any(\"tf\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"domain\", clbOpen.Domain)\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.tencentcloud.Security.Group;\nimport com.pulumi.tencentcloud.Vpc.Instance;\nimport com.pulumi.tencentcloud.Vpc.InstanceArgs;\nimport com.pulumi.tencentcloud.Clb.Instance;\nimport com.pulumi.tencentcloud.Clb.InstanceArgs;\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 fooGroup = new Group(\"fooGroup\");\n\n var fooInstance = new Instance(\"fooInstance\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var clbOpen = new Instance(\"clbOpen\", InstanceArgs.builder() \n .networkType(\"OPEN\")\n .clbName(\"clb-instance-open\")\n .projectId(0)\n .vpcId(fooInstance.id())\n .targetRegionInfoRegion(\"ap-guangzhou\")\n .targetRegionInfoVpcId(fooInstance.id())\n .securityGroups(fooGroup.id())\n .dynamicVip(true)\n .tags(Map.of(\"test\", \"tf\"))\n .build());\n\n ctx.export(\"domain\", clbOpen.domain());\n }\n}\n```\n```yaml\nresources:\n fooGroup:\n type: tencentcloud:Security:Group\n fooInstance:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n clbOpen:\n type: tencentcloud:Clb:Instance\n properties:\n networkType: OPEN\n clbName: clb-instance-open\n projectId: 0\n vpcId: ${fooInstance.id}\n targetRegionInfoRegion: ap-guangzhou\n targetRegionInfoVpcId: ${fooInstance.id}\n securityGroups:\n - ${fooGroup.id}\n dynamicVip: true\n tags:\n test: tf\noutputs:\n domain: ${clbOpen.domain}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Specified Vip Instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst fooGroup = new tencentcloud.security.Group(\"fooGroup\", {});\nconst fooInstance = new tencentcloud.vpc.Instance(\"fooInstance\", {cidrBlock: \"10.0.0.0/16\"});\nconst clbOpen = new tencentcloud.clb.Instance(\"clbOpen\", {\n networkType: \"OPEN\",\n clbName: \"clb-instance-open\",\n projectId: 0,\n vpcId: fooInstance.id,\n securityGroups: [fooGroup.id],\n vip: \"111.230.4.204\",\n tags: {\n test: \"tf\",\n },\n});\nexport const domain = tencentcloud_clb_instance.vip;\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nfoo_group = tencentcloud.security.Group(\"fooGroup\")\nfoo_instance = tencentcloud.vpc.Instance(\"fooInstance\", cidr_block=\"10.0.0.0/16\")\nclb_open = tencentcloud.clb.Instance(\"clbOpen\",\n network_type=\"OPEN\",\n clb_name=\"clb-instance-open\",\n project_id=0,\n vpc_id=foo_instance.id,\n security_groups=[foo_group.id],\n vip=\"111.230.4.204\",\n tags={\n \"test\": \"tf\",\n })\npulumi.export(\"domain\", tencentcloud_clb_instance[\"vip\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fooGroup = new Tencentcloud.Security.Group(\"fooGroup\");\n\n var fooInstance = new Tencentcloud.Vpc.Instance(\"fooInstance\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var clbOpen = new Tencentcloud.Clb.Instance(\"clbOpen\", new()\n {\n NetworkType = \"OPEN\",\n ClbName = \"clb-instance-open\",\n ProjectId = 0,\n VpcId = fooInstance.Id,\n SecurityGroups = new[]\n {\n fooGroup.Id,\n },\n Vip = \"111.230.4.204\",\n Tags = \n {\n { \"test\", \"tf\" },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"domain\"] = tencentcloud_clb_instance.Vip,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Security\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfooGroup, err := Security.NewGroup(ctx, \"fooGroup\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfooInstance, err := Vpc.NewInstance(ctx, \"fooInstance\", \u0026Vpc.InstanceArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Clb.NewInstance(ctx, \"clbOpen\", \u0026Clb.InstanceArgs{\n\t\t\tNetworkType: pulumi.String(\"OPEN\"),\n\t\t\tClbName: pulumi.String(\"clb-instance-open\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tVpcId: fooInstance.ID(),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tfooGroup.ID(),\n\t\t\t},\n\t\t\tVip: pulumi.String(\"111.230.4.204\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"test\": pulumi.Any(\"tf\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"domain\", tencentcloud_clb_instance.Vip)\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.tencentcloud.Security.Group;\nimport com.pulumi.tencentcloud.Vpc.Instance;\nimport com.pulumi.tencentcloud.Vpc.InstanceArgs;\nimport com.pulumi.tencentcloud.Clb.Instance;\nimport com.pulumi.tencentcloud.Clb.InstanceArgs;\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 fooGroup = new Group(\"fooGroup\");\n\n var fooInstance = new Instance(\"fooInstance\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var clbOpen = new Instance(\"clbOpen\", InstanceArgs.builder() \n .networkType(\"OPEN\")\n .clbName(\"clb-instance-open\")\n .projectId(0)\n .vpcId(fooInstance.id())\n .securityGroups(fooGroup.id())\n .vip(\"111.230.4.204\")\n .tags(Map.of(\"test\", \"tf\"))\n .build());\n\n ctx.export(\"domain\", tencentcloud_clb_instance.vip());\n }\n}\n```\n```yaml\nresources:\n fooGroup:\n type: tencentcloud:Security:Group\n fooInstance:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n clbOpen:\n type: tencentcloud:Clb:Instance\n properties:\n networkType: OPEN\n clbName: clb-instance-open\n projectId: 0\n vpcId: ${fooInstance.id}\n securityGroups:\n - ${fooGroup.id}\n vip: 111.230.4.204\n tags:\n test: tf\noutputs:\n domain: ${tencentcloud_clb_instance.vip}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Default enable\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst foo = new tencentcloud.vpc.Instance(\"foo\", {\n cidrBlock: \"10.0.0.0/16\",\n tags: {\n test: \"mytest\",\n },\n});\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n availabilityZone: \"ap-guangzhou-1\",\n vpcId: foo.id,\n cidrBlock: \"10.0.20.0/28\",\n isMulticast: false,\n});\nconst sglab = new tencentcloud.security.Group(\"sglab\", {\n description: \"favourite sg\",\n projectId: 0,\n});\nconst openClb = new tencentcloud.clb.Instance(\"openClb\", {\n networkType: \"OPEN\",\n clbName: \"my-open-clb\",\n projectId: 0,\n vpcId: foo.id,\n loadBalancerPassToTarget: true,\n securityGroups: [sglab.id],\n targetRegionInfoRegion: \"ap-guangzhou\",\n targetRegionInfoVpcId: foo.id,\n tags: {\n test: \"open\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nfoo = tencentcloud.vpc.Instance(\"foo\",\n cidr_block=\"10.0.0.0/16\",\n tags={\n \"test\": \"mytest\",\n })\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n availability_zone=\"ap-guangzhou-1\",\n vpc_id=foo.id,\n cidr_block=\"10.0.20.0/28\",\n is_multicast=False)\nsglab = tencentcloud.security.Group(\"sglab\",\n description=\"favourite sg\",\n project_id=0)\nopen_clb = tencentcloud.clb.Instance(\"openClb\",\n network_type=\"OPEN\",\n clb_name=\"my-open-clb\",\n project_id=0,\n vpc_id=foo.id,\n load_balancer_pass_to_target=True,\n security_groups=[sglab.id],\n target_region_info_region=\"ap-guangzhou\",\n target_region_info_vpc_id=foo.id,\n tags={\n \"test\": \"open\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Tencentcloud.Vpc.Instance(\"foo\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n Tags = \n {\n { \"test\", \"mytest\" },\n },\n });\n\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n AvailabilityZone = \"ap-guangzhou-1\",\n VpcId = foo.Id,\n CidrBlock = \"10.0.20.0/28\",\n IsMulticast = false,\n });\n\n var sglab = new Tencentcloud.Security.Group(\"sglab\", new()\n {\n Description = \"favourite sg\",\n ProjectId = 0,\n });\n\n var openClb = new Tencentcloud.Clb.Instance(\"openClb\", new()\n {\n NetworkType = \"OPEN\",\n ClbName = \"my-open-clb\",\n ProjectId = 0,\n VpcId = foo.Id,\n LoadBalancerPassToTarget = true,\n SecurityGroups = new[]\n {\n sglab.Id,\n },\n TargetRegionInfoRegion = \"ap-guangzhou\",\n TargetRegionInfoVpcId = foo.Id,\n Tags = \n {\n { \"test\", \"open\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Security\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := Vpc.NewInstance(ctx, \"foo\", \u0026Vpc.InstanceArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"test\": pulumi.Any(\"mytest\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"ap-guangzhou-1\"),\n\t\t\tVpcId: foo.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.20.0/28\"),\n\t\t\tIsMulticast: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsglab, err := Security.NewGroup(ctx, \"sglab\", \u0026Security.GroupArgs{\n\t\t\tDescription: pulumi.String(\"favourite sg\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Clb.NewInstance(ctx, \"openClb\", \u0026Clb.InstanceArgs{\n\t\t\tNetworkType: pulumi.String(\"OPEN\"),\n\t\t\tClbName: pulumi.String(\"my-open-clb\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tVpcId: foo.ID(),\n\t\t\tLoadBalancerPassToTarget: pulumi.Bool(true),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tsglab.ID(),\n\t\t\t},\n\t\t\tTargetRegionInfoRegion: pulumi.String(\"ap-guangzhou\"),\n\t\t\tTargetRegionInfoVpcId: foo.ID(),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"test\": pulumi.Any(\"open\"),\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.tencentcloud.Vpc.Instance;\nimport com.pulumi.tencentcloud.Vpc.InstanceArgs;\nimport com.pulumi.tencentcloud.Subnet.Instance;\nimport com.pulumi.tencentcloud.Subnet.InstanceArgs;\nimport com.pulumi.tencentcloud.Security.Group;\nimport com.pulumi.tencentcloud.Security.GroupArgs;\nimport com.pulumi.tencentcloud.Clb.Instance;\nimport com.pulumi.tencentcloud.Clb.InstanceArgs;\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 Instance(\"foo\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .tags(Map.of(\"test\", \"mytest\"))\n .build());\n\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .availabilityZone(\"ap-guangzhou-1\")\n .vpcId(foo.id())\n .cidrBlock(\"10.0.20.0/28\")\n .isMulticast(false)\n .build());\n\n var sglab = new Group(\"sglab\", GroupArgs.builder() \n .description(\"favourite sg\")\n .projectId(0)\n .build());\n\n var openClb = new Instance(\"openClb\", InstanceArgs.builder() \n .networkType(\"OPEN\")\n .clbName(\"my-open-clb\")\n .projectId(0)\n .vpcId(foo.id())\n .loadBalancerPassToTarget(true)\n .securityGroups(sglab.id())\n .targetRegionInfoRegion(\"ap-guangzhou\")\n .targetRegionInfoVpcId(foo.id())\n .tags(Map.of(\"test\", \"open\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n availabilityZone: ap-guangzhou-1\n vpcId: ${foo.id}\n cidrBlock: 10.0.20.0/28\n isMulticast: false\n sglab:\n type: tencentcloud:Security:Group\n properties:\n description: favourite sg\n projectId: 0\n foo:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n tags:\n test: mytest\n openClb:\n type: tencentcloud:Clb:Instance\n properties:\n networkType: OPEN\n clbName: my-open-clb\n projectId: 0\n vpcId: ${foo.id}\n loadBalancerPassToTarget: true\n securityGroups:\n - ${sglab.id}\n targetRegionInfoRegion: ap-guangzhou\n targetRegionInfoVpcId: ${foo.id}\n tags:\n test: open\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### CREATE multiple instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst openClb1 = new tencentcloud.clb.Instance(\"openClb1\", {\n clbName: \"hello\",\n masterZoneId: \"ap-guangzhou-3\",\n networkType: \"OPEN\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nopen_clb1 = tencentcloud.clb.Instance(\"openClb1\",\n clb_name=\"hello\",\n master_zone_id=\"ap-guangzhou-3\",\n network_type=\"OPEN\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var openClb1 = new Tencentcloud.Clb.Instance(\"openClb1\", new()\n {\n ClbName = \"hello\",\n MasterZoneId = \"ap-guangzhou-3\",\n NetworkType = \"OPEN\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Clb.NewInstance(ctx, \"openClb1\", \u0026Clb.InstanceArgs{\n\t\t\tClbName: pulumi.String(\"hello\"),\n\t\t\tMasterZoneId: pulumi.String(\"ap-guangzhou-3\"),\n\t\t\tNetworkType: pulumi.String(\"OPEN\"),\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.tencentcloud.Clb.Instance;\nimport com.pulumi.tencentcloud.Clb.InstanceArgs;\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 openClb1 = new Instance(\"openClb1\", InstanceArgs.builder() \n .clbName(\"hello\")\n .masterZoneId(\"ap-guangzhou-3\")\n .networkType(\"OPEN\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n openClb1:\n type: tencentcloud:Clb:Instance\n properties:\n clbName: hello\n masterZoneId: ap-guangzhou-3\n networkType: OPEN\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### CREATE instance with log\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst vpcTest = new tencentcloud.vpc.Instance(\"vpcTest\", {cidrBlock: \"10.0.0.0/16\"});\nconst rtbTest = new tencentcloud.route.Table(\"rtbTest\", {vpcId: vpcTest.id});\nconst subnetTest = new tencentcloud.subnet.Instance(\"subnetTest\", {\n availabilityZone: \"ap-guangzhou-3\",\n cidrBlock: \"10.0.1.0/24\",\n routeTableId: rtbTest.id,\n vpcId: vpcTest.id,\n});\nconst set = new tencentcloud.clb.LogSet(\"set\", {period: 7});\nconst topic = new tencentcloud.clb.LogTopic(\"topic\", {\n logSetId: set.id,\n topicName: \"clb-topic\",\n});\nconst internalClb = new tencentcloud.clb.Instance(\"internalClb\", {\n clbName: \"myclb\",\n loadBalancerPassToTarget: true,\n logSetId: set.id,\n logTopicId: topic.id,\n networkType: \"INTERNAL\",\n projectId: 0,\n subnetId: subnetTest.id,\n tags: {\n test: \"tf\",\n },\n vpcId: vpcTest.id,\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nvpc_test = tencentcloud.vpc.Instance(\"vpcTest\", cidr_block=\"10.0.0.0/16\")\nrtb_test = tencentcloud.route.Table(\"rtbTest\", vpc_id=vpc_test.id)\nsubnet_test = tencentcloud.subnet.Instance(\"subnetTest\",\n availability_zone=\"ap-guangzhou-3\",\n cidr_block=\"10.0.1.0/24\",\n route_table_id=rtb_test.id,\n vpc_id=vpc_test.id)\nset = tencentcloud.clb.LogSet(\"set\", period=7)\ntopic = tencentcloud.clb.LogTopic(\"topic\",\n log_set_id=set.id,\n topic_name=\"clb-topic\")\ninternal_clb = tencentcloud.clb.Instance(\"internalClb\",\n clb_name=\"myclb\",\n load_balancer_pass_to_target=True,\n log_set_id=set.id,\n log_topic_id=topic.id,\n network_type=\"INTERNAL\",\n project_id=0,\n subnet_id=subnet_test.id,\n tags={\n \"test\": \"tf\",\n },\n vpc_id=vpc_test.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vpcTest = new Tencentcloud.Vpc.Instance(\"vpcTest\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n var rtbTest = new Tencentcloud.Route.Table(\"rtbTest\", new()\n {\n VpcId = vpcTest.Id,\n });\n\n var subnetTest = new Tencentcloud.Subnet.Instance(\"subnetTest\", new()\n {\n AvailabilityZone = \"ap-guangzhou-3\",\n CidrBlock = \"10.0.1.0/24\",\n RouteTableId = rtbTest.Id,\n VpcId = vpcTest.Id,\n });\n\n var @set = new Tencentcloud.Clb.LogSet(\"set\", new()\n {\n Period = 7,\n });\n\n var topic = new Tencentcloud.Clb.LogTopic(\"topic\", new()\n {\n LogSetId = @set.Id,\n TopicName = \"clb-topic\",\n });\n\n var internalClb = new Tencentcloud.Clb.Instance(\"internalClb\", new()\n {\n ClbName = \"myclb\",\n LoadBalancerPassToTarget = true,\n LogSetId = @set.Id,\n LogTopicId = topic.Id,\n NetworkType = \"INTERNAL\",\n ProjectId = 0,\n SubnetId = subnetTest.Id,\n Tags = \n {\n { \"test\", \"tf\" },\n },\n VpcId = vpcTest.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Route\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvpcTest, err := Vpc.NewInstance(ctx, \"vpcTest\", \u0026Vpc.InstanceArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trtbTest, err := Route.NewTable(ctx, \"rtbTest\", \u0026Route.TableArgs{\n\t\t\tVpcId: vpcTest.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnetTest, err := Subnet.NewInstance(ctx, \"subnetTest\", \u0026Subnet.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"ap-guangzhou-3\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.1.0/24\"),\n\t\t\tRouteTableId: rtbTest.ID(),\n\t\t\tVpcId: vpcTest.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tset, err := Clb.NewLogSet(ctx, \"set\", \u0026Clb.LogSetArgs{\n\t\t\tPeriod: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttopic, err := Clb.NewLogTopic(ctx, \"topic\", \u0026Clb.LogTopicArgs{\n\t\t\tLogSetId: set.ID(),\n\t\t\tTopicName: pulumi.String(\"clb-topic\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Clb.NewInstance(ctx, \"internalClb\", \u0026Clb.InstanceArgs{\n\t\t\tClbName: pulumi.String(\"myclb\"),\n\t\t\tLoadBalancerPassToTarget: pulumi.Bool(true),\n\t\t\tLogSetId: set.ID(),\n\t\t\tLogTopicId: topic.ID(),\n\t\t\tNetworkType: pulumi.String(\"INTERNAL\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tSubnetId: subnetTest.ID(),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"test\": pulumi.Any(\"tf\"),\n\t\t\t},\n\t\t\tVpcId: vpcTest.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.tencentcloud.Vpc.Instance;\nimport com.pulumi.tencentcloud.Vpc.InstanceArgs;\nimport com.pulumi.tencentcloud.Route.Table;\nimport com.pulumi.tencentcloud.Route.TableArgs;\nimport com.pulumi.tencentcloud.Subnet.Instance;\nimport com.pulumi.tencentcloud.Subnet.InstanceArgs;\nimport com.pulumi.tencentcloud.Clb.LogSet;\nimport com.pulumi.tencentcloud.Clb.LogSetArgs;\nimport com.pulumi.tencentcloud.Clb.LogTopic;\nimport com.pulumi.tencentcloud.Clb.LogTopicArgs;\nimport com.pulumi.tencentcloud.Clb.Instance;\nimport com.pulumi.tencentcloud.Clb.InstanceArgs;\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 vpcTest = new Instance(\"vpcTest\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n var rtbTest = new Table(\"rtbTest\", TableArgs.builder() \n .vpcId(vpcTest.id())\n .build());\n\n var subnetTest = new Instance(\"subnetTest\", InstanceArgs.builder() \n .availabilityZone(\"ap-guangzhou-3\")\n .cidrBlock(\"10.0.1.0/24\")\n .routeTableId(rtbTest.id())\n .vpcId(vpcTest.id())\n .build());\n\n var set = new LogSet(\"set\", LogSetArgs.builder() \n .period(7)\n .build());\n\n var topic = new LogTopic(\"topic\", LogTopicArgs.builder() \n .logSetId(set.id())\n .topicName(\"clb-topic\")\n .build());\n\n var internalClb = new Instance(\"internalClb\", InstanceArgs.builder() \n .clbName(\"myclb\")\n .loadBalancerPassToTarget(true)\n .logSetId(set.id())\n .logTopicId(topic.id())\n .networkType(\"INTERNAL\")\n .projectId(0)\n .subnetId(subnetTest.id())\n .tags(Map.of(\"test\", \"tf\"))\n .vpcId(vpcTest.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpcTest:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n rtbTest:\n type: tencentcloud:Route:Table\n properties:\n vpcId: ${vpcTest.id}\n subnetTest:\n type: tencentcloud:Subnet:Instance\n properties:\n availabilityZone: ap-guangzhou-3\n cidrBlock: 10.0.1.0/24\n routeTableId: ${rtbTest.id}\n vpcId: ${vpcTest.id}\n set:\n type: tencentcloud:Clb:LogSet\n properties:\n period: 7\n topic:\n type: tencentcloud:Clb:LogTopic\n properties:\n logSetId: ${set.id}\n topicName: clb-topic\n internalClb:\n type: tencentcloud:Clb:Instance\n properties:\n clbName: myclb\n loadBalancerPassToTarget: true\n logSetId: ${set.id}\n logTopicId: ${topic.id}\n networkType: INTERNAL\n projectId: 0\n subnetId: ${subnetTest.id}\n tags:\n test: tf\n vpcId: ${vpcTest.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCLB instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Clb/instance:Instance foo lb-7a0t6zqb\n```\n", "properties": { "addressIpVersion": { "type": "string", "description": "IP version, only applicable to open CLB. Valid values are `ipv4`, `ipv6` and `IPv6FullChain`.\n" }, + "addressIpv6": { + "type": "string", + "description": "The IPv6 address of the load balancing instance.\n" + }, "bandwidthPackageId": { "type": "string", "description": "Bandwidth package id. If set, the `internet_charge_type` must be `BANDWIDTH_PACKAGE`.\n" @@ -133326,6 +134574,10 @@ "type": "string", "description": "Internet charge type, only applicable to open CLB. Valid values are `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`.\n" }, + "ipv6Mode": { + "type": "string", + "description": "This field is meaningful when the IP address version is ipv6, `IPv6Nat64` | `IPv6FullChain`.\n" + }, "loadBalancerPassToTarget": { "type": "boolean", "description": "Whether the target allow flow come from clb. If value is true, only check security group of clb, or check both clb and backend instance security group.\n" @@ -133414,11 +134666,13 @@ }, "required": [ "addressIpVersion", + "addressIpv6", "clbName", "clbVips", "domain", "internetBandwidthMaxOut", "internetChargeType", + "ipv6Mode", "networkType", "slaType", "targetRegionInfoRegion", @@ -133559,6 +134813,10 @@ "type": "string", "description": "IP version, only applicable to open CLB. Valid values are `ipv4`, `ipv6` and `IPv6FullChain`.\n" }, + "addressIpv6": { + "type": "string", + "description": "The IPv6 address of the load balancing instance.\n" + }, "bandwidthPackageId": { "type": "string", "description": "Bandwidth package id. If set, the `internet_charge_type` must be `BANDWIDTH_PACKAGE`.\n" @@ -133594,6 +134852,10 @@ "type": "string", "description": "Internet charge type, only applicable to open CLB. Valid values are `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`.\n" }, + "ipv6Mode": { + "type": "string", + "description": "This field is meaningful when the IP address version is ipv6, `IPv6Nat64` | `IPv6FullChain`.\n" + }, "loadBalancerPassToTarget": { "type": "boolean", "description": "Whether the target allow flow come from clb. If value is true, only check security group of clb, or check both clb and backend instance security group.\n" @@ -135988,7 +137250,7 @@ } }, "tencentcloud:Cls/alarm:Alarm": { - "description": "Provides a resource to create a cls alarm\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst example = new tencentcloud.cls.Alarm(\"example\", {\n alarmLevel: 0,\n alarmNoticeIds: [\"notice-0850756b-245d-4bc7-bb27-2a58fffc780b\"],\n alarmPeriod: 15,\n alarmTargets: [{\n endTimeOffset: 0,\n logsetId: \"33aaf0ae-6163-411b-a415-9f27450f68db\",\n number: 1,\n query: \"status:\u003e500 | select count(*) as errorCounts\",\n startTimeOffset: -15,\n topicId: \"88735a07-bea4-4985-8763-e9deb6da4fad\",\n }],\n analyses: [{\n configInfos: [{\n key: \"QueryIndex\",\n value: \"1\",\n }],\n content: \"__FILENAME__\",\n name: \"terraform\",\n type: \"field\",\n }],\n condition: \"test\",\n messageTemplate: \"{{.Label}}\",\n monitorTime: {\n time: 1,\n type: \"Period\",\n },\n status: true,\n tags: {\n createdBy: \"terraform\",\n },\n triggerCount: 1,\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.cls.Alarm(\"example\",\n alarm_level=0,\n alarm_notice_ids=[\"notice-0850756b-245d-4bc7-bb27-2a58fffc780b\"],\n alarm_period=15,\n alarm_targets=[tencentcloud.cls.AlarmAlarmTargetArgs(\n end_time_offset=0,\n logset_id=\"33aaf0ae-6163-411b-a415-9f27450f68db\",\n number=1,\n query=\"status:\u003e500 | select count(*) as errorCounts\",\n start_time_offset=-15,\n topic_id=\"88735a07-bea4-4985-8763-e9deb6da4fad\",\n )],\n analyses=[tencentcloud.cls.AlarmAnalysisArgs(\n config_infos=[tencentcloud.cls.AlarmAnalysisConfigInfoArgs(\n key=\"QueryIndex\",\n value=\"1\",\n )],\n content=\"__FILENAME__\",\n name=\"terraform\",\n type=\"field\",\n )],\n condition=\"test\",\n message_template=\"{{.Label}}\",\n monitor_time=tencentcloud.cls.AlarmMonitorTimeArgs(\n time=1,\n type=\"Period\",\n ),\n status=True,\n tags={\n \"createdBy\": \"terraform\",\n },\n trigger_count=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Tencentcloud.Cls.Alarm(\"example\", new()\n {\n AlarmLevel = 0,\n AlarmNoticeIds = new[]\n {\n \"notice-0850756b-245d-4bc7-bb27-2a58fffc780b\",\n },\n AlarmPeriod = 15,\n AlarmTargets = new[]\n {\n new Tencentcloud.Cls.Inputs.AlarmAlarmTargetArgs\n {\n EndTimeOffset = 0,\n LogsetId = \"33aaf0ae-6163-411b-a415-9f27450f68db\",\n Number = 1,\n Query = \"status:\u003e500 | select count(*) as errorCounts\",\n StartTimeOffset = -15,\n TopicId = \"88735a07-bea4-4985-8763-e9deb6da4fad\",\n },\n },\n Analyses = new[]\n {\n new Tencentcloud.Cls.Inputs.AlarmAnalysisArgs\n {\n ConfigInfos = new[]\n {\n new Tencentcloud.Cls.Inputs.AlarmAnalysisConfigInfoArgs\n {\n Key = \"QueryIndex\",\n Value = \"1\",\n },\n },\n Content = \"__FILENAME__\",\n Name = \"terraform\",\n Type = \"field\",\n },\n },\n Condition = \"test\",\n MessageTemplate = \"{{.Label}}\",\n MonitorTime = new Tencentcloud.Cls.Inputs.AlarmMonitorTimeArgs\n {\n Time = 1,\n Type = \"Period\",\n },\n Status = true,\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n TriggerCount = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cls\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cls.NewAlarm(ctx, \"example\", \u0026Cls.AlarmArgs{\n\t\t\tAlarmLevel: pulumi.Int(0),\n\t\t\tAlarmNoticeIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"notice-0850756b-245d-4bc7-bb27-2a58fffc780b\"),\n\t\t\t},\n\t\t\tAlarmPeriod: pulumi.Int(15),\n\t\t\tAlarmTargets: cls.AlarmAlarmTargetArray{\n\t\t\t\t\u0026cls.AlarmAlarmTargetArgs{\n\t\t\t\t\tEndTimeOffset: pulumi.Int(0),\n\t\t\t\t\tLogsetId: pulumi.String(\"33aaf0ae-6163-411b-a415-9f27450f68db\"),\n\t\t\t\t\tNumber: pulumi.Int(1),\n\t\t\t\t\tQuery: pulumi.String(\"status:\u003e500 | select count(*) as errorCounts\"),\n\t\t\t\t\tStartTimeOffset: -15,\n\t\t\t\t\tTopicId: pulumi.String(\"88735a07-bea4-4985-8763-e9deb6da4fad\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAnalyses: cls.AlarmAnalysisArray{\n\t\t\t\t\u0026cls.AlarmAnalysisArgs{\n\t\t\t\t\tConfigInfos: cls.AlarmAnalysisConfigInfoArray{\n\t\t\t\t\t\t\u0026cls.AlarmAnalysisConfigInfoArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"QueryIndex\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tContent: pulumi.String(\"__FILENAME__\"),\n\t\t\t\t\tName: pulumi.String(\"terraform\"),\n\t\t\t\t\tType: pulumi.String(\"field\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tCondition: pulumi.String(\"test\"),\n\t\t\tMessageTemplate: pulumi.String(\"{{.Label}}\"),\n\t\t\tMonitorTime: \u0026cls.AlarmMonitorTimeArgs{\n\t\t\t\tTime: pulumi.Int(1),\n\t\t\t\tType: pulumi.String(\"Period\"),\n\t\t\t},\n\t\t\tStatus: pulumi.Bool(true),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"createdBy\": pulumi.Any(\"terraform\"),\n\t\t\t},\n\t\t\tTriggerCount: pulumi.Int(1),\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.tencentcloud.Cls.Alarm;\nimport com.pulumi.tencentcloud.Cls.AlarmArgs;\nimport com.pulumi.tencentcloud.Cls.inputs.AlarmAlarmTargetArgs;\nimport com.pulumi.tencentcloud.Cls.inputs.AlarmAnalysisArgs;\nimport com.pulumi.tencentcloud.Cls.inputs.AlarmMonitorTimeArgs;\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 Alarm(\"example\", AlarmArgs.builder() \n .alarmLevel(0)\n .alarmNoticeIds(\"notice-0850756b-245d-4bc7-bb27-2a58fffc780b\")\n .alarmPeriod(15)\n .alarmTargets(AlarmAlarmTargetArgs.builder()\n .endTimeOffset(0)\n .logsetId(\"33aaf0ae-6163-411b-a415-9f27450f68db\")\n .number(1)\n .query(\"status:\u003e500 | select count(*) as errorCounts\")\n .startTimeOffset(\"TODO: GenUnaryOpExpression\")\n .topicId(\"88735a07-bea4-4985-8763-e9deb6da4fad\")\n .build())\n .analyses(AlarmAnalysisArgs.builder()\n .configInfos(AlarmAnalysisConfigInfoArgs.builder()\n .key(\"QueryIndex\")\n .value(\"1\")\n .build())\n .content(\"__FILENAME__\")\n .name(\"terraform\")\n .type(\"field\")\n .build())\n .condition(\"test\")\n .messageTemplate(\"{{.Label}}\")\n .monitorTime(AlarmMonitorTimeArgs.builder()\n .time(1)\n .type(\"Period\")\n .build())\n .status(true)\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .triggerCount(1)\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\ncls alarm can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Cls/alarm:Alarm example alarm-d8529662-e10f-440c-ba80-50f3dcf215a3\n```\n\n", + "description": "Provides a resource to create a cls alarm\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst example = new tencentcloud.cls.Alarm(\"example\", {\n alarmLevel: 0,\n alarmNoticeIds: [\"notice-0850756b-245d-4bc7-bb27-2a58fffc780b\"],\n alarmPeriod: 15,\n alarmTargets: [{\n endTimeOffset: 0,\n logsetId: \"33aaf0ae-6163-411b-a415-9f27450f68db\",\n number: 1,\n query: \"status:\u003e500 | select count(*) as errorCounts\",\n startTimeOffset: -15,\n syntaxRule: 1,\n topicId: \"88735a07-bea4-4985-8763-e9deb6da4fad\",\n }],\n analyses: [{\n configInfos: [{\n key: \"QueryIndex\",\n value: \"1\",\n }],\n content: \"__FILENAME__\",\n name: \"terraform\",\n type: \"field\",\n }],\n condition: \"test\",\n messageTemplate: \"{{.Label}}\",\n monitorTime: {\n time: 1,\n type: \"Period\",\n },\n status: true,\n tags: {\n createdBy: \"terraform\",\n },\n triggerCount: 1,\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.cls.Alarm(\"example\",\n alarm_level=0,\n alarm_notice_ids=[\"notice-0850756b-245d-4bc7-bb27-2a58fffc780b\"],\n alarm_period=15,\n alarm_targets=[tencentcloud.cls.AlarmAlarmTargetArgs(\n end_time_offset=0,\n logset_id=\"33aaf0ae-6163-411b-a415-9f27450f68db\",\n number=1,\n query=\"status:\u003e500 | select count(*) as errorCounts\",\n start_time_offset=-15,\n syntax_rule=1,\n topic_id=\"88735a07-bea4-4985-8763-e9deb6da4fad\",\n )],\n analyses=[tencentcloud.cls.AlarmAnalysisArgs(\n config_infos=[tencentcloud.cls.AlarmAnalysisConfigInfoArgs(\n key=\"QueryIndex\",\n value=\"1\",\n )],\n content=\"__FILENAME__\",\n name=\"terraform\",\n type=\"field\",\n )],\n condition=\"test\",\n message_template=\"{{.Label}}\",\n monitor_time=tencentcloud.cls.AlarmMonitorTimeArgs(\n time=1,\n type=\"Period\",\n ),\n status=True,\n tags={\n \"createdBy\": \"terraform\",\n },\n trigger_count=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Tencentcloud.Cls.Alarm(\"example\", new()\n {\n AlarmLevel = 0,\n AlarmNoticeIds = new[]\n {\n \"notice-0850756b-245d-4bc7-bb27-2a58fffc780b\",\n },\n AlarmPeriod = 15,\n AlarmTargets = new[]\n {\n new Tencentcloud.Cls.Inputs.AlarmAlarmTargetArgs\n {\n EndTimeOffset = 0,\n LogsetId = \"33aaf0ae-6163-411b-a415-9f27450f68db\",\n Number = 1,\n Query = \"status:\u003e500 | select count(*) as errorCounts\",\n StartTimeOffset = -15,\n SyntaxRule = 1,\n TopicId = \"88735a07-bea4-4985-8763-e9deb6da4fad\",\n },\n },\n Analyses = new[]\n {\n new Tencentcloud.Cls.Inputs.AlarmAnalysisArgs\n {\n ConfigInfos = new[]\n {\n new Tencentcloud.Cls.Inputs.AlarmAnalysisConfigInfoArgs\n {\n Key = \"QueryIndex\",\n Value = \"1\",\n },\n },\n Content = \"__FILENAME__\",\n Name = \"terraform\",\n Type = \"field\",\n },\n },\n Condition = \"test\",\n MessageTemplate = \"{{.Label}}\",\n MonitorTime = new Tencentcloud.Cls.Inputs.AlarmMonitorTimeArgs\n {\n Time = 1,\n Type = \"Period\",\n },\n Status = true,\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n TriggerCount = 1,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cls\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Cls.NewAlarm(ctx, \"example\", \u0026Cls.AlarmArgs{\n\t\t\tAlarmLevel: pulumi.Int(0),\n\t\t\tAlarmNoticeIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"notice-0850756b-245d-4bc7-bb27-2a58fffc780b\"),\n\t\t\t},\n\t\t\tAlarmPeriod: pulumi.Int(15),\n\t\t\tAlarmTargets: cls.AlarmAlarmTargetArray{\n\t\t\t\t\u0026cls.AlarmAlarmTargetArgs{\n\t\t\t\t\tEndTimeOffset: pulumi.Int(0),\n\t\t\t\t\tLogsetId: pulumi.String(\"33aaf0ae-6163-411b-a415-9f27450f68db\"),\n\t\t\t\t\tNumber: pulumi.Int(1),\n\t\t\t\t\tQuery: pulumi.String(\"status:\u003e500 | select count(*) as errorCounts\"),\n\t\t\t\t\tStartTimeOffset: -15,\n\t\t\t\t\tSyntaxRule: pulumi.Int(1),\n\t\t\t\t\tTopicId: pulumi.String(\"88735a07-bea4-4985-8763-e9deb6da4fad\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAnalyses: cls.AlarmAnalysisArray{\n\t\t\t\t\u0026cls.AlarmAnalysisArgs{\n\t\t\t\t\tConfigInfos: cls.AlarmAnalysisConfigInfoArray{\n\t\t\t\t\t\t\u0026cls.AlarmAnalysisConfigInfoArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"QueryIndex\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tContent: pulumi.String(\"__FILENAME__\"),\n\t\t\t\t\tName: pulumi.String(\"terraform\"),\n\t\t\t\t\tType: pulumi.String(\"field\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tCondition: pulumi.String(\"test\"),\n\t\t\tMessageTemplate: pulumi.String(\"{{.Label}}\"),\n\t\t\tMonitorTime: \u0026cls.AlarmMonitorTimeArgs{\n\t\t\t\tTime: pulumi.Int(1),\n\t\t\t\tType: pulumi.String(\"Period\"),\n\t\t\t},\n\t\t\tStatus: pulumi.Bool(true),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"createdBy\": pulumi.Any(\"terraform\"),\n\t\t\t},\n\t\t\tTriggerCount: pulumi.Int(1),\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.tencentcloud.Cls.Alarm;\nimport com.pulumi.tencentcloud.Cls.AlarmArgs;\nimport com.pulumi.tencentcloud.Cls.inputs.AlarmAlarmTargetArgs;\nimport com.pulumi.tencentcloud.Cls.inputs.AlarmAnalysisArgs;\nimport com.pulumi.tencentcloud.Cls.inputs.AlarmMonitorTimeArgs;\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 Alarm(\"example\", AlarmArgs.builder() \n .alarmLevel(0)\n .alarmNoticeIds(\"notice-0850756b-245d-4bc7-bb27-2a58fffc780b\")\n .alarmPeriod(15)\n .alarmTargets(AlarmAlarmTargetArgs.builder()\n .endTimeOffset(0)\n .logsetId(\"33aaf0ae-6163-411b-a415-9f27450f68db\")\n .number(1)\n .query(\"status:\u003e500 | select count(*) as errorCounts\")\n .startTimeOffset(\"TODO: GenUnaryOpExpression\")\n .syntaxRule(1)\n .topicId(\"88735a07-bea4-4985-8763-e9deb6da4fad\")\n .build())\n .analyses(AlarmAnalysisArgs.builder()\n .configInfos(AlarmAnalysisConfigInfoArgs.builder()\n .key(\"QueryIndex\")\n .value(\"1\")\n .build())\n .content(\"__FILENAME__\")\n .name(\"terraform\")\n .type(\"field\")\n .build())\n .condition(\"test\")\n .messageTemplate(\"{{.Label}}\")\n .monitorTime(AlarmMonitorTimeArgs.builder()\n .time(1)\n .type(\"Period\")\n .build())\n .status(true)\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .triggerCount(1)\n .build());\n\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\ncls alarm can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Cls/alarm:Alarm example alarm-d8529662-e10f-440c-ba80-50f3dcf215a3\n```\n\n", "properties": { "alarmLevel": { "type": "integer", @@ -165893,7 +167155,7 @@ } }, "tencentcloud:Kubernetes/authAttachment:AuthAttachment": { - "description": "Provide a resource to configure kubernetes cluster authentication info.\n\n\u003e **NOTE:** Only available for cluster version \u003e= 1.20\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst config = new pulumi.Config();\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-3\";\nconst clusterCidr = config.get(\"clusterCidr\") || \"172.16.0.0/16\";\nconst defaultInstanceType = config.get(\"defaultInstanceType\") || \"S1.SMALL1\";\nconst default = tencentcloud.Images.getInstance({\n imageTypes: [\"PUBLIC_IMAGE\"],\n osName: \"centos\",\n});\nconst vpc = tencentcloud.Vpc.getSubnets({\n isDefault: true,\n availabilityZone: availabilityZone,\n});\nconst managedCluster = new tencentcloud.kubernetes.Cluster(\"managedCluster\", {\n vpcId: vpc.then(vpc =\u003e vpc.instanceLists?.[0]?.vpcId),\n clusterCidr: \"10.31.0.0/16\",\n clusterMaxPodNum: 32,\n clusterName: \"keep\",\n clusterDesc: \"test cluster desc\",\n clusterVersion: \"1.20.6\",\n clusterMaxServiceNum: 32,\n workerConfigs: [{\n count: 1,\n availabilityZone: availabilityZone,\n instanceType: defaultInstanceType,\n systemDiskType: \"CLOUD_SSD\",\n systemDiskSize: 60,\n internetChargeType: \"TRAFFIC_POSTPAID_BY_HOUR\",\n internetMaxBandwidthOut: 100,\n publicIpAssigned: true,\n subnetId: vpc.then(vpc =\u003e vpc.instanceLists?.[0]?.subnetId),\n dataDisks: [{\n diskType: \"CLOUD_PREMIUM\",\n diskSize: 50,\n }],\n enhancedSecurityService: false,\n enhancedMonitorService: false,\n userData: \"dGVzdA==\",\n password: \"ZZXXccvv1212\",\n }],\n clusterDeployType: \"MANAGED_CLUSTER\",\n});\nconst testAuthAttach = new tencentcloud.kubernetes.AuthAttachment(\"testAuthAttach\", {\n clusterId: managedCluster.id,\n jwksUri: pulumi.interpolate`https://${managedCluster.id}.ccs.tencent-cloud.com/openid/v1/jwks`,\n issuer: pulumi.interpolate`https://${managedCluster.id}.ccs.tencent-cloud.com`,\n autoCreateDiscoveryAnonymousAuth: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\navailability_zone = config.get(\"availabilityZone\")\nif availability_zone is None:\n availability_zone = \"ap-guangzhou-3\"\ncluster_cidr = config.get(\"clusterCidr\")\nif cluster_cidr is None:\n cluster_cidr = \"172.16.0.0/16\"\ndefault_instance_type = config.get(\"defaultInstanceType\")\nif default_instance_type is None:\n default_instance_type = \"S1.SMALL1\"\ndefault = tencentcloud.Images.get_instance(image_types=[\"PUBLIC_IMAGE\"],\n os_name=\"centos\")\nvpc = tencentcloud.Vpc.get_subnets(is_default=True,\n availability_zone=availability_zone)\nmanaged_cluster = tencentcloud.kubernetes.Cluster(\"managedCluster\",\n vpc_id=vpc.instance_lists[0].vpc_id,\n cluster_cidr=\"10.31.0.0/16\",\n cluster_max_pod_num=32,\n cluster_name=\"keep\",\n cluster_desc=\"test cluster desc\",\n cluster_version=\"1.20.6\",\n cluster_max_service_num=32,\n worker_configs=[tencentcloud.kubernetes.ClusterWorkerConfigArgs(\n count=1,\n availability_zone=availability_zone,\n instance_type=default_instance_type,\n system_disk_type=\"CLOUD_SSD\",\n system_disk_size=60,\n internet_charge_type=\"TRAFFIC_POSTPAID_BY_HOUR\",\n internet_max_bandwidth_out=100,\n public_ip_assigned=True,\n subnet_id=vpc.instance_lists[0].subnet_id,\n data_disks=[tencentcloud.kubernetes.ClusterWorkerConfigDataDiskArgs(\n disk_type=\"CLOUD_PREMIUM\",\n disk_size=50,\n )],\n enhanced_security_service=False,\n enhanced_monitor_service=False,\n user_data=\"dGVzdA==\",\n password=\"ZZXXccvv1212\",\n )],\n cluster_deploy_type=\"MANAGED_CLUSTER\")\ntest_auth_attach = tencentcloud.kubernetes.AuthAttachment(\"testAuthAttach\",\n cluster_id=managed_cluster.id,\n jwks_uri=managed_cluster.id.apply(lambda id: f\"https://{id}.ccs.tencent-cloud.com/openid/v1/jwks\"),\n issuer=managed_cluster.id.apply(lambda id: f\"https://{id}.ccs.tencent-cloud.com\"),\n auto_create_discovery_anonymous_auth=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = Pulumi.Tencentcloud;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-3\";\n var clusterCidr = config.Get(\"clusterCidr\") ?? \"172.16.0.0/16\";\n var defaultInstanceType = config.Get(\"defaultInstanceType\") ?? \"S1.SMALL1\";\n var @default = Tencentcloud.Images.GetInstance.Invoke(new()\n {\n ImageTypes = new[]\n {\n \"PUBLIC_IMAGE\",\n },\n OsName = \"centos\",\n });\n\n var vpc = Tencentcloud.Vpc.GetSubnets.Invoke(new()\n {\n IsDefault = true,\n AvailabilityZone = availabilityZone,\n });\n\n var managedCluster = new Tencentcloud.Kubernetes.Cluster(\"managedCluster\", new()\n {\n VpcId = vpc.Apply(getSubnetsResult =\u003e getSubnetsResult.InstanceLists[0]?.VpcId),\n ClusterCidr = \"10.31.0.0/16\",\n ClusterMaxPodNum = 32,\n ClusterName = \"keep\",\n ClusterDesc = \"test cluster desc\",\n ClusterVersion = \"1.20.6\",\n ClusterMaxServiceNum = 32,\n WorkerConfigs = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.ClusterWorkerConfigArgs\n {\n Count = 1,\n AvailabilityZone = availabilityZone,\n InstanceType = defaultInstanceType,\n SystemDiskType = \"CLOUD_SSD\",\n SystemDiskSize = 60,\n InternetChargeType = \"TRAFFIC_POSTPAID_BY_HOUR\",\n InternetMaxBandwidthOut = 100,\n PublicIpAssigned = true,\n SubnetId = vpc.Apply(getSubnetsResult =\u003e getSubnetsResult.InstanceLists[0]?.SubnetId),\n DataDisks = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.ClusterWorkerConfigDataDiskArgs\n {\n DiskType = \"CLOUD_PREMIUM\",\n DiskSize = 50,\n },\n },\n EnhancedSecurityService = false,\n EnhancedMonitorService = false,\n UserData = \"dGVzdA==\",\n Password = \"ZZXXccvv1212\",\n },\n },\n ClusterDeployType = \"MANAGED_CLUSTER\",\n });\n\n var testAuthAttach = new Tencentcloud.Kubernetes.AuthAttachment(\"testAuthAttach\", new()\n {\n ClusterId = managedCluster.Id,\n JwksUri = managedCluster.Id.Apply(id =\u003e $\"https://{id}.ccs.tencent-cloud.com/openid/v1/jwks\"),\n Issuer = managedCluster.Id.Apply(id =\u003e $\"https://{id}.ccs.tencent-cloud.com\"),\n AutoCreateDiscoveryAnonymousAuth = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Images\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Kubernetes\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tavailabilityZone := \"ap-guangzhou-3\"\n\t\tif param := cfg.Get(\"availabilityZone\"); param != \"\" {\n\t\t\tavailabilityZone = param\n\t\t}\n\t\tclusterCidr := \"172.16.0.0/16\"\n\t\tif param := cfg.Get(\"clusterCidr\"); param != \"\" {\n\t\t\tclusterCidr = param\n\t\t}\n\t\tdefaultInstanceType := \"S1.SMALL1\"\n\t\tif param := cfg.Get(\"defaultInstanceType\"); param != \"\" {\n\t\t\tdefaultInstanceType = param\n\t\t}\n\t\t_, err := Images.GetInstance(ctx, \u0026images.GetInstanceArgs{\n\t\t\tImageTypes: []string{\n\t\t\t\t\"PUBLIC_IMAGE\",\n\t\t\t},\n\t\t\tOsName: pulumi.StringRef(\"centos\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpc, err := Vpc.GetSubnets(ctx, \u0026vpc.GetSubnetsArgs{\n\t\t\tIsDefault: pulumi.BoolRef(true),\n\t\t\tAvailabilityZone: pulumi.StringRef(availabilityZone),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmanagedCluster, err := Kubernetes.NewCluster(ctx, \"managedCluster\", \u0026Kubernetes.ClusterArgs{\n\t\t\tVpcId: pulumi.String(vpc.InstanceLists[0].VpcId),\n\t\t\tClusterCidr: pulumi.String(\"10.31.0.0/16\"),\n\t\t\tClusterMaxPodNum: pulumi.Int(32),\n\t\t\tClusterName: pulumi.String(\"keep\"),\n\t\t\tClusterDesc: pulumi.String(\"test cluster desc\"),\n\t\t\tClusterVersion: pulumi.String(\"1.20.6\"),\n\t\t\tClusterMaxServiceNum: pulumi.Int(32),\n\t\t\tWorkerConfigs: kubernetes.ClusterWorkerConfigArray{\n\t\t\t\t\u0026kubernetes.ClusterWorkerConfigArgs{\n\t\t\t\t\tCount: pulumi.Int(1),\n\t\t\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\t\t\tInstanceType: pulumi.String(defaultInstanceType),\n\t\t\t\t\tSystemDiskType: pulumi.String(\"CLOUD_SSD\"),\n\t\t\t\t\tSystemDiskSize: pulumi.Int(60),\n\t\t\t\t\tInternetChargeType: pulumi.String(\"TRAFFIC_POSTPAID_BY_HOUR\"),\n\t\t\t\t\tInternetMaxBandwidthOut: pulumi.Int(100),\n\t\t\t\t\tPublicIpAssigned: pulumi.Bool(true),\n\t\t\t\t\tSubnetId: pulumi.String(vpc.InstanceLists[0].SubnetId),\n\t\t\t\t\tDataDisks: kubernetes.ClusterWorkerConfigDataDiskArray{\n\t\t\t\t\t\t\u0026kubernetes.ClusterWorkerConfigDataDiskArgs{\n\t\t\t\t\t\t\tDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\t\t\t\t\tDiskSize: pulumi.Int(50),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tEnhancedSecurityService: pulumi.Bool(false),\n\t\t\t\t\tEnhancedMonitorService: pulumi.Bool(false),\n\t\t\t\t\tUserData: pulumi.String(\"dGVzdA==\"),\n\t\t\t\t\tPassword: pulumi.String(\"ZZXXccvv1212\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tClusterDeployType: pulumi.String(\"MANAGED_CLUSTER\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Kubernetes.NewAuthAttachment(ctx, \"testAuthAttach\", \u0026Kubernetes.AuthAttachmentArgs{\n\t\t\tClusterId: managedCluster.ID(),\n\t\t\tJwksUri: managedCluster.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"https://%v.ccs.tencent-cloud.com/openid/v1/jwks\", id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tIssuer: managedCluster.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"https://%v.ccs.tencent-cloud.com\", id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tAutoCreateDiscoveryAnonymousAuth: 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.tencentcloud.Images.ImagesFunctions;\nimport com.pulumi.tencentcloud.Images.inputs.GetInstanceArgs;\nimport com.pulumi.tencentcloud.Vpc.VpcFunctions;\nimport com.pulumi.tencentcloud.Vpc.inputs.GetSubnetsArgs;\nimport com.pulumi.tencentcloud.Kubernetes.Cluster;\nimport com.pulumi.tencentcloud.Kubernetes.ClusterArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.ClusterWorkerConfigArgs;\nimport com.pulumi.tencentcloud.Kubernetes.AuthAttachment;\nimport com.pulumi.tencentcloud.Kubernetes.AuthAttachmentArgs;\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(\"ap-guangzhou-3\");\n final var clusterCidr = config.get(\"clusterCidr\").orElse(\"172.16.0.0/16\");\n final var defaultInstanceType = config.get(\"defaultInstanceType\").orElse(\"S1.SMALL1\");\n final var default = ImagesFunctions.getInstance(GetInstanceArgs.builder()\n .imageTypes(\"PUBLIC_IMAGE\")\n .osName(\"centos\")\n .build());\n\n final var vpc = VpcFunctions.getSubnets(GetSubnetsArgs.builder()\n .isDefault(true)\n .availabilityZone(availabilityZone)\n .build());\n\n var managedCluster = new Cluster(\"managedCluster\", ClusterArgs.builder() \n .vpcId(vpc.applyValue(getSubnetsResult -\u003e getSubnetsResult.instanceLists()[0].vpcId()))\n .clusterCidr(\"10.31.0.0/16\")\n .clusterMaxPodNum(32)\n .clusterName(\"keep\")\n .clusterDesc(\"test cluster desc\")\n .clusterVersion(\"1.20.6\")\n .clusterMaxServiceNum(32)\n .workerConfigs(ClusterWorkerConfigArgs.builder()\n .count(1)\n .availabilityZone(availabilityZone)\n .instanceType(defaultInstanceType)\n .systemDiskType(\"CLOUD_SSD\")\n .systemDiskSize(60)\n .internetChargeType(\"TRAFFIC_POSTPAID_BY_HOUR\")\n .internetMaxBandwidthOut(100)\n .publicIpAssigned(true)\n .subnetId(vpc.applyValue(getSubnetsResult -\u003e getSubnetsResult.instanceLists()[0].subnetId()))\n .dataDisks(ClusterWorkerConfigDataDiskArgs.builder()\n .diskType(\"CLOUD_PREMIUM\")\n .diskSize(50)\n .build())\n .enhancedSecurityService(false)\n .enhancedMonitorService(false)\n .userData(\"dGVzdA==\")\n .password(\"ZZXXccvv1212\")\n .build())\n .clusterDeployType(\"MANAGED_CLUSTER\")\n .build());\n\n var testAuthAttach = new AuthAttachment(\"testAuthAttach\", AuthAttachmentArgs.builder() \n .clusterId(managedCluster.id())\n .jwksUri(managedCluster.id().applyValue(id -\u003e String.format(\"https://%s.ccs.tencent-cloud.com/openid/v1/jwks\", id)))\n .issuer(managedCluster.id().applyValue(id -\u003e String.format(\"https://%s.ccs.tencent-cloud.com\", id)))\n .autoCreateDiscoveryAnonymousAuth(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-3\n clusterCidr:\n type: string\n default: 172.16.0.0/16\n defaultInstanceType:\n type: string\n default: S1.SMALL1\nresources:\n managedCluster:\n type: tencentcloud:Kubernetes:Cluster\n properties:\n vpcId: ${vpc.instanceLists[0].vpcId}\n clusterCidr: 10.31.0.0/16\n clusterMaxPodNum: 32\n clusterName: keep\n clusterDesc: test cluster desc\n clusterVersion: 1.20.6\n clusterMaxServiceNum: 32\n workerConfigs:\n - count: 1\n availabilityZone: ${availabilityZone}\n instanceType: ${defaultInstanceType}\n systemDiskType: CLOUD_SSD\n systemDiskSize: 60\n internetChargeType: TRAFFIC_POSTPAID_BY_HOUR\n internetMaxBandwidthOut: 100\n publicIpAssigned: true\n subnetId: ${vpc.instanceLists[0].subnetId}\n dataDisks:\n - diskType: CLOUD_PREMIUM\n diskSize: 50\n enhancedSecurityService: false\n enhancedMonitorService: false\n userData: dGVzdA==\n password: ZZXXccvv1212\n clusterDeployType: MANAGED_CLUSTER\n testAuthAttach:\n type: tencentcloud:Kubernetes:AuthAttachment\n properties:\n clusterId: ${managedCluster.id}\n jwksUri: https://${managedCluster.id}.ccs.tencent-cloud.com/openid/v1/jwks\n issuer: https://${managedCluster.id}.ccs.tencent-cloud.com\n autoCreateDiscoveryAnonymousAuth: true\nvariables:\n default:\n fn::invoke:\n Function: tencentcloud:Images:getInstance\n Arguments:\n imageTypes:\n - PUBLIC_IMAGE\n osName: centos\n vpc:\n fn::invoke:\n Function: tencentcloud:Vpc:getSubnets\n Arguments:\n isDefault: true\n availabilityZone: ${availabilityZone}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Use the TKE default issuer and jwks_uri\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst config = new pulumi.Config();\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-3\";\nconst clusterCidr = config.get(\"clusterCidr\") || \"172.16.0.0/16\";\nconst defaultInstanceType = config.get(\"defaultInstanceType\") || \"S1.SMALL1\";\nconst default = tencentcloud.Images.getInstance({\n imageTypes: [\"PUBLIC_IMAGE\"],\n osName: \"centos\",\n});\nconst vpc = tencentcloud.Vpc.getSubnets({\n isDefault: true,\n availabilityZone: availabilityZone,\n});\nconst managedCluster = new tencentcloud.kubernetes.Cluster(\"managedCluster\", {\n vpcId: vpc.then(vpc =\u003e vpc.instanceLists?.[0]?.vpcId),\n clusterCidr: \"10.31.0.0/16\",\n clusterMaxPodNum: 32,\n clusterName: \"keep\",\n clusterDesc: \"test cluster desc\",\n clusterVersion: \"1.20.6\",\n clusterMaxServiceNum: 32,\n workerConfigs: [{\n count: 1,\n availabilityZone: availabilityZone,\n instanceType: defaultInstanceType,\n systemDiskType: \"CLOUD_SSD\",\n systemDiskSize: 60,\n internetChargeType: \"TRAFFIC_POSTPAID_BY_HOUR\",\n internetMaxBandwidthOut: 100,\n publicIpAssigned: true,\n subnetId: vpc.then(vpc =\u003e vpc.instanceLists?.[0]?.subnetId),\n dataDisks: [{\n diskType: \"CLOUD_PREMIUM\",\n diskSize: 50,\n }],\n enhancedSecurityService: false,\n enhancedMonitorService: false,\n userData: \"dGVzdA==\",\n password: \"ZZXXccvv1212\",\n }],\n clusterDeployType: \"MANAGED_CLUSTER\",\n});\n// if you want to use tke default issuer and jwks_uri, please set use_tke_default to true and set issuer to empty string.\nconst testUseTkeDefaultAuthAttach = new tencentcloud.kubernetes.AuthAttachment(\"testUseTkeDefaultAuthAttach\", {\n clusterId: managedCluster.id,\n autoCreateDiscoveryAnonymousAuth: true,\n useTkeDefault: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\navailability_zone = config.get(\"availabilityZone\")\nif availability_zone is None:\n availability_zone = \"ap-guangzhou-3\"\ncluster_cidr = config.get(\"clusterCidr\")\nif cluster_cidr is None:\n cluster_cidr = \"172.16.0.0/16\"\ndefault_instance_type = config.get(\"defaultInstanceType\")\nif default_instance_type is None:\n default_instance_type = \"S1.SMALL1\"\ndefault = tencentcloud.Images.get_instance(image_types=[\"PUBLIC_IMAGE\"],\n os_name=\"centos\")\nvpc = tencentcloud.Vpc.get_subnets(is_default=True,\n availability_zone=availability_zone)\nmanaged_cluster = tencentcloud.kubernetes.Cluster(\"managedCluster\",\n vpc_id=vpc.instance_lists[0].vpc_id,\n cluster_cidr=\"10.31.0.0/16\",\n cluster_max_pod_num=32,\n cluster_name=\"keep\",\n cluster_desc=\"test cluster desc\",\n cluster_version=\"1.20.6\",\n cluster_max_service_num=32,\n worker_configs=[tencentcloud.kubernetes.ClusterWorkerConfigArgs(\n count=1,\n availability_zone=availability_zone,\n instance_type=default_instance_type,\n system_disk_type=\"CLOUD_SSD\",\n system_disk_size=60,\n internet_charge_type=\"TRAFFIC_POSTPAID_BY_HOUR\",\n internet_max_bandwidth_out=100,\n public_ip_assigned=True,\n subnet_id=vpc.instance_lists[0].subnet_id,\n data_disks=[tencentcloud.kubernetes.ClusterWorkerConfigDataDiskArgs(\n disk_type=\"CLOUD_PREMIUM\",\n disk_size=50,\n )],\n enhanced_security_service=False,\n enhanced_monitor_service=False,\n user_data=\"dGVzdA==\",\n password=\"ZZXXccvv1212\",\n )],\n cluster_deploy_type=\"MANAGED_CLUSTER\")\n# if you want to use tke default issuer and jwks_uri, please set use_tke_default to true and set issuer to empty string.\ntest_use_tke_default_auth_attach = tencentcloud.kubernetes.AuthAttachment(\"testUseTkeDefaultAuthAttach\",\n cluster_id=managed_cluster.id,\n auto_create_discovery_anonymous_auth=True,\n use_tke_default=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = Pulumi.Tencentcloud;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-3\";\n var clusterCidr = config.Get(\"clusterCidr\") ?? \"172.16.0.0/16\";\n var defaultInstanceType = config.Get(\"defaultInstanceType\") ?? \"S1.SMALL1\";\n var @default = Tencentcloud.Images.GetInstance.Invoke(new()\n {\n ImageTypes = new[]\n {\n \"PUBLIC_IMAGE\",\n },\n OsName = \"centos\",\n });\n\n var vpc = Tencentcloud.Vpc.GetSubnets.Invoke(new()\n {\n IsDefault = true,\n AvailabilityZone = availabilityZone,\n });\n\n var managedCluster = new Tencentcloud.Kubernetes.Cluster(\"managedCluster\", new()\n {\n VpcId = vpc.Apply(getSubnetsResult =\u003e getSubnetsResult.InstanceLists[0]?.VpcId),\n ClusterCidr = \"10.31.0.0/16\",\n ClusterMaxPodNum = 32,\n ClusterName = \"keep\",\n ClusterDesc = \"test cluster desc\",\n ClusterVersion = \"1.20.6\",\n ClusterMaxServiceNum = 32,\n WorkerConfigs = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.ClusterWorkerConfigArgs\n {\n Count = 1,\n AvailabilityZone = availabilityZone,\n InstanceType = defaultInstanceType,\n SystemDiskType = \"CLOUD_SSD\",\n SystemDiskSize = 60,\n InternetChargeType = \"TRAFFIC_POSTPAID_BY_HOUR\",\n InternetMaxBandwidthOut = 100,\n PublicIpAssigned = true,\n SubnetId = vpc.Apply(getSubnetsResult =\u003e getSubnetsResult.InstanceLists[0]?.SubnetId),\n DataDisks = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.ClusterWorkerConfigDataDiskArgs\n {\n DiskType = \"CLOUD_PREMIUM\",\n DiskSize = 50,\n },\n },\n EnhancedSecurityService = false,\n EnhancedMonitorService = false,\n UserData = \"dGVzdA==\",\n Password = \"ZZXXccvv1212\",\n },\n },\n ClusterDeployType = \"MANAGED_CLUSTER\",\n });\n\n // if you want to use tke default issuer and jwks_uri, please set use_tke_default to true and set issuer to empty string.\n var testUseTkeDefaultAuthAttach = new Tencentcloud.Kubernetes.AuthAttachment(\"testUseTkeDefaultAuthAttach\", new()\n {\n ClusterId = managedCluster.Id,\n AutoCreateDiscoveryAnonymousAuth = true,\n UseTkeDefault = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Images\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Kubernetes\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tavailabilityZone := \"ap-guangzhou-3\"\n\t\tif param := cfg.Get(\"availabilityZone\"); param != \"\" {\n\t\t\tavailabilityZone = param\n\t\t}\n\t\tclusterCidr := \"172.16.0.0/16\"\n\t\tif param := cfg.Get(\"clusterCidr\"); param != \"\" {\n\t\t\tclusterCidr = param\n\t\t}\n\t\tdefaultInstanceType := \"S1.SMALL1\"\n\t\tif param := cfg.Get(\"defaultInstanceType\"); param != \"\" {\n\t\t\tdefaultInstanceType = param\n\t\t}\n\t\t_, err := Images.GetInstance(ctx, \u0026images.GetInstanceArgs{\n\t\t\tImageTypes: []string{\n\t\t\t\t\"PUBLIC_IMAGE\",\n\t\t\t},\n\t\t\tOsName: pulumi.StringRef(\"centos\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpc, err := Vpc.GetSubnets(ctx, \u0026vpc.GetSubnetsArgs{\n\t\t\tIsDefault: pulumi.BoolRef(true),\n\t\t\tAvailabilityZone: pulumi.StringRef(availabilityZone),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmanagedCluster, err := Kubernetes.NewCluster(ctx, \"managedCluster\", \u0026Kubernetes.ClusterArgs{\n\t\t\tVpcId: pulumi.String(vpc.InstanceLists[0].VpcId),\n\t\t\tClusterCidr: pulumi.String(\"10.31.0.0/16\"),\n\t\t\tClusterMaxPodNum: pulumi.Int(32),\n\t\t\tClusterName: pulumi.String(\"keep\"),\n\t\t\tClusterDesc: pulumi.String(\"test cluster desc\"),\n\t\t\tClusterVersion: pulumi.String(\"1.20.6\"),\n\t\t\tClusterMaxServiceNum: pulumi.Int(32),\n\t\t\tWorkerConfigs: kubernetes.ClusterWorkerConfigArray{\n\t\t\t\t\u0026kubernetes.ClusterWorkerConfigArgs{\n\t\t\t\t\tCount: pulumi.Int(1),\n\t\t\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\t\t\tInstanceType: pulumi.String(defaultInstanceType),\n\t\t\t\t\tSystemDiskType: pulumi.String(\"CLOUD_SSD\"),\n\t\t\t\t\tSystemDiskSize: pulumi.Int(60),\n\t\t\t\t\tInternetChargeType: pulumi.String(\"TRAFFIC_POSTPAID_BY_HOUR\"),\n\t\t\t\t\tInternetMaxBandwidthOut: pulumi.Int(100),\n\t\t\t\t\tPublicIpAssigned: pulumi.Bool(true),\n\t\t\t\t\tSubnetId: pulumi.String(vpc.InstanceLists[0].SubnetId),\n\t\t\t\t\tDataDisks: kubernetes.ClusterWorkerConfigDataDiskArray{\n\t\t\t\t\t\t\u0026kubernetes.ClusterWorkerConfigDataDiskArgs{\n\t\t\t\t\t\t\tDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\t\t\t\t\tDiskSize: pulumi.Int(50),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tEnhancedSecurityService: pulumi.Bool(false),\n\t\t\t\t\tEnhancedMonitorService: pulumi.Bool(false),\n\t\t\t\t\tUserData: pulumi.String(\"dGVzdA==\"),\n\t\t\t\t\tPassword: pulumi.String(\"ZZXXccvv1212\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tClusterDeployType: pulumi.String(\"MANAGED_CLUSTER\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// if you want to use tke default issuer and jwks_uri, please set use_tke_default to true and set issuer to empty string.\n\t\t_, err = Kubernetes.NewAuthAttachment(ctx, \"testUseTkeDefaultAuthAttach\", \u0026Kubernetes.AuthAttachmentArgs{\n\t\t\tClusterId: managedCluster.ID(),\n\t\t\tAutoCreateDiscoveryAnonymousAuth: pulumi.Bool(true),\n\t\t\tUseTkeDefault: 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.tencentcloud.Images.ImagesFunctions;\nimport com.pulumi.tencentcloud.Images.inputs.GetInstanceArgs;\nimport com.pulumi.tencentcloud.Vpc.VpcFunctions;\nimport com.pulumi.tencentcloud.Vpc.inputs.GetSubnetsArgs;\nimport com.pulumi.tencentcloud.Kubernetes.Cluster;\nimport com.pulumi.tencentcloud.Kubernetes.ClusterArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.ClusterWorkerConfigArgs;\nimport com.pulumi.tencentcloud.Kubernetes.AuthAttachment;\nimport com.pulumi.tencentcloud.Kubernetes.AuthAttachmentArgs;\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(\"ap-guangzhou-3\");\n final var clusterCidr = config.get(\"clusterCidr\").orElse(\"172.16.0.0/16\");\n final var defaultInstanceType = config.get(\"defaultInstanceType\").orElse(\"S1.SMALL1\");\n final var default = ImagesFunctions.getInstance(GetInstanceArgs.builder()\n .imageTypes(\"PUBLIC_IMAGE\")\n .osName(\"centos\")\n .build());\n\n final var vpc = VpcFunctions.getSubnets(GetSubnetsArgs.builder()\n .isDefault(true)\n .availabilityZone(availabilityZone)\n .build());\n\n var managedCluster = new Cluster(\"managedCluster\", ClusterArgs.builder() \n .vpcId(vpc.applyValue(getSubnetsResult -\u003e getSubnetsResult.instanceLists()[0].vpcId()))\n .clusterCidr(\"10.31.0.0/16\")\n .clusterMaxPodNum(32)\n .clusterName(\"keep\")\n .clusterDesc(\"test cluster desc\")\n .clusterVersion(\"1.20.6\")\n .clusterMaxServiceNum(32)\n .workerConfigs(ClusterWorkerConfigArgs.builder()\n .count(1)\n .availabilityZone(availabilityZone)\n .instanceType(defaultInstanceType)\n .systemDiskType(\"CLOUD_SSD\")\n .systemDiskSize(60)\n .internetChargeType(\"TRAFFIC_POSTPAID_BY_HOUR\")\n .internetMaxBandwidthOut(100)\n .publicIpAssigned(true)\n .subnetId(vpc.applyValue(getSubnetsResult -\u003e getSubnetsResult.instanceLists()[0].subnetId()))\n .dataDisks(ClusterWorkerConfigDataDiskArgs.builder()\n .diskType(\"CLOUD_PREMIUM\")\n .diskSize(50)\n .build())\n .enhancedSecurityService(false)\n .enhancedMonitorService(false)\n .userData(\"dGVzdA==\")\n .password(\"ZZXXccvv1212\")\n .build())\n .clusterDeployType(\"MANAGED_CLUSTER\")\n .build());\n\n // if you want to use tke default issuer and jwks_uri, please set use_tke_default to true and set issuer to empty string.\n var testUseTkeDefaultAuthAttach = new AuthAttachment(\"testUseTkeDefaultAuthAttach\", AuthAttachmentArgs.builder() \n .clusterId(managedCluster.id())\n .autoCreateDiscoveryAnonymousAuth(true)\n .useTkeDefault(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-3\n clusterCidr:\n type: string\n default: 172.16.0.0/16\n defaultInstanceType:\n type: string\n default: S1.SMALL1\nresources:\n managedCluster:\n type: tencentcloud:Kubernetes:Cluster\n properties:\n vpcId: ${vpc.instanceLists[0].vpcId}\n clusterCidr: 10.31.0.0/16\n clusterMaxPodNum: 32\n clusterName: keep\n clusterDesc: test cluster desc\n clusterVersion: 1.20.6\n clusterMaxServiceNum: 32\n workerConfigs:\n - count: 1\n availabilityZone: ${availabilityZone}\n instanceType: ${defaultInstanceType}\n systemDiskType: CLOUD_SSD\n systemDiskSize: 60\n internetChargeType: TRAFFIC_POSTPAID_BY_HOUR\n internetMaxBandwidthOut: 100\n publicIpAssigned: true\n subnetId: ${vpc.instanceLists[0].subnetId}\n dataDisks:\n - diskType: CLOUD_PREMIUM\n diskSize: 50\n enhancedSecurityService: false\n enhancedMonitorService: false\n userData: dGVzdA==\n password: ZZXXccvv1212\n clusterDeployType: MANAGED_CLUSTER\n # if you want to use tke default issuer and jwks_uri, please set use_tke_default to true and set issuer to empty string.\n testUseTkeDefaultAuthAttach:\n type: tencentcloud:Kubernetes:AuthAttachment\n properties:\n clusterId: ${managedCluster.id}\n autoCreateDiscoveryAnonymousAuth: true\n useTkeDefault: true\nvariables:\n default:\n fn::invoke:\n Function: tencentcloud:Images:getInstance\n Arguments:\n imageTypes:\n - PUBLIC_IMAGE\n osName: centos\n vpc:\n fn::invoke:\n Function: tencentcloud:Vpc:getSubnets\n Arguments:\n isDefault: true\n availabilityZone: ${availabilityZone}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Use OIDC Config\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst testAuthAttach = new tencentcloud.kubernetes.AuthAttachment(\"testAuthAttach\", {\n clusterId: tencentcloud_kubernetes_cluster.managed_cluster.id,\n useTkeDefault: true,\n autoCreateDiscoveryAnonymousAuth: true,\n autoCreateOidcConfig: true,\n autoInstallPodIdentityWebhookAddon: true,\n});\nconst oidcConfig = tencentcloud.Cam.getOidcConfig({\n name: tencentcloud_kubernetes_cluster.managed_cluster.id,\n});\nexport const identityKey = oidcConfig.then(oidcConfig =\u003e oidcConfig.identityKey);\nexport const identityUrl = oidcConfig.then(oidcConfig =\u003e oidcConfig.identityUrl);\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\ntest_auth_attach = tencentcloud.kubernetes.AuthAttachment(\"testAuthAttach\",\n cluster_id=tencentcloud_kubernetes_cluster[\"managed_cluster\"][\"id\"],\n use_tke_default=True,\n auto_create_discovery_anonymous_auth=True,\n auto_create_oidc_config=True,\n auto_install_pod_identity_webhook_addon=True)\noidc_config = tencentcloud.Cam.get_oidc_config(name=tencentcloud_kubernetes_cluster[\"managed_cluster\"][\"id\"])\npulumi.export(\"identityKey\", oidc_config.identity_key)\npulumi.export(\"identityUrl\", oidc_config.identity_url)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = Pulumi.Tencentcloud;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testAuthAttach = new Tencentcloud.Kubernetes.AuthAttachment(\"testAuthAttach\", new()\n {\n ClusterId = tencentcloud_kubernetes_cluster.Managed_cluster.Id,\n UseTkeDefault = true,\n AutoCreateDiscoveryAnonymousAuth = true,\n AutoCreateOidcConfig = true,\n AutoInstallPodIdentityWebhookAddon = true,\n });\n\n var oidcConfig = Tencentcloud.Cam.GetOidcConfig.Invoke(new()\n {\n Name = tencentcloud_kubernetes_cluster.Managed_cluster.Id,\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"identityKey\"] = oidcConfig.Apply(getOidcConfigResult =\u003e getOidcConfigResult.IdentityKey),\n [\"identityUrl\"] = oidcConfig.Apply(getOidcConfigResult =\u003e getOidcConfigResult.IdentityUrl),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cam\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Kubernetes\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Kubernetes.NewAuthAttachment(ctx, \"testAuthAttach\", \u0026Kubernetes.AuthAttachmentArgs{\n\t\t\tClusterId: pulumi.Any(tencentcloud_kubernetes_cluster.Managed_cluster.Id),\n\t\t\tUseTkeDefault: pulumi.Bool(true),\n\t\t\tAutoCreateDiscoveryAnonymousAuth: pulumi.Bool(true),\n\t\t\tAutoCreateOidcConfig: pulumi.Bool(true),\n\t\t\tAutoInstallPodIdentityWebhookAddon: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\toidcConfig, err := Cam.GetOidcConfig(ctx, \u0026cam.GetOidcConfigArgs{\n\t\t\tName: tencentcloud_kubernetes_cluster.Managed_cluster.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"identityKey\", oidcConfig.IdentityKey)\n\t\tctx.Export(\"identityUrl\", oidcConfig.IdentityUrl)\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.tencentcloud.Kubernetes.AuthAttachment;\nimport com.pulumi.tencentcloud.Kubernetes.AuthAttachmentArgs;\nimport com.pulumi.tencentcloud.Cam.CamFunctions;\nimport com.pulumi.tencentcloud.Cam.inputs.GetOidcConfigArgs;\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 testAuthAttach = new AuthAttachment(\"testAuthAttach\", AuthAttachmentArgs.builder() \n .clusterId(tencentcloud_kubernetes_cluster.managed_cluster().id())\n .useTkeDefault(true)\n .autoCreateDiscoveryAnonymousAuth(true)\n .autoCreateOidcConfig(true)\n .autoInstallPodIdentityWebhookAddon(true)\n .build());\n\n final var oidcConfig = CamFunctions.getOidcConfig(GetOidcConfigArgs.builder()\n .name(tencentcloud_kubernetes_cluster.managed_cluster().id())\n .build());\n\n ctx.export(\"identityKey\", oidcConfig.applyValue(getOidcConfigResult -\u003e getOidcConfigResult.identityKey()));\n ctx.export(\"identityUrl\", oidcConfig.applyValue(getOidcConfigResult -\u003e getOidcConfigResult.identityUrl()));\n }\n}\n```\n```yaml\nresources:\n testAuthAttach:\n type: tencentcloud:Kubernetes:AuthAttachment\n properties:\n clusterId: ${tencentcloud_kubernetes_cluster.managed_cluster.id}\n useTkeDefault: true\n autoCreateDiscoveryAnonymousAuth: true\n autoCreateOidcConfig: true\n autoInstallPodIdentityWebhookAddon: true\nvariables:\n oidcConfig:\n fn::invoke:\n Function: tencentcloud:Cam:getOidcConfig\n Arguments:\n name: ${tencentcloud_kubernetes_cluster.managed_cluster.id}\noutputs:\n identityKey: ${oidcConfig.identityKey}\n identityUrl: ${oidcConfig.identityUrl}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provide a resource to configure kubernetes cluster authentication info.\n\n\u003e **NOTE:** Only available for cluster version \u003e= 1.20\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst config = new pulumi.Config();\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-3\";\nconst clusterCidr = config.get(\"clusterCidr\") || \"172.16.0.0/16\";\nconst defaultInstanceType = config.get(\"defaultInstanceType\") || \"S1.SMALL1\";\nconst default = tencentcloud.Images.getInstance({\n imageTypes: [\"PUBLIC_IMAGE\"],\n osName: \"centos\",\n});\nconst vpc = tencentcloud.Vpc.getSubnets({\n isDefault: true,\n availabilityZone: availabilityZone,\n});\nconst managedCluster = new tencentcloud.kubernetes.Cluster(\"managedCluster\", {\n vpcId: vpc.then(vpc =\u003e vpc.instanceLists?.[0]?.vpcId),\n clusterCidr: \"10.31.0.0/16\",\n clusterMaxPodNum: 32,\n clusterName: \"keep\",\n clusterDesc: \"test cluster desc\",\n clusterVersion: \"1.20.6\",\n clusterMaxServiceNum: 32,\n workerConfigs: [{\n count: 1,\n availabilityZone: availabilityZone,\n instanceType: defaultInstanceType,\n systemDiskType: \"CLOUD_SSD\",\n systemDiskSize: 60,\n internetChargeType: \"TRAFFIC_POSTPAID_BY_HOUR\",\n internetMaxBandwidthOut: 100,\n publicIpAssigned: true,\n subnetId: vpc.then(vpc =\u003e vpc.instanceLists?.[0]?.subnetId),\n dataDisks: [{\n diskType: \"CLOUD_PREMIUM\",\n diskSize: 50,\n }],\n enhancedSecurityService: false,\n enhancedMonitorService: false,\n userData: \"dGVzdA==\",\n password: \"ZZXXccvv1212\",\n }],\n clusterDeployType: \"MANAGED_CLUSTER\",\n});\nconst testAuthAttach = new tencentcloud.kubernetes.AuthAttachment(\"testAuthAttach\", {\n clusterId: managedCluster.id,\n jwksUri: pulumi.interpolate`https://${managedCluster.id}.ccs.tencent-cloud.com/openid/v1/jwks`,\n issuer: pulumi.interpolate`https://${managedCluster.id}.ccs.tencent-cloud.com`,\n autoCreateDiscoveryAnonymousAuth: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\navailability_zone = config.get(\"availabilityZone\")\nif availability_zone is None:\n availability_zone = \"ap-guangzhou-3\"\ncluster_cidr = config.get(\"clusterCidr\")\nif cluster_cidr is None:\n cluster_cidr = \"172.16.0.0/16\"\ndefault_instance_type = config.get(\"defaultInstanceType\")\nif default_instance_type is None:\n default_instance_type = \"S1.SMALL1\"\ndefault = tencentcloud.Images.get_instance(image_types=[\"PUBLIC_IMAGE\"],\n os_name=\"centos\")\nvpc = tencentcloud.Vpc.get_subnets(is_default=True,\n availability_zone=availability_zone)\nmanaged_cluster = tencentcloud.kubernetes.Cluster(\"managedCluster\",\n vpc_id=vpc.instance_lists[0].vpc_id,\n cluster_cidr=\"10.31.0.0/16\",\n cluster_max_pod_num=32,\n cluster_name=\"keep\",\n cluster_desc=\"test cluster desc\",\n cluster_version=\"1.20.6\",\n cluster_max_service_num=32,\n worker_configs=[tencentcloud.kubernetes.ClusterWorkerConfigArgs(\n count=1,\n availability_zone=availability_zone,\n instance_type=default_instance_type,\n system_disk_type=\"CLOUD_SSD\",\n system_disk_size=60,\n internet_charge_type=\"TRAFFIC_POSTPAID_BY_HOUR\",\n internet_max_bandwidth_out=100,\n public_ip_assigned=True,\n subnet_id=vpc.instance_lists[0].subnet_id,\n data_disks=[tencentcloud.kubernetes.ClusterWorkerConfigDataDiskArgs(\n disk_type=\"CLOUD_PREMIUM\",\n disk_size=50,\n )],\n enhanced_security_service=False,\n enhanced_monitor_service=False,\n user_data=\"dGVzdA==\",\n password=\"ZZXXccvv1212\",\n )],\n cluster_deploy_type=\"MANAGED_CLUSTER\")\ntest_auth_attach = tencentcloud.kubernetes.AuthAttachment(\"testAuthAttach\",\n cluster_id=managed_cluster.id,\n jwks_uri=managed_cluster.id.apply(lambda id: f\"https://{id}.ccs.tencent-cloud.com/openid/v1/jwks\"),\n issuer=managed_cluster.id.apply(lambda id: f\"https://{id}.ccs.tencent-cloud.com\"),\n auto_create_discovery_anonymous_auth=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = Pulumi.Tencentcloud;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-3\";\n var clusterCidr = config.Get(\"clusterCidr\") ?? \"172.16.0.0/16\";\n var defaultInstanceType = config.Get(\"defaultInstanceType\") ?? \"S1.SMALL1\";\n var @default = Tencentcloud.Images.GetInstance.Invoke(new()\n {\n ImageTypes = new[]\n {\n \"PUBLIC_IMAGE\",\n },\n OsName = \"centos\",\n });\n\n var vpc = Tencentcloud.Vpc.GetSubnets.Invoke(new()\n {\n IsDefault = true,\n AvailabilityZone = availabilityZone,\n });\n\n var managedCluster = new Tencentcloud.Kubernetes.Cluster(\"managedCluster\", new()\n {\n VpcId = vpc.Apply(getSubnetsResult =\u003e getSubnetsResult.InstanceLists[0]?.VpcId),\n ClusterCidr = \"10.31.0.0/16\",\n ClusterMaxPodNum = 32,\n ClusterName = \"keep\",\n ClusterDesc = \"test cluster desc\",\n ClusterVersion = \"1.20.6\",\n ClusterMaxServiceNum = 32,\n WorkerConfigs = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.ClusterWorkerConfigArgs\n {\n Count = 1,\n AvailabilityZone = availabilityZone,\n InstanceType = defaultInstanceType,\n SystemDiskType = \"CLOUD_SSD\",\n SystemDiskSize = 60,\n InternetChargeType = \"TRAFFIC_POSTPAID_BY_HOUR\",\n InternetMaxBandwidthOut = 100,\n PublicIpAssigned = true,\n SubnetId = vpc.Apply(getSubnetsResult =\u003e getSubnetsResult.InstanceLists[0]?.SubnetId),\n DataDisks = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.ClusterWorkerConfigDataDiskArgs\n {\n DiskType = \"CLOUD_PREMIUM\",\n DiskSize = 50,\n },\n },\n EnhancedSecurityService = false,\n EnhancedMonitorService = false,\n UserData = \"dGVzdA==\",\n Password = \"ZZXXccvv1212\",\n },\n },\n ClusterDeployType = \"MANAGED_CLUSTER\",\n });\n\n var testAuthAttach = new Tencentcloud.Kubernetes.AuthAttachment(\"testAuthAttach\", new()\n {\n ClusterId = managedCluster.Id,\n JwksUri = managedCluster.Id.Apply(id =\u003e $\"https://{id}.ccs.tencent-cloud.com/openid/v1/jwks\"),\n Issuer = managedCluster.Id.Apply(id =\u003e $\"https://{id}.ccs.tencent-cloud.com\"),\n AutoCreateDiscoveryAnonymousAuth = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Images\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Kubernetes\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tavailabilityZone := \"ap-guangzhou-3\"\n\t\tif param := cfg.Get(\"availabilityZone\"); param != \"\" {\n\t\t\tavailabilityZone = param\n\t\t}\n\t\tclusterCidr := \"172.16.0.0/16\"\n\t\tif param := cfg.Get(\"clusterCidr\"); param != \"\" {\n\t\t\tclusterCidr = param\n\t\t}\n\t\tdefaultInstanceType := \"S1.SMALL1\"\n\t\tif param := cfg.Get(\"defaultInstanceType\"); param != \"\" {\n\t\t\tdefaultInstanceType = param\n\t\t}\n\t\t_, err := Images.GetInstance(ctx, \u0026images.GetInstanceArgs{\n\t\t\tImageTypes: []string{\n\t\t\t\t\"PUBLIC_IMAGE\",\n\t\t\t},\n\t\t\tOsName: pulumi.StringRef(\"centos\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpc, err := Vpc.GetSubnets(ctx, \u0026vpc.GetSubnetsArgs{\n\t\t\tIsDefault: pulumi.BoolRef(true),\n\t\t\tAvailabilityZone: pulumi.StringRef(availabilityZone),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmanagedCluster, err := Kubernetes.NewCluster(ctx, \"managedCluster\", \u0026Kubernetes.ClusterArgs{\n\t\t\tVpcId: pulumi.String(vpc.InstanceLists[0].VpcId),\n\t\t\tClusterCidr: pulumi.String(\"10.31.0.0/16\"),\n\t\t\tClusterMaxPodNum: pulumi.Int(32),\n\t\t\tClusterName: pulumi.String(\"keep\"),\n\t\t\tClusterDesc: pulumi.String(\"test cluster desc\"),\n\t\t\tClusterVersion: pulumi.String(\"1.20.6\"),\n\t\t\tClusterMaxServiceNum: pulumi.Int(32),\n\t\t\tWorkerConfigs: kubernetes.ClusterWorkerConfigArray{\n\t\t\t\t\u0026kubernetes.ClusterWorkerConfigArgs{\n\t\t\t\t\tCount: pulumi.Int(1),\n\t\t\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\t\t\tInstanceType: pulumi.String(defaultInstanceType),\n\t\t\t\t\tSystemDiskType: pulumi.String(\"CLOUD_SSD\"),\n\t\t\t\t\tSystemDiskSize: pulumi.Int(60),\n\t\t\t\t\tInternetChargeType: pulumi.String(\"TRAFFIC_POSTPAID_BY_HOUR\"),\n\t\t\t\t\tInternetMaxBandwidthOut: pulumi.Int(100),\n\t\t\t\t\tPublicIpAssigned: pulumi.Bool(true),\n\t\t\t\t\tSubnetId: pulumi.String(vpc.InstanceLists[0].SubnetId),\n\t\t\t\t\tDataDisks: kubernetes.ClusterWorkerConfigDataDiskArray{\n\t\t\t\t\t\t\u0026kubernetes.ClusterWorkerConfigDataDiskArgs{\n\t\t\t\t\t\t\tDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\t\t\t\t\tDiskSize: pulumi.Int(50),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tEnhancedSecurityService: pulumi.Bool(false),\n\t\t\t\t\tEnhancedMonitorService: pulumi.Bool(false),\n\t\t\t\t\tUserData: pulumi.String(\"dGVzdA==\"),\n\t\t\t\t\tPassword: pulumi.String(\"ZZXXccvv1212\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tClusterDeployType: pulumi.String(\"MANAGED_CLUSTER\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Kubernetes.NewAuthAttachment(ctx, \"testAuthAttach\", \u0026Kubernetes.AuthAttachmentArgs{\n\t\t\tClusterId: managedCluster.ID(),\n\t\t\tJwksUri: managedCluster.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"https://%v.ccs.tencent-cloud.com/openid/v1/jwks\", id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tIssuer: managedCluster.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"https://%v.ccs.tencent-cloud.com\", id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tAutoCreateDiscoveryAnonymousAuth: 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.tencentcloud.Images.ImagesFunctions;\nimport com.pulumi.tencentcloud.Images.inputs.GetInstanceArgs;\nimport com.pulumi.tencentcloud.Vpc.VpcFunctions;\nimport com.pulumi.tencentcloud.Vpc.inputs.GetSubnetsArgs;\nimport com.pulumi.tencentcloud.Kubernetes.Cluster;\nimport com.pulumi.tencentcloud.Kubernetes.ClusterArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.ClusterWorkerConfigArgs;\nimport com.pulumi.tencentcloud.Kubernetes.AuthAttachment;\nimport com.pulumi.tencentcloud.Kubernetes.AuthAttachmentArgs;\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(\"ap-guangzhou-3\");\n final var clusterCidr = config.get(\"clusterCidr\").orElse(\"172.16.0.0/16\");\n final var defaultInstanceType = config.get(\"defaultInstanceType\").orElse(\"S1.SMALL1\");\n final var default = ImagesFunctions.getInstance(GetInstanceArgs.builder()\n .imageTypes(\"PUBLIC_IMAGE\")\n .osName(\"centos\")\n .build());\n\n final var vpc = VpcFunctions.getSubnets(GetSubnetsArgs.builder()\n .isDefault(true)\n .availabilityZone(availabilityZone)\n .build());\n\n var managedCluster = new Cluster(\"managedCluster\", ClusterArgs.builder() \n .vpcId(vpc.applyValue(getSubnetsResult -\u003e getSubnetsResult.instanceLists()[0].vpcId()))\n .clusterCidr(\"10.31.0.0/16\")\n .clusterMaxPodNum(32)\n .clusterName(\"keep\")\n .clusterDesc(\"test cluster desc\")\n .clusterVersion(\"1.20.6\")\n .clusterMaxServiceNum(32)\n .workerConfigs(ClusterWorkerConfigArgs.builder()\n .count(1)\n .availabilityZone(availabilityZone)\n .instanceType(defaultInstanceType)\n .systemDiskType(\"CLOUD_SSD\")\n .systemDiskSize(60)\n .internetChargeType(\"TRAFFIC_POSTPAID_BY_HOUR\")\n .internetMaxBandwidthOut(100)\n .publicIpAssigned(true)\n .subnetId(vpc.applyValue(getSubnetsResult -\u003e getSubnetsResult.instanceLists()[0].subnetId()))\n .dataDisks(ClusterWorkerConfigDataDiskArgs.builder()\n .diskType(\"CLOUD_PREMIUM\")\n .diskSize(50)\n .build())\n .enhancedSecurityService(false)\n .enhancedMonitorService(false)\n .userData(\"dGVzdA==\")\n .password(\"ZZXXccvv1212\")\n .build())\n .clusterDeployType(\"MANAGED_CLUSTER\")\n .build());\n\n var testAuthAttach = new AuthAttachment(\"testAuthAttach\", AuthAttachmentArgs.builder() \n .clusterId(managedCluster.id())\n .jwksUri(managedCluster.id().applyValue(id -\u003e String.format(\"https://%s.ccs.tencent-cloud.com/openid/v1/jwks\", id)))\n .issuer(managedCluster.id().applyValue(id -\u003e String.format(\"https://%s.ccs.tencent-cloud.com\", id)))\n .autoCreateDiscoveryAnonymousAuth(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-3\n clusterCidr:\n type: string\n default: 172.16.0.0/16\n defaultInstanceType:\n type: string\n default: S1.SMALL1\nresources:\n managedCluster:\n type: tencentcloud:Kubernetes:Cluster\n properties:\n vpcId: ${vpc.instanceLists[0].vpcId}\n clusterCidr: 10.31.0.0/16\n clusterMaxPodNum: 32\n clusterName: keep\n clusterDesc: test cluster desc\n clusterVersion: 1.20.6\n clusterMaxServiceNum: 32\n workerConfigs:\n - count: 1\n availabilityZone: ${availabilityZone}\n instanceType: ${defaultInstanceType}\n systemDiskType: CLOUD_SSD\n systemDiskSize: 60\n internetChargeType: TRAFFIC_POSTPAID_BY_HOUR\n internetMaxBandwidthOut: 100\n publicIpAssigned: true\n subnetId: ${vpc.instanceLists[0].subnetId}\n dataDisks:\n - diskType: CLOUD_PREMIUM\n diskSize: 50\n enhancedSecurityService: false\n enhancedMonitorService: false\n userData: dGVzdA==\n password: ZZXXccvv1212\n clusterDeployType: MANAGED_CLUSTER\n testAuthAttach:\n type: tencentcloud:Kubernetes:AuthAttachment\n properties:\n clusterId: ${managedCluster.id}\n jwksUri: https://${managedCluster.id}.ccs.tencent-cloud.com/openid/v1/jwks\n issuer: https://${managedCluster.id}.ccs.tencent-cloud.com\n autoCreateDiscoveryAnonymousAuth: true\nvariables:\n default:\n fn::invoke:\n Function: tencentcloud:Images:getInstance\n Arguments:\n imageTypes:\n - PUBLIC_IMAGE\n osName: centos\n vpc:\n fn::invoke:\n Function: tencentcloud:Vpc:getSubnets\n Arguments:\n isDefault: true\n availabilityZone: ${availabilityZone}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Use the TKE default issuer and jwks_uri\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst config = new pulumi.Config();\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-3\";\nconst clusterCidr = config.get(\"clusterCidr\") || \"172.16.0.0/16\";\nconst defaultInstanceType = config.get(\"defaultInstanceType\") || \"S1.SMALL1\";\nconst default = tencentcloud.Images.getInstance({\n imageTypes: [\"PUBLIC_IMAGE\"],\n osName: \"centos\",\n});\nconst vpc = tencentcloud.Vpc.getSubnets({\n isDefault: true,\n availabilityZone: availabilityZone,\n});\nconst managedCluster = new tencentcloud.kubernetes.Cluster(\"managedCluster\", {\n vpcId: vpc.then(vpc =\u003e vpc.instanceLists?.[0]?.vpcId),\n clusterCidr: \"10.31.0.0/16\",\n clusterMaxPodNum: 32,\n clusterName: \"keep\",\n clusterDesc: \"test cluster desc\",\n clusterVersion: \"1.20.6\",\n clusterMaxServiceNum: 32,\n workerConfigs: [{\n count: 1,\n availabilityZone: availabilityZone,\n instanceType: defaultInstanceType,\n systemDiskType: \"CLOUD_SSD\",\n systemDiskSize: 60,\n internetChargeType: \"TRAFFIC_POSTPAID_BY_HOUR\",\n internetMaxBandwidthOut: 100,\n publicIpAssigned: true,\n subnetId: vpc.then(vpc =\u003e vpc.instanceLists?.[0]?.subnetId),\n dataDisks: [{\n diskType: \"CLOUD_PREMIUM\",\n diskSize: 50,\n }],\n enhancedSecurityService: false,\n enhancedMonitorService: false,\n userData: \"dGVzdA==\",\n password: \"ZZXXccvv1212\",\n }],\n clusterDeployType: \"MANAGED_CLUSTER\",\n});\n// if you want to use tke default issuer and jwks_uri, please set use_tke_default to true and set issuer to empty string.\nconst testUseTkeDefaultAuthAttach = new tencentcloud.kubernetes.AuthAttachment(\"testUseTkeDefaultAuthAttach\", {\n clusterId: managedCluster.id,\n autoCreateDiscoveryAnonymousAuth: true,\n useTkeDefault: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\navailability_zone = config.get(\"availabilityZone\")\nif availability_zone is None:\n availability_zone = \"ap-guangzhou-3\"\ncluster_cidr = config.get(\"clusterCidr\")\nif cluster_cidr is None:\n cluster_cidr = \"172.16.0.0/16\"\ndefault_instance_type = config.get(\"defaultInstanceType\")\nif default_instance_type is None:\n default_instance_type = \"S1.SMALL1\"\ndefault = tencentcloud.Images.get_instance(image_types=[\"PUBLIC_IMAGE\"],\n os_name=\"centos\")\nvpc = tencentcloud.Vpc.get_subnets(is_default=True,\n availability_zone=availability_zone)\nmanaged_cluster = tencentcloud.kubernetes.Cluster(\"managedCluster\",\n vpc_id=vpc.instance_lists[0].vpc_id,\n cluster_cidr=\"10.31.0.0/16\",\n cluster_max_pod_num=32,\n cluster_name=\"keep\",\n cluster_desc=\"test cluster desc\",\n cluster_version=\"1.20.6\",\n cluster_max_service_num=32,\n worker_configs=[tencentcloud.kubernetes.ClusterWorkerConfigArgs(\n count=1,\n availability_zone=availability_zone,\n instance_type=default_instance_type,\n system_disk_type=\"CLOUD_SSD\",\n system_disk_size=60,\n internet_charge_type=\"TRAFFIC_POSTPAID_BY_HOUR\",\n internet_max_bandwidth_out=100,\n public_ip_assigned=True,\n subnet_id=vpc.instance_lists[0].subnet_id,\n data_disks=[tencentcloud.kubernetes.ClusterWorkerConfigDataDiskArgs(\n disk_type=\"CLOUD_PREMIUM\",\n disk_size=50,\n )],\n enhanced_security_service=False,\n enhanced_monitor_service=False,\n user_data=\"dGVzdA==\",\n password=\"ZZXXccvv1212\",\n )],\n cluster_deploy_type=\"MANAGED_CLUSTER\")\n# if you want to use tke default issuer and jwks_uri, please set use_tke_default to true and set issuer to empty string.\ntest_use_tke_default_auth_attach = tencentcloud.kubernetes.AuthAttachment(\"testUseTkeDefaultAuthAttach\",\n cluster_id=managed_cluster.id,\n auto_create_discovery_anonymous_auth=True,\n use_tke_default=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = Pulumi.Tencentcloud;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-3\";\n var clusterCidr = config.Get(\"clusterCidr\") ?? \"172.16.0.0/16\";\n var defaultInstanceType = config.Get(\"defaultInstanceType\") ?? \"S1.SMALL1\";\n var @default = Tencentcloud.Images.GetInstance.Invoke(new()\n {\n ImageTypes = new[]\n {\n \"PUBLIC_IMAGE\",\n },\n OsName = \"centos\",\n });\n\n var vpc = Tencentcloud.Vpc.GetSubnets.Invoke(new()\n {\n IsDefault = true,\n AvailabilityZone = availabilityZone,\n });\n\n var managedCluster = new Tencentcloud.Kubernetes.Cluster(\"managedCluster\", new()\n {\n VpcId = vpc.Apply(getSubnetsResult =\u003e getSubnetsResult.InstanceLists[0]?.VpcId),\n ClusterCidr = \"10.31.0.0/16\",\n ClusterMaxPodNum = 32,\n ClusterName = \"keep\",\n ClusterDesc = \"test cluster desc\",\n ClusterVersion = \"1.20.6\",\n ClusterMaxServiceNum = 32,\n WorkerConfigs = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.ClusterWorkerConfigArgs\n {\n Count = 1,\n AvailabilityZone = availabilityZone,\n InstanceType = defaultInstanceType,\n SystemDiskType = \"CLOUD_SSD\",\n SystemDiskSize = 60,\n InternetChargeType = \"TRAFFIC_POSTPAID_BY_HOUR\",\n InternetMaxBandwidthOut = 100,\n PublicIpAssigned = true,\n SubnetId = vpc.Apply(getSubnetsResult =\u003e getSubnetsResult.InstanceLists[0]?.SubnetId),\n DataDisks = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.ClusterWorkerConfigDataDiskArgs\n {\n DiskType = \"CLOUD_PREMIUM\",\n DiskSize = 50,\n },\n },\n EnhancedSecurityService = false,\n EnhancedMonitorService = false,\n UserData = \"dGVzdA==\",\n Password = \"ZZXXccvv1212\",\n },\n },\n ClusterDeployType = \"MANAGED_CLUSTER\",\n });\n\n // if you want to use tke default issuer and jwks_uri, please set use_tke_default to true and set issuer to empty string.\n var testUseTkeDefaultAuthAttach = new Tencentcloud.Kubernetes.AuthAttachment(\"testUseTkeDefaultAuthAttach\", new()\n {\n ClusterId = managedCluster.Id,\n AutoCreateDiscoveryAnonymousAuth = true,\n UseTkeDefault = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Images\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Kubernetes\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tavailabilityZone := \"ap-guangzhou-3\"\n\t\tif param := cfg.Get(\"availabilityZone\"); param != \"\" {\n\t\t\tavailabilityZone = param\n\t\t}\n\t\tclusterCidr := \"172.16.0.0/16\"\n\t\tif param := cfg.Get(\"clusterCidr\"); param != \"\" {\n\t\t\tclusterCidr = param\n\t\t}\n\t\tdefaultInstanceType := \"S1.SMALL1\"\n\t\tif param := cfg.Get(\"defaultInstanceType\"); param != \"\" {\n\t\t\tdefaultInstanceType = param\n\t\t}\n\t\t_, err := Images.GetInstance(ctx, \u0026images.GetInstanceArgs{\n\t\t\tImageTypes: []string{\n\t\t\t\t\"PUBLIC_IMAGE\",\n\t\t\t},\n\t\t\tOsName: pulumi.StringRef(\"centos\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpc, err := Vpc.GetSubnets(ctx, \u0026vpc.GetSubnetsArgs{\n\t\t\tIsDefault: pulumi.BoolRef(true),\n\t\t\tAvailabilityZone: pulumi.StringRef(availabilityZone),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmanagedCluster, err := Kubernetes.NewCluster(ctx, \"managedCluster\", \u0026Kubernetes.ClusterArgs{\n\t\t\tVpcId: pulumi.String(vpc.InstanceLists[0].VpcId),\n\t\t\tClusterCidr: pulumi.String(\"10.31.0.0/16\"),\n\t\t\tClusterMaxPodNum: pulumi.Int(32),\n\t\t\tClusterName: pulumi.String(\"keep\"),\n\t\t\tClusterDesc: pulumi.String(\"test cluster desc\"),\n\t\t\tClusterVersion: pulumi.String(\"1.20.6\"),\n\t\t\tClusterMaxServiceNum: pulumi.Int(32),\n\t\t\tWorkerConfigs: kubernetes.ClusterWorkerConfigArray{\n\t\t\t\t\u0026kubernetes.ClusterWorkerConfigArgs{\n\t\t\t\t\tCount: pulumi.Int(1),\n\t\t\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\t\t\tInstanceType: pulumi.String(defaultInstanceType),\n\t\t\t\t\tSystemDiskType: pulumi.String(\"CLOUD_SSD\"),\n\t\t\t\t\tSystemDiskSize: pulumi.Int(60),\n\t\t\t\t\tInternetChargeType: pulumi.String(\"TRAFFIC_POSTPAID_BY_HOUR\"),\n\t\t\t\t\tInternetMaxBandwidthOut: pulumi.Int(100),\n\t\t\t\t\tPublicIpAssigned: pulumi.Bool(true),\n\t\t\t\t\tSubnetId: pulumi.String(vpc.InstanceLists[0].SubnetId),\n\t\t\t\t\tDataDisks: kubernetes.ClusterWorkerConfigDataDiskArray{\n\t\t\t\t\t\t\u0026kubernetes.ClusterWorkerConfigDataDiskArgs{\n\t\t\t\t\t\t\tDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\t\t\t\t\tDiskSize: pulumi.Int(50),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tEnhancedSecurityService: pulumi.Bool(false),\n\t\t\t\t\tEnhancedMonitorService: pulumi.Bool(false),\n\t\t\t\t\tUserData: pulumi.String(\"dGVzdA==\"),\n\t\t\t\t\tPassword: pulumi.String(\"ZZXXccvv1212\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tClusterDeployType: pulumi.String(\"MANAGED_CLUSTER\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// if you want to use tke default issuer and jwks_uri, please set use_tke_default to true and set issuer to empty string.\n\t\t_, err = Kubernetes.NewAuthAttachment(ctx, \"testUseTkeDefaultAuthAttach\", \u0026Kubernetes.AuthAttachmentArgs{\n\t\t\tClusterId: managedCluster.ID(),\n\t\t\tAutoCreateDiscoveryAnonymousAuth: pulumi.Bool(true),\n\t\t\tUseTkeDefault: 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.tencentcloud.Images.ImagesFunctions;\nimport com.pulumi.tencentcloud.Images.inputs.GetInstanceArgs;\nimport com.pulumi.tencentcloud.Vpc.VpcFunctions;\nimport com.pulumi.tencentcloud.Vpc.inputs.GetSubnetsArgs;\nimport com.pulumi.tencentcloud.Kubernetes.Cluster;\nimport com.pulumi.tencentcloud.Kubernetes.ClusterArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.ClusterWorkerConfigArgs;\nimport com.pulumi.tencentcloud.Kubernetes.AuthAttachment;\nimport com.pulumi.tencentcloud.Kubernetes.AuthAttachmentArgs;\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(\"ap-guangzhou-3\");\n final var clusterCidr = config.get(\"clusterCidr\").orElse(\"172.16.0.0/16\");\n final var defaultInstanceType = config.get(\"defaultInstanceType\").orElse(\"S1.SMALL1\");\n final var default = ImagesFunctions.getInstance(GetInstanceArgs.builder()\n .imageTypes(\"PUBLIC_IMAGE\")\n .osName(\"centos\")\n .build());\n\n final var vpc = VpcFunctions.getSubnets(GetSubnetsArgs.builder()\n .isDefault(true)\n .availabilityZone(availabilityZone)\n .build());\n\n var managedCluster = new Cluster(\"managedCluster\", ClusterArgs.builder() \n .vpcId(vpc.applyValue(getSubnetsResult -\u003e getSubnetsResult.instanceLists()[0].vpcId()))\n .clusterCidr(\"10.31.0.0/16\")\n .clusterMaxPodNum(32)\n .clusterName(\"keep\")\n .clusterDesc(\"test cluster desc\")\n .clusterVersion(\"1.20.6\")\n .clusterMaxServiceNum(32)\n .workerConfigs(ClusterWorkerConfigArgs.builder()\n .count(1)\n .availabilityZone(availabilityZone)\n .instanceType(defaultInstanceType)\n .systemDiskType(\"CLOUD_SSD\")\n .systemDiskSize(60)\n .internetChargeType(\"TRAFFIC_POSTPAID_BY_HOUR\")\n .internetMaxBandwidthOut(100)\n .publicIpAssigned(true)\n .subnetId(vpc.applyValue(getSubnetsResult -\u003e getSubnetsResult.instanceLists()[0].subnetId()))\n .dataDisks(ClusterWorkerConfigDataDiskArgs.builder()\n .diskType(\"CLOUD_PREMIUM\")\n .diskSize(50)\n .build())\n .enhancedSecurityService(false)\n .enhancedMonitorService(false)\n .userData(\"dGVzdA==\")\n .password(\"ZZXXccvv1212\")\n .build())\n .clusterDeployType(\"MANAGED_CLUSTER\")\n .build());\n\n // if you want to use tke default issuer and jwks_uri, please set use_tke_default to true and set issuer to empty string.\n var testUseTkeDefaultAuthAttach = new AuthAttachment(\"testUseTkeDefaultAuthAttach\", AuthAttachmentArgs.builder() \n .clusterId(managedCluster.id())\n .autoCreateDiscoveryAnonymousAuth(true)\n .useTkeDefault(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-3\n clusterCidr:\n type: string\n default: 172.16.0.0/16\n defaultInstanceType:\n type: string\n default: S1.SMALL1\nresources:\n managedCluster:\n type: tencentcloud:Kubernetes:Cluster\n properties:\n vpcId: ${vpc.instanceLists[0].vpcId}\n clusterCidr: 10.31.0.0/16\n clusterMaxPodNum: 32\n clusterName: keep\n clusterDesc: test cluster desc\n clusterVersion: 1.20.6\n clusterMaxServiceNum: 32\n workerConfigs:\n - count: 1\n availabilityZone: ${availabilityZone}\n instanceType: ${defaultInstanceType}\n systemDiskType: CLOUD_SSD\n systemDiskSize: 60\n internetChargeType: TRAFFIC_POSTPAID_BY_HOUR\n internetMaxBandwidthOut: 100\n publicIpAssigned: true\n subnetId: ${vpc.instanceLists[0].subnetId}\n dataDisks:\n - diskType: CLOUD_PREMIUM\n diskSize: 50\n enhancedSecurityService: false\n enhancedMonitorService: false\n userData: dGVzdA==\n password: ZZXXccvv1212\n clusterDeployType: MANAGED_CLUSTER\n # if you want to use tke default issuer and jwks_uri, please set use_tke_default to true and set issuer to empty string.\n testUseTkeDefaultAuthAttach:\n type: tencentcloud:Kubernetes:AuthAttachment\n properties:\n clusterId: ${managedCluster.id}\n autoCreateDiscoveryAnonymousAuth: true\n useTkeDefault: true\nvariables:\n default:\n fn::invoke:\n Function: tencentcloud:Images:getInstance\n Arguments:\n imageTypes:\n - PUBLIC_IMAGE\n osName: centos\n vpc:\n fn::invoke:\n Function: tencentcloud:Vpc:getSubnets\n Arguments:\n isDefault: true\n availabilityZone: ${availabilityZone}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Use OIDC Config\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst testAuthAttach = new tencentcloud.kubernetes.AuthAttachment(\"testAuthAttach\", {\n clusterId: tencentcloud_kubernetes_cluster.managed_cluster.id,\n useTkeDefault: true,\n autoCreateDiscoveryAnonymousAuth: true,\n autoCreateOidcConfig: true,\n autoInstallPodIdentityWebhookAddon: true,\n});\nconst oidcConfig = tencentcloud.Cam.getOidcConfig({\n name: tencentcloud_kubernetes_cluster.managed_cluster.id,\n});\nexport const identityKey = oidcConfig.then(oidcConfig =\u003e oidcConfig.identityKey);\nexport const identityUrl = oidcConfig.then(oidcConfig =\u003e oidcConfig.identityUrl);\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\ntest_auth_attach = tencentcloud.kubernetes.AuthAttachment(\"testAuthAttach\",\n cluster_id=tencentcloud_kubernetes_cluster[\"managed_cluster\"][\"id\"],\n use_tke_default=True,\n auto_create_discovery_anonymous_auth=True,\n auto_create_oidc_config=True,\n auto_install_pod_identity_webhook_addon=True)\noidc_config = tencentcloud.Cam.get_oidc_config(name=tencentcloud_kubernetes_cluster[\"managed_cluster\"][\"id\"])\npulumi.export(\"identityKey\", oidc_config.identity_key)\npulumi.export(\"identityUrl\", oidc_config.identity_url)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = Pulumi.Tencentcloud;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testAuthAttach = new Tencentcloud.Kubernetes.AuthAttachment(\"testAuthAttach\", new()\n {\n ClusterId = tencentcloud_kubernetes_cluster.Managed_cluster.Id,\n UseTkeDefault = true,\n AutoCreateDiscoveryAnonymousAuth = true,\n AutoCreateOidcConfig = true,\n AutoInstallPodIdentityWebhookAddon = true,\n });\n\n var oidcConfig = Tencentcloud.Cam.GetOidcConfig.Invoke(new()\n {\n Name = tencentcloud_kubernetes_cluster.Managed_cluster.Id,\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"identityKey\"] = oidcConfig.Apply(getOidcConfigResult =\u003e getOidcConfigResult.IdentityKey),\n [\"identityUrl\"] = oidcConfig.Apply(getOidcConfigResult =\u003e getOidcConfigResult.IdentityUrl),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Cam\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Kubernetes\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Kubernetes.NewAuthAttachment(ctx, \"testAuthAttach\", \u0026Kubernetes.AuthAttachmentArgs{\n\t\t\tClusterId: pulumi.Any(tencentcloud_kubernetes_cluster.Managed_cluster.Id),\n\t\t\tUseTkeDefault: pulumi.Bool(true),\n\t\t\tAutoCreateDiscoveryAnonymousAuth: pulumi.Bool(true),\n\t\t\tAutoCreateOidcConfig: pulumi.Bool(true),\n\t\t\tAutoInstallPodIdentityWebhookAddon: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\toidcConfig, err := Cam.GetOidcConfig(ctx, \u0026cam.GetOidcConfigArgs{\n\t\t\tName: tencentcloud_kubernetes_cluster.Managed_cluster.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"identityKey\", oidcConfig.IdentityKey)\n\t\tctx.Export(\"identityUrl\", oidcConfig.IdentityUrl)\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.tencentcloud.Kubernetes.AuthAttachment;\nimport com.pulumi.tencentcloud.Kubernetes.AuthAttachmentArgs;\nimport com.pulumi.tencentcloud.Cam.CamFunctions;\nimport com.pulumi.tencentcloud.Cam.inputs.GetOidcConfigArgs;\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 testAuthAttach = new AuthAttachment(\"testAuthAttach\", AuthAttachmentArgs.builder() \n .clusterId(tencentcloud_kubernetes_cluster.managed_cluster().id())\n .useTkeDefault(true)\n .autoCreateDiscoveryAnonymousAuth(true)\n .autoCreateOidcConfig(true)\n .autoInstallPodIdentityWebhookAddon(true)\n .build());\n\n final var oidcConfig = CamFunctions.getOidcConfig(GetOidcConfigArgs.builder()\n .name(tencentcloud_kubernetes_cluster.managed_cluster().id())\n .build());\n\n ctx.export(\"identityKey\", oidcConfig.applyValue(getOidcConfigResult -\u003e getOidcConfigResult.identityKey()));\n ctx.export(\"identityUrl\", oidcConfig.applyValue(getOidcConfigResult -\u003e getOidcConfigResult.identityUrl()));\n }\n}\n```\n```yaml\nresources:\n testAuthAttach:\n type: tencentcloud:Kubernetes:AuthAttachment\n properties:\n clusterId: ${tencentcloud_kubernetes_cluster.managed_cluster.id}\n useTkeDefault: true\n autoCreateDiscoveryAnonymousAuth: true\n autoCreateOidcConfig: true\n autoInstallPodIdentityWebhookAddon: true\nvariables:\n oidcConfig:\n fn::invoke:\n Function: tencentcloud:Cam:getOidcConfig\n Arguments:\n name: ${tencentcloud_kubernetes_cluster.managed_cluster.id}\noutputs:\n identityKey: ${oidcConfig.identityKey}\n identityUrl: ${oidcConfig.identityUrl}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\ntke cluster authentication can be imported, e.g.\n\n```sh\n$ pulumi import tencentcloud:Kubernetes/authAttachment:AuthAttachment test cls-xxx\n```\n", "properties": { "autoCreateClientIds": { "type": "array", @@ -166134,7 +167396,7 @@ } }, "tencentcloud:Kubernetes/cluster:Cluster": { - "description": "Provide a resource to create a kubernetes cluster.\n\n\u003e **NOTE:** To use the custom Kubernetes component startup parameter function (parameter `extra_args`), you need to submit a ticket for application.\n\n\u003e **NOTE:** We recommend this usage that uses the `tencentcloud.Kubernetes.Cluster` resource to create a cluster without any `worker_config`, then adds nodes by the `tencentcloud.Kubernetes.NodePool` resource.\nIt's more flexible than managing worker config directly with `tencentcloud.Kubernetes.Cluster`, `tencentcloud.Kubernetes.ScaleWorker`, or existing node management of `tencentcloud_kubernetes_attachment`. The reason is that `worker_config` is unchangeable and may cause the whole cluster resource to `ForceNew`.\n\n## Example Usage\n\n### Use node pool global config\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst config = new pulumi.Config();\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-3\";\nconst vpc = config.get(\"vpc\") || \"vpc-dk8zmwuf\";\nconst subnet = config.get(\"subnet\") || \"subnet-pqfek0t8\";\nconst defaultInstanceType = config.get(\"defaultInstanceType\") || \"SA1.LARGE8\";\nconst testNodePoolGlobalConfig = new tencentcloud.kubernetes.Cluster(\"testNodePoolGlobalConfig\", {\n vpcId: vpc,\n clusterCidr: \"10.1.0.0/16\",\n clusterMaxPodNum: 32,\n clusterName: \"test\",\n clusterDesc: \"test cluster desc\",\n clusterMaxServiceNum: 32,\n clusterInternet: true,\n clusterDeployType: \"MANAGED_CLUSTER\",\n workerConfigs: [{\n count: 1,\n availabilityZone: availabilityZone,\n instanceType: defaultInstanceType,\n systemDiskType: \"CLOUD_SSD\",\n systemDiskSize: 60,\n internetChargeType: \"TRAFFIC_POSTPAID_BY_HOUR\",\n internetMaxBandwidthOut: 100,\n publicIpAssigned: true,\n subnetId: subnet,\n dataDisks: [{\n diskType: \"CLOUD_PREMIUM\",\n diskSize: 50,\n }],\n enhancedSecurityService: false,\n enhancedMonitorService: false,\n userData: \"dGVzdA==\",\n keyIds: \"skey-11112222\",\n }],\n nodePoolGlobalConfigs: [{\n isScaleInEnabled: true,\n expander: \"random\",\n ignoreDaemonSetsUtilization: true,\n maxConcurrentScaleIn: 5,\n scaleInDelay: 15,\n scaleInUnneededTime: 15,\n scaleInUtilizationThreshold: 30,\n skipNodesWithLocalStorage: false,\n skipNodesWithSystemPods: true,\n }],\n labels: {\n test1: \"test1\",\n test2: \"test2\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\navailability_zone = config.get(\"availabilityZone\")\nif availability_zone is None:\n availability_zone = \"ap-guangzhou-3\"\nvpc = config.get(\"vpc\")\nif vpc is None:\n vpc = \"vpc-dk8zmwuf\"\nsubnet = config.get(\"subnet\")\nif subnet is None:\n subnet = \"subnet-pqfek0t8\"\ndefault_instance_type = config.get(\"defaultInstanceType\")\nif default_instance_type is None:\n default_instance_type = \"SA1.LARGE8\"\ntest_node_pool_global_config = tencentcloud.kubernetes.Cluster(\"testNodePoolGlobalConfig\",\n vpc_id=vpc,\n cluster_cidr=\"10.1.0.0/16\",\n cluster_max_pod_num=32,\n cluster_name=\"test\",\n cluster_desc=\"test cluster desc\",\n cluster_max_service_num=32,\n cluster_internet=True,\n cluster_deploy_type=\"MANAGED_CLUSTER\",\n worker_configs=[tencentcloud.kubernetes.ClusterWorkerConfigArgs(\n count=1,\n availability_zone=availability_zone,\n instance_type=default_instance_type,\n system_disk_type=\"CLOUD_SSD\",\n system_disk_size=60,\n internet_charge_type=\"TRAFFIC_POSTPAID_BY_HOUR\",\n internet_max_bandwidth_out=100,\n public_ip_assigned=True,\n subnet_id=subnet,\n data_disks=[tencentcloud.kubernetes.ClusterWorkerConfigDataDiskArgs(\n disk_type=\"CLOUD_PREMIUM\",\n disk_size=50,\n )],\n enhanced_security_service=False,\n enhanced_monitor_service=False,\n user_data=\"dGVzdA==\",\n key_ids=\"skey-11112222\",\n )],\n node_pool_global_configs=[tencentcloud.kubernetes.ClusterNodePoolGlobalConfigArgs(\n is_scale_in_enabled=True,\n expander=\"random\",\n ignore_daemon_sets_utilization=True,\n max_concurrent_scale_in=5,\n scale_in_delay=15,\n scale_in_unneeded_time=15,\n scale_in_utilization_threshold=30,\n skip_nodes_with_local_storage=False,\n skip_nodes_with_system_pods=True,\n )],\n labels={\n \"test1\": \"test1\",\n \"test2\": \"test2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-3\";\n var vpc = config.Get(\"vpc\") ?? \"vpc-dk8zmwuf\";\n var subnet = config.Get(\"subnet\") ?? \"subnet-pqfek0t8\";\n var defaultInstanceType = config.Get(\"defaultInstanceType\") ?? \"SA1.LARGE8\";\n var testNodePoolGlobalConfig = new Tencentcloud.Kubernetes.Cluster(\"testNodePoolGlobalConfig\", new()\n {\n VpcId = vpc,\n ClusterCidr = \"10.1.0.0/16\",\n ClusterMaxPodNum = 32,\n ClusterName = \"test\",\n ClusterDesc = \"test cluster desc\",\n ClusterMaxServiceNum = 32,\n ClusterInternet = true,\n ClusterDeployType = \"MANAGED_CLUSTER\",\n WorkerConfigs = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.ClusterWorkerConfigArgs\n {\n Count = 1,\n AvailabilityZone = availabilityZone,\n InstanceType = defaultInstanceType,\n SystemDiskType = \"CLOUD_SSD\",\n SystemDiskSize = 60,\n InternetChargeType = \"TRAFFIC_POSTPAID_BY_HOUR\",\n InternetMaxBandwidthOut = 100,\n PublicIpAssigned = true,\n SubnetId = subnet,\n DataDisks = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.ClusterWorkerConfigDataDiskArgs\n {\n DiskType = \"CLOUD_PREMIUM\",\n DiskSize = 50,\n },\n },\n EnhancedSecurityService = false,\n EnhancedMonitorService = false,\n UserData = \"dGVzdA==\",\n KeyIds = \"skey-11112222\",\n },\n },\n NodePoolGlobalConfigs = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.ClusterNodePoolGlobalConfigArgs\n {\n IsScaleInEnabled = true,\n Expander = \"random\",\n IgnoreDaemonSetsUtilization = true,\n MaxConcurrentScaleIn = 5,\n ScaleInDelay = 15,\n ScaleInUnneededTime = 15,\n ScaleInUtilizationThreshold = 30,\n SkipNodesWithLocalStorage = false,\n SkipNodesWithSystemPods = true,\n },\n },\n Labels = \n {\n { \"test1\", \"test1\" },\n { \"test2\", \"test2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Kubernetes\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tavailabilityZone := \"ap-guangzhou-3\"\n\t\tif param := cfg.Get(\"availabilityZone\"); param != \"\" {\n\t\t\tavailabilityZone = param\n\t\t}\n\t\tvpc := \"vpc-dk8zmwuf\"\n\t\tif param := cfg.Get(\"vpc\"); param != \"\" {\n\t\t\tvpc = param\n\t\t}\n\t\tsubnet := \"subnet-pqfek0t8\"\n\t\tif param := cfg.Get(\"subnet\"); param != \"\" {\n\t\t\tsubnet = param\n\t\t}\n\t\tdefaultInstanceType := \"SA1.LARGE8\"\n\t\tif param := cfg.Get(\"defaultInstanceType\"); param != \"\" {\n\t\t\tdefaultInstanceType = param\n\t\t}\n\t\t_, err := Kubernetes.NewCluster(ctx, \"testNodePoolGlobalConfig\", \u0026Kubernetes.ClusterArgs{\n\t\t\tVpcId: pulumi.String(vpc),\n\t\t\tClusterCidr: pulumi.String(\"10.1.0.0/16\"),\n\t\t\tClusterMaxPodNum: pulumi.Int(32),\n\t\t\tClusterName: pulumi.String(\"test\"),\n\t\t\tClusterDesc: pulumi.String(\"test cluster desc\"),\n\t\t\tClusterMaxServiceNum: pulumi.Int(32),\n\t\t\tClusterInternet: pulumi.Bool(true),\n\t\t\tClusterDeployType: pulumi.String(\"MANAGED_CLUSTER\"),\n\t\t\tWorkerConfigs: kubernetes.ClusterWorkerConfigArray{\n\t\t\t\t\u0026kubernetes.ClusterWorkerConfigArgs{\n\t\t\t\t\tCount: pulumi.Int(1),\n\t\t\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\t\t\tInstanceType: pulumi.String(defaultInstanceType),\n\t\t\t\t\tSystemDiskType: pulumi.String(\"CLOUD_SSD\"),\n\t\t\t\t\tSystemDiskSize: pulumi.Int(60),\n\t\t\t\t\tInternetChargeType: pulumi.String(\"TRAFFIC_POSTPAID_BY_HOUR\"),\n\t\t\t\t\tInternetMaxBandwidthOut: pulumi.Int(100),\n\t\t\t\t\tPublicIpAssigned: pulumi.Bool(true),\n\t\t\t\t\tSubnetId: pulumi.String(subnet),\n\t\t\t\t\tDataDisks: kubernetes.ClusterWorkerConfigDataDiskArray{\n\t\t\t\t\t\t\u0026kubernetes.ClusterWorkerConfigDataDiskArgs{\n\t\t\t\t\t\t\tDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\t\t\t\t\tDiskSize: pulumi.Int(50),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tEnhancedSecurityService: pulumi.Bool(false),\n\t\t\t\t\tEnhancedMonitorService: pulumi.Bool(false),\n\t\t\t\t\tUserData: pulumi.String(\"dGVzdA==\"),\n\t\t\t\t\tKeyIds: pulumi.String(\"skey-11112222\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNodePoolGlobalConfigs: kubernetes.ClusterNodePoolGlobalConfigArray{\n\t\t\t\t\u0026kubernetes.ClusterNodePoolGlobalConfigArgs{\n\t\t\t\t\tIsScaleInEnabled: pulumi.Bool(true),\n\t\t\t\t\tExpander: pulumi.String(\"random\"),\n\t\t\t\t\tIgnoreDaemonSetsUtilization: pulumi.Bool(true),\n\t\t\t\t\tMaxConcurrentScaleIn: pulumi.Int(5),\n\t\t\t\t\tScaleInDelay: pulumi.Int(15),\n\t\t\t\t\tScaleInUnneededTime: pulumi.Int(15),\n\t\t\t\t\tScaleInUtilizationThreshold: pulumi.Int(30),\n\t\t\t\t\tSkipNodesWithLocalStorage: pulumi.Bool(false),\n\t\t\t\t\tSkipNodesWithSystemPods: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLabels: pulumi.Map{\n\t\t\t\t\"test1\": pulumi.Any(\"test1\"),\n\t\t\t\t\"test2\": pulumi.Any(\"test2\"),\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.tencentcloud.Kubernetes.Cluster;\nimport com.pulumi.tencentcloud.Kubernetes.ClusterArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.ClusterWorkerConfigArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.ClusterNodePoolGlobalConfigArgs;\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(\"ap-guangzhou-3\");\n final var vpc = config.get(\"vpc\").orElse(\"vpc-dk8zmwuf\");\n final var subnet = config.get(\"subnet\").orElse(\"subnet-pqfek0t8\");\n final var defaultInstanceType = config.get(\"defaultInstanceType\").orElse(\"SA1.LARGE8\");\n var testNodePoolGlobalConfig = new Cluster(\"testNodePoolGlobalConfig\", ClusterArgs.builder() \n .vpcId(vpc)\n .clusterCidr(\"10.1.0.0/16\")\n .clusterMaxPodNum(32)\n .clusterName(\"test\")\n .clusterDesc(\"test cluster desc\")\n .clusterMaxServiceNum(32)\n .clusterInternet(true)\n .clusterDeployType(\"MANAGED_CLUSTER\")\n .workerConfigs(ClusterWorkerConfigArgs.builder()\n .count(1)\n .availabilityZone(availabilityZone)\n .instanceType(defaultInstanceType)\n .systemDiskType(\"CLOUD_SSD\")\n .systemDiskSize(60)\n .internetChargeType(\"TRAFFIC_POSTPAID_BY_HOUR\")\n .internetMaxBandwidthOut(100)\n .publicIpAssigned(true)\n .subnetId(subnet)\n .dataDisks(ClusterWorkerConfigDataDiskArgs.builder()\n .diskType(\"CLOUD_PREMIUM\")\n .diskSize(50)\n .build())\n .enhancedSecurityService(false)\n .enhancedMonitorService(false)\n .userData(\"dGVzdA==\")\n .keyIds(\"skey-11112222\")\n .build())\n .nodePoolGlobalConfigs(ClusterNodePoolGlobalConfigArgs.builder()\n .isScaleInEnabled(true)\n .expander(\"random\")\n .ignoreDaemonSetsUtilization(true)\n .maxConcurrentScaleIn(5)\n .scaleInDelay(15)\n .scaleInUnneededTime(15)\n .scaleInUtilizationThreshold(30)\n .skipNodesWithLocalStorage(false)\n .skipNodesWithSystemPods(true)\n .build())\n .labels(Map.ofEntries(\n Map.entry(\"test1\", \"test1\"),\n Map.entry(\"test2\", \"test2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-3\n vpc:\n type: string\n default: vpc-dk8zmwuf\n subnet:\n type: string\n default: subnet-pqfek0t8\n defaultInstanceType:\n type: string\n default: SA1.LARGE8\nresources:\n testNodePoolGlobalConfig:\n type: tencentcloud:Kubernetes:Cluster\n properties:\n vpcId: ${vpc}\n clusterCidr: 10.1.0.0/16\n clusterMaxPodNum: 32\n clusterName: test\n clusterDesc: test cluster desc\n clusterMaxServiceNum: 32\n clusterInternet: true\n # managed_cluster_internet_security_policies = [\"3.3.3.3\", \"1.1.1.1\"]\n clusterDeployType: MANAGED_CLUSTER\n workerConfigs:\n - count: 1\n availabilityZone: ${availabilityZone}\n instanceType: ${defaultInstanceType}\n systemDiskType: CLOUD_SSD\n systemDiskSize: 60\n internetChargeType: TRAFFIC_POSTPAID_BY_HOUR\n internetMaxBandwidthOut: 100\n publicIpAssigned: true\n subnetId: ${subnet}\n dataDisks:\n - diskType: CLOUD_PREMIUM\n diskSize: 50\n enhancedSecurityService: false\n enhancedMonitorService: false\n userData: dGVzdA==\n keyIds: skey-11112222\n nodePoolGlobalConfigs:\n - isScaleInEnabled: true\n expander: random\n ignoreDaemonSetsUtilization: true\n maxConcurrentScaleIn: 5\n scaleInDelay: 15\n scaleInUnneededTime: 15\n scaleInUtilizationThreshold: 30\n skipNodesWithLocalStorage: false\n skipNodesWithSystemPods: true\n labels:\n test1: test1\n test2: test2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using VPC-CNI network type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst config = new pulumi.Config();\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-1\";\nconst vpc = config.get(\"vpc\") || \"vpc-r1m1fyx5\";\nconst defaultInstanceType = config.get(\"defaultInstanceType\") || \"SA2.SMALL2\";\nconst managedCluster = new tencentcloud.kubernetes.Cluster(\"managedCluster\", {\n vpcId: vpc,\n clusterMaxPodNum: 32,\n clusterName: \"test\",\n clusterDesc: \"test cluster desc\",\n clusterMaxServiceNum: 256,\n clusterInternet: true,\n clusterDeployType: \"MANAGED_CLUSTER\",\n networkType: \"VPC-CNI\",\n eniSubnetIds: [\"subnet-bk1etlyu\"],\n serviceCidr: \"10.1.0.0/24\",\n workerConfigs: [{\n count: 1,\n availabilityZone: availabilityZone,\n instanceType: defaultInstanceType,\n systemDiskType: \"CLOUD_PREMIUM\",\n systemDiskSize: 60,\n internetChargeType: \"TRAFFIC_POSTPAID_BY_HOUR\",\n internetMaxBandwidthOut: 100,\n publicIpAssigned: true,\n subnetId: \"subnet-t5dv27rs\",\n dataDisks: [{\n diskType: \"CLOUD_PREMIUM\",\n diskSize: 50,\n }],\n enhancedSecurityService: false,\n enhancedMonitorService: false,\n userData: \"dGVzdA==\",\n keyIds: \"skey-11112222\",\n }],\n labels: {\n test1: \"test1\",\n test2: \"test2\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\navailability_zone = config.get(\"availabilityZone\")\nif availability_zone is None:\n availability_zone = \"ap-guangzhou-1\"\nvpc = config.get(\"vpc\")\nif vpc is None:\n vpc = \"vpc-r1m1fyx5\"\ndefault_instance_type = config.get(\"defaultInstanceType\")\nif default_instance_type is None:\n default_instance_type = \"SA2.SMALL2\"\nmanaged_cluster = tencentcloud.kubernetes.Cluster(\"managedCluster\",\n vpc_id=vpc,\n cluster_max_pod_num=32,\n cluster_name=\"test\",\n cluster_desc=\"test cluster desc\",\n cluster_max_service_num=256,\n cluster_internet=True,\n cluster_deploy_type=\"MANAGED_CLUSTER\",\n network_type=\"VPC-CNI\",\n eni_subnet_ids=[\"subnet-bk1etlyu\"],\n service_cidr=\"10.1.0.0/24\",\n worker_configs=[tencentcloud.kubernetes.ClusterWorkerConfigArgs(\n count=1,\n availability_zone=availability_zone,\n instance_type=default_instance_type,\n system_disk_type=\"CLOUD_PREMIUM\",\n system_disk_size=60,\n internet_charge_type=\"TRAFFIC_POSTPAID_BY_HOUR\",\n internet_max_bandwidth_out=100,\n public_ip_assigned=True,\n subnet_id=\"subnet-t5dv27rs\",\n data_disks=[tencentcloud.kubernetes.ClusterWorkerConfigDataDiskArgs(\n disk_type=\"CLOUD_PREMIUM\",\n disk_size=50,\n )],\n enhanced_security_service=False,\n enhanced_monitor_service=False,\n user_data=\"dGVzdA==\",\n key_ids=\"skey-11112222\",\n )],\n labels={\n \"test1\": \"test1\",\n \"test2\": \"test2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-1\";\n var vpc = config.Get(\"vpc\") ?? \"vpc-r1m1fyx5\";\n var defaultInstanceType = config.Get(\"defaultInstanceType\") ?? \"SA2.SMALL2\";\n var managedCluster = new Tencentcloud.Kubernetes.Cluster(\"managedCluster\", new()\n {\n VpcId = vpc,\n ClusterMaxPodNum = 32,\n ClusterName = \"test\",\n ClusterDesc = \"test cluster desc\",\n ClusterMaxServiceNum = 256,\n ClusterInternet = true,\n ClusterDeployType = \"MANAGED_CLUSTER\",\n NetworkType = \"VPC-CNI\",\n EniSubnetIds = new[]\n {\n \"subnet-bk1etlyu\",\n },\n ServiceCidr = \"10.1.0.0/24\",\n WorkerConfigs = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.ClusterWorkerConfigArgs\n {\n Count = 1,\n AvailabilityZone = availabilityZone,\n InstanceType = defaultInstanceType,\n SystemDiskType = \"CLOUD_PREMIUM\",\n SystemDiskSize = 60,\n InternetChargeType = \"TRAFFIC_POSTPAID_BY_HOUR\",\n InternetMaxBandwidthOut = 100,\n PublicIpAssigned = true,\n SubnetId = \"subnet-t5dv27rs\",\n DataDisks = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.ClusterWorkerConfigDataDiskArgs\n {\n DiskType = \"CLOUD_PREMIUM\",\n DiskSize = 50,\n },\n },\n EnhancedSecurityService = false,\n EnhancedMonitorService = false,\n UserData = \"dGVzdA==\",\n KeyIds = \"skey-11112222\",\n },\n },\n Labels = \n {\n { \"test1\", \"test1\" },\n { \"test2\", \"test2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Kubernetes\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tavailabilityZone := \"ap-guangzhou-1\"\n\t\tif param := cfg.Get(\"availabilityZone\"); param != \"\" {\n\t\t\tavailabilityZone = param\n\t\t}\n\t\tvpc := \"vpc-r1m1fyx5\"\n\t\tif param := cfg.Get(\"vpc\"); param != \"\" {\n\t\t\tvpc = param\n\t\t}\n\t\tdefaultInstanceType := \"SA2.SMALL2\"\n\t\tif param := cfg.Get(\"defaultInstanceType\"); param != \"\" {\n\t\t\tdefaultInstanceType = param\n\t\t}\n\t\t_, err := Kubernetes.NewCluster(ctx, \"managedCluster\", \u0026Kubernetes.ClusterArgs{\n\t\t\tVpcId: pulumi.String(vpc),\n\t\t\tClusterMaxPodNum: pulumi.Int(32),\n\t\t\tClusterName: pulumi.String(\"test\"),\n\t\t\tClusterDesc: pulumi.String(\"test cluster desc\"),\n\t\t\tClusterMaxServiceNum: pulumi.Int(256),\n\t\t\tClusterInternet: pulumi.Bool(true),\n\t\t\tClusterDeployType: pulumi.String(\"MANAGED_CLUSTER\"),\n\t\t\tNetworkType: pulumi.String(\"VPC-CNI\"),\n\t\t\tEniSubnetIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"subnet-bk1etlyu\"),\n\t\t\t},\n\t\t\tServiceCidr: pulumi.String(\"10.1.0.0/24\"),\n\t\t\tWorkerConfigs: kubernetes.ClusterWorkerConfigArray{\n\t\t\t\t\u0026kubernetes.ClusterWorkerConfigArgs{\n\t\t\t\t\tCount: pulumi.Int(1),\n\t\t\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\t\t\tInstanceType: pulumi.String(defaultInstanceType),\n\t\t\t\t\tSystemDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\t\t\tSystemDiskSize: pulumi.Int(60),\n\t\t\t\t\tInternetChargeType: pulumi.String(\"TRAFFIC_POSTPAID_BY_HOUR\"),\n\t\t\t\t\tInternetMaxBandwidthOut: pulumi.Int(100),\n\t\t\t\t\tPublicIpAssigned: pulumi.Bool(true),\n\t\t\t\t\tSubnetId: pulumi.String(\"subnet-t5dv27rs\"),\n\t\t\t\t\tDataDisks: kubernetes.ClusterWorkerConfigDataDiskArray{\n\t\t\t\t\t\t\u0026kubernetes.ClusterWorkerConfigDataDiskArgs{\n\t\t\t\t\t\t\tDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\t\t\t\t\tDiskSize: pulumi.Int(50),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tEnhancedSecurityService: pulumi.Bool(false),\n\t\t\t\t\tEnhancedMonitorService: pulumi.Bool(false),\n\t\t\t\t\tUserData: pulumi.String(\"dGVzdA==\"),\n\t\t\t\t\tKeyIds: pulumi.String(\"skey-11112222\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLabels: pulumi.Map{\n\t\t\t\t\"test1\": pulumi.Any(\"test1\"),\n\t\t\t\t\"test2\": pulumi.Any(\"test2\"),\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.tencentcloud.Kubernetes.Cluster;\nimport com.pulumi.tencentcloud.Kubernetes.ClusterArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.ClusterWorkerConfigArgs;\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(\"ap-guangzhou-1\");\n final var vpc = config.get(\"vpc\").orElse(\"vpc-r1m1fyx5\");\n final var defaultInstanceType = config.get(\"defaultInstanceType\").orElse(\"SA2.SMALL2\");\n var managedCluster = new Cluster(\"managedCluster\", ClusterArgs.builder() \n .vpcId(vpc)\n .clusterMaxPodNum(32)\n .clusterName(\"test\")\n .clusterDesc(\"test cluster desc\")\n .clusterMaxServiceNum(256)\n .clusterInternet(true)\n .clusterDeployType(\"MANAGED_CLUSTER\")\n .networkType(\"VPC-CNI\")\n .eniSubnetIds(\"subnet-bk1etlyu\")\n .serviceCidr(\"10.1.0.0/24\")\n .workerConfigs(ClusterWorkerConfigArgs.builder()\n .count(1)\n .availabilityZone(availabilityZone)\n .instanceType(defaultInstanceType)\n .systemDiskType(\"CLOUD_PREMIUM\")\n .systemDiskSize(60)\n .internetChargeType(\"TRAFFIC_POSTPAID_BY_HOUR\")\n .internetMaxBandwidthOut(100)\n .publicIpAssigned(true)\n .subnetId(\"subnet-t5dv27rs\")\n .dataDisks(ClusterWorkerConfigDataDiskArgs.builder()\n .diskType(\"CLOUD_PREMIUM\")\n .diskSize(50)\n .build())\n .enhancedSecurityService(false)\n .enhancedMonitorService(false)\n .userData(\"dGVzdA==\")\n .keyIds(\"skey-11112222\")\n .build())\n .labels(Map.ofEntries(\n Map.entry(\"test1\", \"test1\"),\n Map.entry(\"test2\", \"test2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-1\n vpc:\n type: string\n default: vpc-r1m1fyx5\n defaultInstanceType:\n type: string\n default: SA2.SMALL2\nresources:\n managedCluster:\n type: tencentcloud:Kubernetes:Cluster\n properties:\n vpcId: ${vpc}\n clusterMaxPodNum: 32\n clusterName: test\n clusterDesc: test cluster desc\n clusterMaxServiceNum: 256\n clusterInternet: true\n # managed_cluster_internet_security_policies = [\"3.3.3.3\", \"1.1.1.1\"]\n clusterDeployType: MANAGED_CLUSTER\n networkType: VPC-CNI\n eniSubnetIds:\n - subnet-bk1etlyu\n serviceCidr: 10.1.0.0/24\n workerConfigs:\n - count: 1\n availabilityZone: ${availabilityZone}\n instanceType: ${defaultInstanceType}\n systemDiskType: CLOUD_PREMIUM\n systemDiskSize: 60\n internetChargeType: TRAFFIC_POSTPAID_BY_HOUR\n internetMaxBandwidthOut: 100\n publicIpAssigned: true\n subnetId: subnet-t5dv27rs\n dataDisks:\n - diskType: CLOUD_PREMIUM\n diskSize: 50\n enhancedSecurityService: false\n enhancedMonitorService: false\n userData: dGVzdA==\n keyIds: skey-11112222\n labels:\n test1: test1\n test2: test2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using ops options\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst managedCluster = new tencentcloud.kubernetes.Cluster(\"managedCluster\", {\n clusterAudit: {\n enabled: true,\n logSetId: \"\",\n topicId: \"\",\n },\n eventPersistence: {\n enabled: true,\n logSetId: \"\",\n topicId: \"\",\n },\n logAgent: {\n enabled: true,\n kubeletRootDir: \"\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nmanaged_cluster = tencentcloud.kubernetes.Cluster(\"managedCluster\",\n cluster_audit=tencentcloud.kubernetes.ClusterClusterAuditArgs(\n enabled=True,\n log_set_id=\"\",\n topic_id=\"\",\n ),\n event_persistence=tencentcloud.kubernetes.ClusterEventPersistenceArgs(\n enabled=True,\n log_set_id=\"\",\n topic_id=\"\",\n ),\n log_agent=tencentcloud.kubernetes.ClusterLogAgentArgs(\n enabled=True,\n kubelet_root_dir=\"\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var managedCluster = new Tencentcloud.Kubernetes.Cluster(\"managedCluster\", new()\n {\n ClusterAudit = new Tencentcloud.Kubernetes.Inputs.ClusterClusterAuditArgs\n {\n Enabled = true,\n LogSetId = \"\",\n TopicId = \"\",\n },\n EventPersistence = new Tencentcloud.Kubernetes.Inputs.ClusterEventPersistenceArgs\n {\n Enabled = true,\n LogSetId = \"\",\n TopicId = \"\",\n },\n LogAgent = new Tencentcloud.Kubernetes.Inputs.ClusterLogAgentArgs\n {\n Enabled = true,\n KubeletRootDir = \"\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Kubernetes\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Kubernetes.NewCluster(ctx, \"managedCluster\", \u0026Kubernetes.ClusterArgs{\n\t\t\tClusterAudit: \u0026kubernetes.ClusterClusterAuditArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tLogSetId: pulumi.String(\"\"),\n\t\t\t\tTopicId: pulumi.String(\"\"),\n\t\t\t},\n\t\t\tEventPersistence: \u0026kubernetes.ClusterEventPersistenceArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tLogSetId: pulumi.String(\"\"),\n\t\t\t\tTopicId: pulumi.String(\"\"),\n\t\t\t},\n\t\t\tLogAgent: \u0026kubernetes.ClusterLogAgentArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tKubeletRootDir: pulumi.String(\"\"),\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.tencentcloud.Kubernetes.Cluster;\nimport com.pulumi.tencentcloud.Kubernetes.ClusterArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.ClusterClusterAuditArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.ClusterEventPersistenceArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.ClusterLogAgentArgs;\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 managedCluster = new Cluster(\"managedCluster\", ClusterArgs.builder() \n .clusterAudit(ClusterClusterAuditArgs.builder()\n .enabled(true)\n .logSetId(\"\")\n .topicId(\"\")\n .build())\n .eventPersistence(ClusterEventPersistenceArgs.builder()\n .enabled(true)\n .logSetId(\"\")\n .topicId(\"\")\n .build())\n .logAgent(ClusterLogAgentArgs.builder()\n .enabled(true)\n .kubeletRootDir(\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n managedCluster:\n type: tencentcloud:Kubernetes:Cluster\n properties:\n clusterAudit:\n enabled: true\n logSetId:\n topicId:\n eventPersistence:\n enabled: true\n logSetId:\n topicId:\n logAgent:\n enabled: true\n kubeletRootDir:\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provide a resource to create a kubernetes cluster.\n\n\u003e **NOTE:** To use the custom Kubernetes component startup parameter function (parameter `extra_args`), you need to submit a ticket for application.\n\n\u003e **NOTE:** We recommend this usage that uses the `tencentcloud.Kubernetes.Cluster` resource to create a cluster without any `worker_config`, then adds nodes by the `tencentcloud.Kubernetes.NodePool` resource.\nIt's more flexible than managing worker config directly with `tencentcloud.Kubernetes.Cluster`, `tencentcloud.Kubernetes.ScaleWorker`, or existing node management of `tencentcloud_kubernetes_attachment`. The reason is that `worker_config` is unchangeable and may cause the whole cluster resource to `ForceNew`.\n\n## Example Usage\n\n### Use node pool global config\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst config = new pulumi.Config();\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-3\";\nconst vpc = config.get(\"vpc\") || \"vpc-dk8zmwuf\";\nconst subnet = config.get(\"subnet\") || \"subnet-pqfek0t8\";\nconst defaultInstanceType = config.get(\"defaultInstanceType\") || \"SA1.LARGE8\";\nconst testNodePoolGlobalConfig = new tencentcloud.kubernetes.Cluster(\"testNodePoolGlobalConfig\", {\n vpcId: vpc,\n clusterCidr: \"10.1.0.0/16\",\n clusterMaxPodNum: 32,\n clusterName: \"test\",\n clusterDesc: \"test cluster desc\",\n clusterMaxServiceNum: 32,\n clusterInternet: true,\n clusterDeployType: \"MANAGED_CLUSTER\",\n workerConfigs: [{\n count: 1,\n availabilityZone: availabilityZone,\n instanceType: defaultInstanceType,\n systemDiskType: \"CLOUD_SSD\",\n systemDiskSize: 60,\n internetChargeType: \"TRAFFIC_POSTPAID_BY_HOUR\",\n internetMaxBandwidthOut: 100,\n publicIpAssigned: true,\n subnetId: subnet,\n dataDisks: [{\n diskType: \"CLOUD_PREMIUM\",\n diskSize: 50,\n }],\n enhancedSecurityService: false,\n enhancedMonitorService: false,\n userData: \"dGVzdA==\",\n keyIds: \"skey-11112222\",\n }],\n nodePoolGlobalConfigs: [{\n isScaleInEnabled: true,\n expander: \"random\",\n ignoreDaemonSetsUtilization: true,\n maxConcurrentScaleIn: 5,\n scaleInDelay: 15,\n scaleInUnneededTime: 15,\n scaleInUtilizationThreshold: 30,\n skipNodesWithLocalStorage: false,\n skipNodesWithSystemPods: true,\n }],\n labels: {\n test1: \"test1\",\n test2: \"test2\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\navailability_zone = config.get(\"availabilityZone\")\nif availability_zone is None:\n availability_zone = \"ap-guangzhou-3\"\nvpc = config.get(\"vpc\")\nif vpc is None:\n vpc = \"vpc-dk8zmwuf\"\nsubnet = config.get(\"subnet\")\nif subnet is None:\n subnet = \"subnet-pqfek0t8\"\ndefault_instance_type = config.get(\"defaultInstanceType\")\nif default_instance_type is None:\n default_instance_type = \"SA1.LARGE8\"\ntest_node_pool_global_config = tencentcloud.kubernetes.Cluster(\"testNodePoolGlobalConfig\",\n vpc_id=vpc,\n cluster_cidr=\"10.1.0.0/16\",\n cluster_max_pod_num=32,\n cluster_name=\"test\",\n cluster_desc=\"test cluster desc\",\n cluster_max_service_num=32,\n cluster_internet=True,\n cluster_deploy_type=\"MANAGED_CLUSTER\",\n worker_configs=[tencentcloud.kubernetes.ClusterWorkerConfigArgs(\n count=1,\n availability_zone=availability_zone,\n instance_type=default_instance_type,\n system_disk_type=\"CLOUD_SSD\",\n system_disk_size=60,\n internet_charge_type=\"TRAFFIC_POSTPAID_BY_HOUR\",\n internet_max_bandwidth_out=100,\n public_ip_assigned=True,\n subnet_id=subnet,\n data_disks=[tencentcloud.kubernetes.ClusterWorkerConfigDataDiskArgs(\n disk_type=\"CLOUD_PREMIUM\",\n disk_size=50,\n )],\n enhanced_security_service=False,\n enhanced_monitor_service=False,\n user_data=\"dGVzdA==\",\n key_ids=\"skey-11112222\",\n )],\n node_pool_global_configs=[tencentcloud.kubernetes.ClusterNodePoolGlobalConfigArgs(\n is_scale_in_enabled=True,\n expander=\"random\",\n ignore_daemon_sets_utilization=True,\n max_concurrent_scale_in=5,\n scale_in_delay=15,\n scale_in_unneeded_time=15,\n scale_in_utilization_threshold=30,\n skip_nodes_with_local_storage=False,\n skip_nodes_with_system_pods=True,\n )],\n labels={\n \"test1\": \"test1\",\n \"test2\": \"test2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-3\";\n var vpc = config.Get(\"vpc\") ?? \"vpc-dk8zmwuf\";\n var subnet = config.Get(\"subnet\") ?? \"subnet-pqfek0t8\";\n var defaultInstanceType = config.Get(\"defaultInstanceType\") ?? \"SA1.LARGE8\";\n var testNodePoolGlobalConfig = new Tencentcloud.Kubernetes.Cluster(\"testNodePoolGlobalConfig\", new()\n {\n VpcId = vpc,\n ClusterCidr = \"10.1.0.0/16\",\n ClusterMaxPodNum = 32,\n ClusterName = \"test\",\n ClusterDesc = \"test cluster desc\",\n ClusterMaxServiceNum = 32,\n ClusterInternet = true,\n ClusterDeployType = \"MANAGED_CLUSTER\",\n WorkerConfigs = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.ClusterWorkerConfigArgs\n {\n Count = 1,\n AvailabilityZone = availabilityZone,\n InstanceType = defaultInstanceType,\n SystemDiskType = \"CLOUD_SSD\",\n SystemDiskSize = 60,\n InternetChargeType = \"TRAFFIC_POSTPAID_BY_HOUR\",\n InternetMaxBandwidthOut = 100,\n PublicIpAssigned = true,\n SubnetId = subnet,\n DataDisks = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.ClusterWorkerConfigDataDiskArgs\n {\n DiskType = \"CLOUD_PREMIUM\",\n DiskSize = 50,\n },\n },\n EnhancedSecurityService = false,\n EnhancedMonitorService = false,\n UserData = \"dGVzdA==\",\n KeyIds = \"skey-11112222\",\n },\n },\n NodePoolGlobalConfigs = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.ClusterNodePoolGlobalConfigArgs\n {\n IsScaleInEnabled = true,\n Expander = \"random\",\n IgnoreDaemonSetsUtilization = true,\n MaxConcurrentScaleIn = 5,\n ScaleInDelay = 15,\n ScaleInUnneededTime = 15,\n ScaleInUtilizationThreshold = 30,\n SkipNodesWithLocalStorage = false,\n SkipNodesWithSystemPods = true,\n },\n },\n Labels = \n {\n { \"test1\", \"test1\" },\n { \"test2\", \"test2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Kubernetes\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tavailabilityZone := \"ap-guangzhou-3\"\n\t\tif param := cfg.Get(\"availabilityZone\"); param != \"\" {\n\t\t\tavailabilityZone = param\n\t\t}\n\t\tvpc := \"vpc-dk8zmwuf\"\n\t\tif param := cfg.Get(\"vpc\"); param != \"\" {\n\t\t\tvpc = param\n\t\t}\n\t\tsubnet := \"subnet-pqfek0t8\"\n\t\tif param := cfg.Get(\"subnet\"); param != \"\" {\n\t\t\tsubnet = param\n\t\t}\n\t\tdefaultInstanceType := \"SA1.LARGE8\"\n\t\tif param := cfg.Get(\"defaultInstanceType\"); param != \"\" {\n\t\t\tdefaultInstanceType = param\n\t\t}\n\t\t_, err := Kubernetes.NewCluster(ctx, \"testNodePoolGlobalConfig\", \u0026Kubernetes.ClusterArgs{\n\t\t\tVpcId: pulumi.String(vpc),\n\t\t\tClusterCidr: pulumi.String(\"10.1.0.0/16\"),\n\t\t\tClusterMaxPodNum: pulumi.Int(32),\n\t\t\tClusterName: pulumi.String(\"test\"),\n\t\t\tClusterDesc: pulumi.String(\"test cluster desc\"),\n\t\t\tClusterMaxServiceNum: pulumi.Int(32),\n\t\t\tClusterInternet: pulumi.Bool(true),\n\t\t\tClusterDeployType: pulumi.String(\"MANAGED_CLUSTER\"),\n\t\t\tWorkerConfigs: kubernetes.ClusterWorkerConfigArray{\n\t\t\t\t\u0026kubernetes.ClusterWorkerConfigArgs{\n\t\t\t\t\tCount: pulumi.Int(1),\n\t\t\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\t\t\tInstanceType: pulumi.String(defaultInstanceType),\n\t\t\t\t\tSystemDiskType: pulumi.String(\"CLOUD_SSD\"),\n\t\t\t\t\tSystemDiskSize: pulumi.Int(60),\n\t\t\t\t\tInternetChargeType: pulumi.String(\"TRAFFIC_POSTPAID_BY_HOUR\"),\n\t\t\t\t\tInternetMaxBandwidthOut: pulumi.Int(100),\n\t\t\t\t\tPublicIpAssigned: pulumi.Bool(true),\n\t\t\t\t\tSubnetId: pulumi.String(subnet),\n\t\t\t\t\tDataDisks: kubernetes.ClusterWorkerConfigDataDiskArray{\n\t\t\t\t\t\t\u0026kubernetes.ClusterWorkerConfigDataDiskArgs{\n\t\t\t\t\t\t\tDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\t\t\t\t\tDiskSize: pulumi.Int(50),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tEnhancedSecurityService: pulumi.Bool(false),\n\t\t\t\t\tEnhancedMonitorService: pulumi.Bool(false),\n\t\t\t\t\tUserData: pulumi.String(\"dGVzdA==\"),\n\t\t\t\t\tKeyIds: pulumi.String(\"skey-11112222\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNodePoolGlobalConfigs: kubernetes.ClusterNodePoolGlobalConfigArray{\n\t\t\t\t\u0026kubernetes.ClusterNodePoolGlobalConfigArgs{\n\t\t\t\t\tIsScaleInEnabled: pulumi.Bool(true),\n\t\t\t\t\tExpander: pulumi.String(\"random\"),\n\t\t\t\t\tIgnoreDaemonSetsUtilization: pulumi.Bool(true),\n\t\t\t\t\tMaxConcurrentScaleIn: pulumi.Int(5),\n\t\t\t\t\tScaleInDelay: pulumi.Int(15),\n\t\t\t\t\tScaleInUnneededTime: pulumi.Int(15),\n\t\t\t\t\tScaleInUtilizationThreshold: pulumi.Int(30),\n\t\t\t\t\tSkipNodesWithLocalStorage: pulumi.Bool(false),\n\t\t\t\t\tSkipNodesWithSystemPods: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLabels: pulumi.Map{\n\t\t\t\t\"test1\": pulumi.Any(\"test1\"),\n\t\t\t\t\"test2\": pulumi.Any(\"test2\"),\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.tencentcloud.Kubernetes.Cluster;\nimport com.pulumi.tencentcloud.Kubernetes.ClusterArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.ClusterWorkerConfigArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.ClusterNodePoolGlobalConfigArgs;\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(\"ap-guangzhou-3\");\n final var vpc = config.get(\"vpc\").orElse(\"vpc-dk8zmwuf\");\n final var subnet = config.get(\"subnet\").orElse(\"subnet-pqfek0t8\");\n final var defaultInstanceType = config.get(\"defaultInstanceType\").orElse(\"SA1.LARGE8\");\n var testNodePoolGlobalConfig = new Cluster(\"testNodePoolGlobalConfig\", ClusterArgs.builder() \n .vpcId(vpc)\n .clusterCidr(\"10.1.0.0/16\")\n .clusterMaxPodNum(32)\n .clusterName(\"test\")\n .clusterDesc(\"test cluster desc\")\n .clusterMaxServiceNum(32)\n .clusterInternet(true)\n .clusterDeployType(\"MANAGED_CLUSTER\")\n .workerConfigs(ClusterWorkerConfigArgs.builder()\n .count(1)\n .availabilityZone(availabilityZone)\n .instanceType(defaultInstanceType)\n .systemDiskType(\"CLOUD_SSD\")\n .systemDiskSize(60)\n .internetChargeType(\"TRAFFIC_POSTPAID_BY_HOUR\")\n .internetMaxBandwidthOut(100)\n .publicIpAssigned(true)\n .subnetId(subnet)\n .dataDisks(ClusterWorkerConfigDataDiskArgs.builder()\n .diskType(\"CLOUD_PREMIUM\")\n .diskSize(50)\n .build())\n .enhancedSecurityService(false)\n .enhancedMonitorService(false)\n .userData(\"dGVzdA==\")\n .keyIds(\"skey-11112222\")\n .build())\n .nodePoolGlobalConfigs(ClusterNodePoolGlobalConfigArgs.builder()\n .isScaleInEnabled(true)\n .expander(\"random\")\n .ignoreDaemonSetsUtilization(true)\n .maxConcurrentScaleIn(5)\n .scaleInDelay(15)\n .scaleInUnneededTime(15)\n .scaleInUtilizationThreshold(30)\n .skipNodesWithLocalStorage(false)\n .skipNodesWithSystemPods(true)\n .build())\n .labels(Map.ofEntries(\n Map.entry(\"test1\", \"test1\"),\n Map.entry(\"test2\", \"test2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-3\n vpc:\n type: string\n default: vpc-dk8zmwuf\n subnet:\n type: string\n default: subnet-pqfek0t8\n defaultInstanceType:\n type: string\n default: SA1.LARGE8\nresources:\n testNodePoolGlobalConfig:\n type: tencentcloud:Kubernetes:Cluster\n properties:\n vpcId: ${vpc}\n clusterCidr: 10.1.0.0/16\n clusterMaxPodNum: 32\n clusterName: test\n clusterDesc: test cluster desc\n clusterMaxServiceNum: 32\n clusterInternet: true\n # managed_cluster_internet_security_policies = [\"3.3.3.3\", \"1.1.1.1\"]\n clusterDeployType: MANAGED_CLUSTER\n workerConfigs:\n - count: 1\n availabilityZone: ${availabilityZone}\n instanceType: ${defaultInstanceType}\n systemDiskType: CLOUD_SSD\n systemDiskSize: 60\n internetChargeType: TRAFFIC_POSTPAID_BY_HOUR\n internetMaxBandwidthOut: 100\n publicIpAssigned: true\n subnetId: ${subnet}\n dataDisks:\n - diskType: CLOUD_PREMIUM\n diskSize: 50\n enhancedSecurityService: false\n enhancedMonitorService: false\n userData: dGVzdA==\n keyIds: skey-11112222\n nodePoolGlobalConfigs:\n - isScaleInEnabled: true\n expander: random\n ignoreDaemonSetsUtilization: true\n maxConcurrentScaleIn: 5\n scaleInDelay: 15\n scaleInUnneededTime: 15\n scaleInUtilizationThreshold: 30\n skipNodesWithLocalStorage: false\n skipNodesWithSystemPods: true\n labels:\n test1: test1\n test2: test2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using VPC-CNI network type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst config = new pulumi.Config();\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-1\";\nconst vpc = config.get(\"vpc\") || \"vpc-r1m1fyx5\";\nconst defaultInstanceType = config.get(\"defaultInstanceType\") || \"SA2.SMALL2\";\nconst managedCluster = new tencentcloud.kubernetes.Cluster(\"managedCluster\", {\n vpcId: vpc,\n clusterMaxPodNum: 32,\n clusterName: \"test\",\n clusterDesc: \"test cluster desc\",\n clusterMaxServiceNum: 256,\n clusterInternet: true,\n clusterDeployType: \"MANAGED_CLUSTER\",\n networkType: \"VPC-CNI\",\n eniSubnetIds: [\"subnet-bk1etlyu\"],\n serviceCidr: \"10.1.0.0/24\",\n workerConfigs: [{\n count: 1,\n availabilityZone: availabilityZone,\n instanceType: defaultInstanceType,\n systemDiskType: \"CLOUD_PREMIUM\",\n systemDiskSize: 60,\n internetChargeType: \"TRAFFIC_POSTPAID_BY_HOUR\",\n internetMaxBandwidthOut: 100,\n publicIpAssigned: true,\n subnetId: \"subnet-t5dv27rs\",\n dataDisks: [{\n diskType: \"CLOUD_PREMIUM\",\n diskSize: 50,\n }],\n enhancedSecurityService: false,\n enhancedMonitorService: false,\n userData: \"dGVzdA==\",\n keyIds: \"skey-11112222\",\n }],\n labels: {\n test1: \"test1\",\n test2: \"test2\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\navailability_zone = config.get(\"availabilityZone\")\nif availability_zone is None:\n availability_zone = \"ap-guangzhou-1\"\nvpc = config.get(\"vpc\")\nif vpc is None:\n vpc = \"vpc-r1m1fyx5\"\ndefault_instance_type = config.get(\"defaultInstanceType\")\nif default_instance_type is None:\n default_instance_type = \"SA2.SMALL2\"\nmanaged_cluster = tencentcloud.kubernetes.Cluster(\"managedCluster\",\n vpc_id=vpc,\n cluster_max_pod_num=32,\n cluster_name=\"test\",\n cluster_desc=\"test cluster desc\",\n cluster_max_service_num=256,\n cluster_internet=True,\n cluster_deploy_type=\"MANAGED_CLUSTER\",\n network_type=\"VPC-CNI\",\n eni_subnet_ids=[\"subnet-bk1etlyu\"],\n service_cidr=\"10.1.0.0/24\",\n worker_configs=[tencentcloud.kubernetes.ClusterWorkerConfigArgs(\n count=1,\n availability_zone=availability_zone,\n instance_type=default_instance_type,\n system_disk_type=\"CLOUD_PREMIUM\",\n system_disk_size=60,\n internet_charge_type=\"TRAFFIC_POSTPAID_BY_HOUR\",\n internet_max_bandwidth_out=100,\n public_ip_assigned=True,\n subnet_id=\"subnet-t5dv27rs\",\n data_disks=[tencentcloud.kubernetes.ClusterWorkerConfigDataDiskArgs(\n disk_type=\"CLOUD_PREMIUM\",\n disk_size=50,\n )],\n enhanced_security_service=False,\n enhanced_monitor_service=False,\n user_data=\"dGVzdA==\",\n key_ids=\"skey-11112222\",\n )],\n labels={\n \"test1\": \"test1\",\n \"test2\": \"test2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-1\";\n var vpc = config.Get(\"vpc\") ?? \"vpc-r1m1fyx5\";\n var defaultInstanceType = config.Get(\"defaultInstanceType\") ?? \"SA2.SMALL2\";\n var managedCluster = new Tencentcloud.Kubernetes.Cluster(\"managedCluster\", new()\n {\n VpcId = vpc,\n ClusterMaxPodNum = 32,\n ClusterName = \"test\",\n ClusterDesc = \"test cluster desc\",\n ClusterMaxServiceNum = 256,\n ClusterInternet = true,\n ClusterDeployType = \"MANAGED_CLUSTER\",\n NetworkType = \"VPC-CNI\",\n EniSubnetIds = new[]\n {\n \"subnet-bk1etlyu\",\n },\n ServiceCidr = \"10.1.0.0/24\",\n WorkerConfigs = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.ClusterWorkerConfigArgs\n {\n Count = 1,\n AvailabilityZone = availabilityZone,\n InstanceType = defaultInstanceType,\n SystemDiskType = \"CLOUD_PREMIUM\",\n SystemDiskSize = 60,\n InternetChargeType = \"TRAFFIC_POSTPAID_BY_HOUR\",\n InternetMaxBandwidthOut = 100,\n PublicIpAssigned = true,\n SubnetId = \"subnet-t5dv27rs\",\n DataDisks = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.ClusterWorkerConfigDataDiskArgs\n {\n DiskType = \"CLOUD_PREMIUM\",\n DiskSize = 50,\n },\n },\n EnhancedSecurityService = false,\n EnhancedMonitorService = false,\n UserData = \"dGVzdA==\",\n KeyIds = \"skey-11112222\",\n },\n },\n Labels = \n {\n { \"test1\", \"test1\" },\n { \"test2\", \"test2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Kubernetes\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tavailabilityZone := \"ap-guangzhou-1\"\n\t\tif param := cfg.Get(\"availabilityZone\"); param != \"\" {\n\t\t\tavailabilityZone = param\n\t\t}\n\t\tvpc := \"vpc-r1m1fyx5\"\n\t\tif param := cfg.Get(\"vpc\"); param != \"\" {\n\t\t\tvpc = param\n\t\t}\n\t\tdefaultInstanceType := \"SA2.SMALL2\"\n\t\tif param := cfg.Get(\"defaultInstanceType\"); param != \"\" {\n\t\t\tdefaultInstanceType = param\n\t\t}\n\t\t_, err := Kubernetes.NewCluster(ctx, \"managedCluster\", \u0026Kubernetes.ClusterArgs{\n\t\t\tVpcId: pulumi.String(vpc),\n\t\t\tClusterMaxPodNum: pulumi.Int(32),\n\t\t\tClusterName: pulumi.String(\"test\"),\n\t\t\tClusterDesc: pulumi.String(\"test cluster desc\"),\n\t\t\tClusterMaxServiceNum: pulumi.Int(256),\n\t\t\tClusterInternet: pulumi.Bool(true),\n\t\t\tClusterDeployType: pulumi.String(\"MANAGED_CLUSTER\"),\n\t\t\tNetworkType: pulumi.String(\"VPC-CNI\"),\n\t\t\tEniSubnetIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"subnet-bk1etlyu\"),\n\t\t\t},\n\t\t\tServiceCidr: pulumi.String(\"10.1.0.0/24\"),\n\t\t\tWorkerConfigs: kubernetes.ClusterWorkerConfigArray{\n\t\t\t\t\u0026kubernetes.ClusterWorkerConfigArgs{\n\t\t\t\t\tCount: pulumi.Int(1),\n\t\t\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\t\t\tInstanceType: pulumi.String(defaultInstanceType),\n\t\t\t\t\tSystemDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\t\t\tSystemDiskSize: pulumi.Int(60),\n\t\t\t\t\tInternetChargeType: pulumi.String(\"TRAFFIC_POSTPAID_BY_HOUR\"),\n\t\t\t\t\tInternetMaxBandwidthOut: pulumi.Int(100),\n\t\t\t\t\tPublicIpAssigned: pulumi.Bool(true),\n\t\t\t\t\tSubnetId: pulumi.String(\"subnet-t5dv27rs\"),\n\t\t\t\t\tDataDisks: kubernetes.ClusterWorkerConfigDataDiskArray{\n\t\t\t\t\t\t\u0026kubernetes.ClusterWorkerConfigDataDiskArgs{\n\t\t\t\t\t\t\tDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\t\t\t\t\tDiskSize: pulumi.Int(50),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tEnhancedSecurityService: pulumi.Bool(false),\n\t\t\t\t\tEnhancedMonitorService: pulumi.Bool(false),\n\t\t\t\t\tUserData: pulumi.String(\"dGVzdA==\"),\n\t\t\t\t\tKeyIds: pulumi.String(\"skey-11112222\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLabels: pulumi.Map{\n\t\t\t\t\"test1\": pulumi.Any(\"test1\"),\n\t\t\t\t\"test2\": pulumi.Any(\"test2\"),\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.tencentcloud.Kubernetes.Cluster;\nimport com.pulumi.tencentcloud.Kubernetes.ClusterArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.ClusterWorkerConfigArgs;\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(\"ap-guangzhou-1\");\n final var vpc = config.get(\"vpc\").orElse(\"vpc-r1m1fyx5\");\n final var defaultInstanceType = config.get(\"defaultInstanceType\").orElse(\"SA2.SMALL2\");\n var managedCluster = new Cluster(\"managedCluster\", ClusterArgs.builder() \n .vpcId(vpc)\n .clusterMaxPodNum(32)\n .clusterName(\"test\")\n .clusterDesc(\"test cluster desc\")\n .clusterMaxServiceNum(256)\n .clusterInternet(true)\n .clusterDeployType(\"MANAGED_CLUSTER\")\n .networkType(\"VPC-CNI\")\n .eniSubnetIds(\"subnet-bk1etlyu\")\n .serviceCidr(\"10.1.0.0/24\")\n .workerConfigs(ClusterWorkerConfigArgs.builder()\n .count(1)\n .availabilityZone(availabilityZone)\n .instanceType(defaultInstanceType)\n .systemDiskType(\"CLOUD_PREMIUM\")\n .systemDiskSize(60)\n .internetChargeType(\"TRAFFIC_POSTPAID_BY_HOUR\")\n .internetMaxBandwidthOut(100)\n .publicIpAssigned(true)\n .subnetId(\"subnet-t5dv27rs\")\n .dataDisks(ClusterWorkerConfigDataDiskArgs.builder()\n .diskType(\"CLOUD_PREMIUM\")\n .diskSize(50)\n .build())\n .enhancedSecurityService(false)\n .enhancedMonitorService(false)\n .userData(\"dGVzdA==\")\n .keyIds(\"skey-11112222\")\n .build())\n .labels(Map.ofEntries(\n Map.entry(\"test1\", \"test1\"),\n Map.entry(\"test2\", \"test2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-1\n vpc:\n type: string\n default: vpc-r1m1fyx5\n defaultInstanceType:\n type: string\n default: SA2.SMALL2\nresources:\n managedCluster:\n type: tencentcloud:Kubernetes:Cluster\n properties:\n vpcId: ${vpc}\n clusterMaxPodNum: 32\n clusterName: test\n clusterDesc: test cluster desc\n clusterMaxServiceNum: 256\n clusterInternet: true\n # managed_cluster_internet_security_policies = [\"3.3.3.3\", \"1.1.1.1\"]\n clusterDeployType: MANAGED_CLUSTER\n networkType: VPC-CNI\n eniSubnetIds:\n - subnet-bk1etlyu\n serviceCidr: 10.1.0.0/24\n workerConfigs:\n - count: 1\n availabilityZone: ${availabilityZone}\n instanceType: ${defaultInstanceType}\n systemDiskType: CLOUD_PREMIUM\n systemDiskSize: 60\n internetChargeType: TRAFFIC_POSTPAID_BY_HOUR\n internetMaxBandwidthOut: 100\n publicIpAssigned: true\n subnetId: subnet-t5dv27rs\n dataDisks:\n - diskType: CLOUD_PREMIUM\n diskSize: 50\n enhancedSecurityService: false\n enhancedMonitorService: false\n userData: dGVzdA==\n keyIds: skey-11112222\n labels:\n test1: test1\n test2: test2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using ops options\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst managedCluster = new tencentcloud.kubernetes.Cluster(\"managedCluster\", {\n clusterAudit: {\n enabled: true,\n logSetId: \"\",\n topicId: \"\",\n },\n eventPersistence: {\n enabled: true,\n logSetId: \"\",\n topicId: \"\",\n },\n logAgent: {\n enabled: true,\n kubeletRootDir: \"\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nmanaged_cluster = tencentcloud.kubernetes.Cluster(\"managedCluster\",\n cluster_audit=tencentcloud.kubernetes.ClusterClusterAuditArgs(\n enabled=True,\n log_set_id=\"\",\n topic_id=\"\",\n ),\n event_persistence=tencentcloud.kubernetes.ClusterEventPersistenceArgs(\n enabled=True,\n log_set_id=\"\",\n topic_id=\"\",\n ),\n log_agent=tencentcloud.kubernetes.ClusterLogAgentArgs(\n enabled=True,\n kubelet_root_dir=\"\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var managedCluster = new Tencentcloud.Kubernetes.Cluster(\"managedCluster\", new()\n {\n ClusterAudit = new Tencentcloud.Kubernetes.Inputs.ClusterClusterAuditArgs\n {\n Enabled = true,\n LogSetId = \"\",\n TopicId = \"\",\n },\n EventPersistence = new Tencentcloud.Kubernetes.Inputs.ClusterEventPersistenceArgs\n {\n Enabled = true,\n LogSetId = \"\",\n TopicId = \"\",\n },\n LogAgent = new Tencentcloud.Kubernetes.Inputs.ClusterLogAgentArgs\n {\n Enabled = true,\n KubeletRootDir = \"\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Kubernetes\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Kubernetes.NewCluster(ctx, \"managedCluster\", \u0026Kubernetes.ClusterArgs{\n\t\t\tClusterAudit: \u0026kubernetes.ClusterClusterAuditArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tLogSetId: pulumi.String(\"\"),\n\t\t\t\tTopicId: pulumi.String(\"\"),\n\t\t\t},\n\t\t\tEventPersistence: \u0026kubernetes.ClusterEventPersistenceArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tLogSetId: pulumi.String(\"\"),\n\t\t\t\tTopicId: pulumi.String(\"\"),\n\t\t\t},\n\t\t\tLogAgent: \u0026kubernetes.ClusterLogAgentArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tKubeletRootDir: pulumi.String(\"\"),\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.tencentcloud.Kubernetes.Cluster;\nimport com.pulumi.tencentcloud.Kubernetes.ClusterArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.ClusterClusterAuditArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.ClusterEventPersistenceArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.ClusterLogAgentArgs;\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 managedCluster = new Cluster(\"managedCluster\", ClusterArgs.builder() \n .clusterAudit(ClusterClusterAuditArgs.builder()\n .enabled(true)\n .logSetId(\"\")\n .topicId(\"\")\n .build())\n .eventPersistence(ClusterEventPersistenceArgs.builder()\n .enabled(true)\n .logSetId(\"\")\n .topicId(\"\")\n .build())\n .logAgent(ClusterLogAgentArgs.builder()\n .enabled(true)\n .kubeletRootDir(\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n managedCluster:\n type: tencentcloud:Kubernetes:Cluster\n properties:\n clusterAudit:\n enabled: true\n logSetId:\n topicId:\n eventPersistence:\n enabled: true\n logSetId:\n topicId:\n logAgent:\n enabled: true\n kubeletRootDir:\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\ntke cluster can be imported, e.g.\n\n```sh\n$ pulumi import tencentcloud:Kubernetes/cluster:Cluster test cls-xxx\n```\n", "properties": { "acquireClusterAdminRole": { "type": "boolean", @@ -166239,7 +167501,7 @@ }, "clusterOs": { "type": "string", - "description": "Operating system of the cluster, the available values include: 'centos7.6.0_x64','ubuntu18.04.1x86_64','tlinux2.4x86_64'. Default is 'tlinux2.4x86_64'.\n" + "description": "Cluster operating system, supports setting public images (the field passes the corresponding image Name) and custom images (the field passes the corresponding image ID). For details, please refer to: https://cloud.tencent.com/document/product/457/68289.\n" }, "clusterOsType": { "type": "string", @@ -166433,7 +167695,7 @@ "items": { "$ref": "#/types/tencentcloud:Kubernetes/ClusterWorkerConfig:ClusterWorkerConfig" }, - "description": "Deploy the machine configuration information of the 'WORKER' service, and create \u003c=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_worker'.\n" + "description": "Deploy the machine configuration information of the 'WORKER' service, and create \u003c=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_scale_worker'.\n" }, "workerInstancesLists": { "type": "array", @@ -166448,9 +167710,7 @@ "claimExpiredSeconds", "clusterAsEnabled", "clusterExternalEndpoint", - "clusterInternet", "clusterInternetSecurityGroup", - "clusterIntranet", "clusterIntranetSubnetId", "clusterLevel", "clusterNodeNum", @@ -166561,7 +167821,7 @@ }, "clusterOs": { "type": "string", - "description": "Operating system of the cluster, the available values include: 'centos7.6.0_x64','ubuntu18.04.1x86_64','tlinux2.4x86_64'. Default is 'tlinux2.4x86_64'.\n", + "description": "Cluster operating system, supports setting public images (the field passes the corresponding image Name) and custom images (the field passes the corresponding image ID). For details, please refer to: https://cloud.tencent.com/document/product/457/68289.\n", "willReplaceOnChanges": true }, "clusterOsType": { @@ -166742,7 +168002,7 @@ "items": { "$ref": "#/types/tencentcloud:Kubernetes/ClusterWorkerConfig:ClusterWorkerConfig" }, - "description": "Deploy the machine configuration information of the 'WORKER' service, and create \u003c=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_worker'.\n", + "description": "Deploy the machine configuration information of the 'WORKER' service, and create \u003c=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_scale_worker'.\n", "willReplaceOnChanges": true } }, @@ -166862,7 +168122,7 @@ }, "clusterOs": { "type": "string", - "description": "Operating system of the cluster, the available values include: 'centos7.6.0_x64','ubuntu18.04.1x86_64','tlinux2.4x86_64'. Default is 'tlinux2.4x86_64'.\n", + "description": "Cluster operating system, supports setting public images (the field passes the corresponding image Name) and custom images (the field passes the corresponding image ID). For details, please refer to: https://cloud.tencent.com/document/product/457/68289.\n", "willReplaceOnChanges": true }, "clusterOsType": { @@ -167074,7 +168334,7 @@ "items": { "$ref": "#/types/tencentcloud:Kubernetes/ClusterWorkerConfig:ClusterWorkerConfig" }, - "description": "Deploy the machine configuration information of the 'WORKER' service, and create \u003c=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_worker'.\n", + "description": "Deploy the machine configuration information of the 'WORKER' service, and create \u003c=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_scale_worker'.\n", "willReplaceOnChanges": true }, "workerInstancesLists": { @@ -167357,7 +168617,8 @@ "inputProperties": { "clusterId": { "type": "string", - "description": "Specify cluster ID.\n" + "description": "Specify cluster ID.\n", + "willReplaceOnChanges": true }, "clusterInternet": { "type": "boolean", @@ -167417,7 +168678,8 @@ }, "clusterId": { "type": "string", - "description": "Specify cluster ID.\n" + "description": "Specify cluster ID.\n", + "willReplaceOnChanges": true }, "clusterInternet": { "type": "boolean", @@ -167535,6 +168797,209 @@ "type": "object" } }, + "tencentcloud:Kubernetes/nativeNodePool:NativeNodePool": { + "description": "Provides a resource to create a tke kubernetes_native_node_pool\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst kubernetesNativeNodePool = new tencentcloud.kubernetes.NativeNodePool(\"kubernetesNativeNodePool\", {\n annotations: [\n {\n name: \"node.tke.cloud.tencent.com/test-anno\",\n value: \"test\",\n },\n {\n name: \"node.tke.cloud.tencent.com/test-label\",\n value: \"test\",\n },\n ],\n clusterId: \"cls-eyier120\",\n deletionProtection: false,\n labels: [{\n name: \"test11\",\n value: \"test21\",\n }],\n native: {\n autoRepair: false,\n dataDisks: [{\n autoFormatAndMount: true,\n diskSize: 60,\n diskType: \"CLOUD_PREMIUM\",\n fileSystem: \"ext4\",\n mountTarget: \"/var/lib/containerd\",\n }],\n enableAutoscaling: true,\n hostNamePattern: \"aaa{R:3}\",\n instanceChargePrepaid: {\n period: 1,\n renewFlag: \"NOTIFY_AND_MANUAL_RENEW\",\n },\n instanceChargeType: \"PREPAID\",\n instanceTypes: [\"SA2.MEDIUM2\"],\n internetAccessible: {\n chargeType: \"TRAFFIC_POSTPAID_BY_HOUR\",\n maxBandwidthOut: 50,\n },\n keyIds: [\"skey-9pcs2100\"],\n kubeletArgs: [\n \"allowed-unsafe-sysctls=net.core.somaxconn\",\n \"root-dir=/var/lib/test\",\n ],\n lifecycle: {\n postInit: \"ZWNobyBoZWxsb3dvcmxk\",\n preInit: \"ZWNobyBoZWxsb3dvcmxk\",\n },\n management: {\n hosts: [\n \"192.168.2.42 static.fake.com\",\n \"192.168.2.42 static.fake.com2\",\n ],\n kernelArgs: [\n \"kernel.pid_max=65535\",\n \"fs.file-max=400000\",\n ],\n nameservers: [\n \"183.60.83.19\",\n \"183.60.82.98\",\n ],\n },\n replicas: 2,\n runtimeRootDir: \"/var/lib/docker\",\n scaling: {\n createPolicy: \"ZoneEquality\",\n maxReplicas: 10,\n minReplicas: 1,\n },\n securityGroupIds: [\"sg-7tum9120\"],\n subnetIds: [\"subnet-itb6d123\"],\n systemDisk: {\n diskSize: 50,\n diskType: \"CLOUD_SSD\",\n },\n },\n tags: [{\n resourceType: \"machine\",\n tags: [\n {\n key: \"keep-test-np1\",\n value: \"test1\",\n },\n {\n key: \"keep-test-np3\",\n value: \"test3\",\n },\n ],\n }],\n taints: [{\n effect: \"NoExecute\",\n key: \"product\",\n value: \"coderider\",\n }],\n type: \"Native\",\n unschedulable: false,\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nkubernetes_native_node_pool = tencentcloud.kubernetes.NativeNodePool(\"kubernetesNativeNodePool\",\n annotations=[\n tencentcloud.kubernetes.NativeNodePoolAnnotationArgs(\n name=\"node.tke.cloud.tencent.com/test-anno\",\n value=\"test\",\n ),\n tencentcloud.kubernetes.NativeNodePoolAnnotationArgs(\n name=\"node.tke.cloud.tencent.com/test-label\",\n value=\"test\",\n ),\n ],\n cluster_id=\"cls-eyier120\",\n deletion_protection=False,\n labels=[tencentcloud.kubernetes.NativeNodePoolLabelArgs(\n name=\"test11\",\n value=\"test21\",\n )],\n native=tencentcloud.kubernetes.NativeNodePoolNativeArgs(\n auto_repair=False,\n data_disks=[tencentcloud.kubernetes.NativeNodePoolNativeDataDiskArgs(\n auto_format_and_mount=True,\n disk_size=60,\n disk_type=\"CLOUD_PREMIUM\",\n file_system=\"ext4\",\n mount_target=\"/var/lib/containerd\",\n )],\n enable_autoscaling=True,\n host_name_pattern=\"aaa{R:3}\",\n instance_charge_prepaid=tencentcloud.kubernetes.NativeNodePoolNativeInstanceChargePrepaidArgs(\n period=1,\n renew_flag=\"NOTIFY_AND_MANUAL_RENEW\",\n ),\n instance_charge_type=\"PREPAID\",\n instance_types=[\"SA2.MEDIUM2\"],\n internet_accessible=tencentcloud.kubernetes.NativeNodePoolNativeInternetAccessibleArgs(\n charge_type=\"TRAFFIC_POSTPAID_BY_HOUR\",\n max_bandwidth_out=50,\n ),\n key_ids=[\"skey-9pcs2100\"],\n kubelet_args=[\n \"allowed-unsafe-sysctls=net.core.somaxconn\",\n \"root-dir=/var/lib/test\",\n ],\n lifecycle=tencentcloud.kubernetes.NativeNodePoolNativeLifecycleArgs(\n post_init=\"ZWNobyBoZWxsb3dvcmxk\",\n pre_init=\"ZWNobyBoZWxsb3dvcmxk\",\n ),\n management=tencentcloud.kubernetes.NativeNodePoolNativeManagementArgs(\n hosts=[\n \"192.168.2.42 static.fake.com\",\n \"192.168.2.42 static.fake.com2\",\n ],\n kernel_args=[\n \"kernel.pid_max=65535\",\n \"fs.file-max=400000\",\n ],\n nameservers=[\n \"183.60.83.19\",\n \"183.60.82.98\",\n ],\n ),\n replicas=2,\n runtime_root_dir=\"/var/lib/docker\",\n scaling=tencentcloud.kubernetes.NativeNodePoolNativeScalingArgs(\n create_policy=\"ZoneEquality\",\n max_replicas=10,\n min_replicas=1,\n ),\n security_group_ids=[\"sg-7tum9120\"],\n subnet_ids=[\"subnet-itb6d123\"],\n system_disk=tencentcloud.kubernetes.NativeNodePoolNativeSystemDiskArgs(\n disk_size=50,\n disk_type=\"CLOUD_SSD\",\n ),\n ),\n tags=[tencentcloud.kubernetes.NativeNodePoolTagArgs(\n resource_type=\"machine\",\n tags=[\n tencentcloud.kubernetes.NativeNodePoolTagTagArgs(\n key=\"keep-test-np1\",\n value=\"test1\",\n ),\n tencentcloud.kubernetes.NativeNodePoolTagTagArgs(\n key=\"keep-test-np3\",\n value=\"test3\",\n ),\n ],\n )],\n taints=[tencentcloud.kubernetes.NativeNodePoolTaintArgs(\n effect=\"NoExecute\",\n key=\"product\",\n value=\"coderider\",\n )],\n type=\"Native\",\n unschedulable=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var kubernetesNativeNodePool = new Tencentcloud.Kubernetes.NativeNodePool(\"kubernetesNativeNodePool\", new()\n {\n Annotations = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.NativeNodePoolAnnotationArgs\n {\n Name = \"node.tke.cloud.tencent.com/test-anno\",\n Value = \"test\",\n },\n new Tencentcloud.Kubernetes.Inputs.NativeNodePoolAnnotationArgs\n {\n Name = \"node.tke.cloud.tencent.com/test-label\",\n Value = \"test\",\n },\n },\n ClusterId = \"cls-eyier120\",\n DeletionProtection = false,\n Labels = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.NativeNodePoolLabelArgs\n {\n Name = \"test11\",\n Value = \"test21\",\n },\n },\n Native = new Tencentcloud.Kubernetes.Inputs.NativeNodePoolNativeArgs\n {\n AutoRepair = false,\n DataDisks = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.NativeNodePoolNativeDataDiskArgs\n {\n AutoFormatAndMount = true,\n DiskSize = 60,\n DiskType = \"CLOUD_PREMIUM\",\n FileSystem = \"ext4\",\n MountTarget = \"/var/lib/containerd\",\n },\n },\n EnableAutoscaling = true,\n HostNamePattern = \"aaa{R:3}\",\n InstanceChargePrepaid = new Tencentcloud.Kubernetes.Inputs.NativeNodePoolNativeInstanceChargePrepaidArgs\n {\n Period = 1,\n RenewFlag = \"NOTIFY_AND_MANUAL_RENEW\",\n },\n InstanceChargeType = \"PREPAID\",\n InstanceTypes = new[]\n {\n \"SA2.MEDIUM2\",\n },\n InternetAccessible = new Tencentcloud.Kubernetes.Inputs.NativeNodePoolNativeInternetAccessibleArgs\n {\n ChargeType = \"TRAFFIC_POSTPAID_BY_HOUR\",\n MaxBandwidthOut = 50,\n },\n KeyIds = new[]\n {\n \"skey-9pcs2100\",\n },\n KubeletArgs = new[]\n {\n \"allowed-unsafe-sysctls=net.core.somaxconn\",\n \"root-dir=/var/lib/test\",\n },\n Lifecycle = new Tencentcloud.Kubernetes.Inputs.NativeNodePoolNativeLifecycleArgs\n {\n PostInit = \"ZWNobyBoZWxsb3dvcmxk\",\n PreInit = \"ZWNobyBoZWxsb3dvcmxk\",\n },\n Management = new Tencentcloud.Kubernetes.Inputs.NativeNodePoolNativeManagementArgs\n {\n Hosts = new[]\n {\n \"192.168.2.42 static.fake.com\",\n \"192.168.2.42 static.fake.com2\",\n },\n KernelArgs = new[]\n {\n \"kernel.pid_max=65535\",\n \"fs.file-max=400000\",\n },\n Nameservers = new[]\n {\n \"183.60.83.19\",\n \"183.60.82.98\",\n },\n },\n Replicas = 2,\n RuntimeRootDir = \"/var/lib/docker\",\n Scaling = new Tencentcloud.Kubernetes.Inputs.NativeNodePoolNativeScalingArgs\n {\n CreatePolicy = \"ZoneEquality\",\n MaxReplicas = 10,\n MinReplicas = 1,\n },\n SecurityGroupIds = new[]\n {\n \"sg-7tum9120\",\n },\n SubnetIds = new[]\n {\n \"subnet-itb6d123\",\n },\n SystemDisk = new Tencentcloud.Kubernetes.Inputs.NativeNodePoolNativeSystemDiskArgs\n {\n DiskSize = 50,\n DiskType = \"CLOUD_SSD\",\n },\n },\n Tags = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.NativeNodePoolTagArgs\n {\n ResourceType = \"machine\",\n Tags = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.NativeNodePoolTagTagArgs\n {\n Key = \"keep-test-np1\",\n Value = \"test1\",\n },\n new Tencentcloud.Kubernetes.Inputs.NativeNodePoolTagTagArgs\n {\n Key = \"keep-test-np3\",\n Value = \"test3\",\n },\n },\n },\n },\n Taints = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.NativeNodePoolTaintArgs\n {\n Effect = \"NoExecute\",\n Key = \"product\",\n Value = \"coderider\",\n },\n },\n Type = \"Native\",\n Unschedulable = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Kubernetes\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Kubernetes.NewNativeNodePool(ctx, \"kubernetesNativeNodePool\", \u0026Kubernetes.NativeNodePoolArgs{\n\t\t\tAnnotations: kubernetes.NativeNodePoolAnnotationArray{\n\t\t\t\t\u0026kubernetes.NativeNodePoolAnnotationArgs{\n\t\t\t\t\tName: pulumi.String(\"node.tke.cloud.tencent.com/test-anno\"),\n\t\t\t\t\tValue: pulumi.String(\"test\"),\n\t\t\t\t},\n\t\t\t\t\u0026kubernetes.NativeNodePoolAnnotationArgs{\n\t\t\t\t\tName: pulumi.String(\"node.tke.cloud.tencent.com/test-label\"),\n\t\t\t\t\tValue: pulumi.String(\"test\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tClusterId: pulumi.String(\"cls-eyier120\"),\n\t\t\tDeletionProtection: pulumi.Bool(false),\n\t\t\tLabels: kubernetes.NativeNodePoolLabelArray{\n\t\t\t\t\u0026kubernetes.NativeNodePoolLabelArgs{\n\t\t\t\t\tName: pulumi.String(\"test11\"),\n\t\t\t\t\tValue: pulumi.String(\"test21\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNative: \u0026kubernetes.NativeNodePoolNativeArgs{\n\t\t\t\tAutoRepair: pulumi.Bool(false),\n\t\t\t\tDataDisks: kubernetes.NativeNodePoolNativeDataDiskArray{\n\t\t\t\t\t\u0026kubernetes.NativeNodePoolNativeDataDiskArgs{\n\t\t\t\t\t\tAutoFormatAndMount: pulumi.Bool(true),\n\t\t\t\t\t\tDiskSize: pulumi.Int(60),\n\t\t\t\t\t\tDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\t\t\t\tFileSystem: pulumi.String(\"ext4\"),\n\t\t\t\t\t\tMountTarget: pulumi.String(\"/var/lib/containerd\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tEnableAutoscaling: pulumi.Bool(true),\n\t\t\t\tHostNamePattern: pulumi.String(\"aaa{R:3}\"),\n\t\t\t\tInstanceChargePrepaid: \u0026kubernetes.NativeNodePoolNativeInstanceChargePrepaidArgs{\n\t\t\t\t\tPeriod: pulumi.Int(1),\n\t\t\t\t\tRenewFlag: pulumi.String(\"NOTIFY_AND_MANUAL_RENEW\"),\n\t\t\t\t},\n\t\t\t\tInstanceChargeType: pulumi.String(\"PREPAID\"),\n\t\t\t\tInstanceTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"SA2.MEDIUM2\"),\n\t\t\t\t},\n\t\t\t\tInternetAccessible: \u0026kubernetes.NativeNodePoolNativeInternetAccessibleArgs{\n\t\t\t\t\tChargeType: pulumi.String(\"TRAFFIC_POSTPAID_BY_HOUR\"),\n\t\t\t\t\tMaxBandwidthOut: pulumi.Int(50),\n\t\t\t\t},\n\t\t\t\tKeyIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"skey-9pcs2100\"),\n\t\t\t\t},\n\t\t\t\tKubeletArgs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"allowed-unsafe-sysctls=net.core.somaxconn\"),\n\t\t\t\t\tpulumi.String(\"root-dir=/var/lib/test\"),\n\t\t\t\t},\n\t\t\t\tLifecycle: \u0026kubernetes.NativeNodePoolNativeLifecycleArgs{\n\t\t\t\t\tPostInit: pulumi.String(\"ZWNobyBoZWxsb3dvcmxk\"),\n\t\t\t\t\tPreInit: pulumi.String(\"ZWNobyBoZWxsb3dvcmxk\"),\n\t\t\t\t},\n\t\t\t\tManagement: \u0026kubernetes.NativeNodePoolNativeManagementArgs{\n\t\t\t\t\tHosts: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"192.168.2.42 static.fake.com\"),\n\t\t\t\t\t\tpulumi.String(\"192.168.2.42 static.fake.com2\"),\n\t\t\t\t\t},\n\t\t\t\t\tKernelArgs: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"kernel.pid_max=65535\"),\n\t\t\t\t\t\tpulumi.String(\"fs.file-max=400000\"),\n\t\t\t\t\t},\n\t\t\t\t\tNameservers: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"183.60.83.19\"),\n\t\t\t\t\t\tpulumi.String(\"183.60.82.98\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tReplicas: pulumi.Int(2),\n\t\t\t\tRuntimeRootDir: pulumi.String(\"/var/lib/docker\"),\n\t\t\t\tScaling: \u0026kubernetes.NativeNodePoolNativeScalingArgs{\n\t\t\t\t\tCreatePolicy: pulumi.String(\"ZoneEquality\"),\n\t\t\t\t\tMaxReplicas: pulumi.Int(10),\n\t\t\t\t\tMinReplicas: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"sg-7tum9120\"),\n\t\t\t\t},\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"subnet-itb6d123\"),\n\t\t\t\t},\n\t\t\t\tSystemDisk: \u0026kubernetes.NativeNodePoolNativeSystemDiskArgs{\n\t\t\t\t\tDiskSize: pulumi.Int(50),\n\t\t\t\t\tDiskType: pulumi.String(\"CLOUD_SSD\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: kubernetes.NativeNodePoolTagArray{\n\t\t\t\t\u0026kubernetes.NativeNodePoolTagArgs{\n\t\t\t\t\tResourceType: pulumi.String(\"machine\"),\n\t\t\t\t\tTags: kubernetes.NativeNodePoolTagTagArray{\n\t\t\t\t\t\t\u0026kubernetes.NativeNodePoolTagTagArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"keep-test-np1\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"test1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026kubernetes.NativeNodePoolTagTagArgs{\n\t\t\t\t\t\t\tKey: pulumi.String(\"keep-test-np3\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"test3\"),\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\tTaints: kubernetes.NativeNodePoolTaintArray{\n\t\t\t\t\u0026kubernetes.NativeNodePoolTaintArgs{\n\t\t\t\t\tEffect: pulumi.String(\"NoExecute\"),\n\t\t\t\t\tKey: pulumi.String(\"product\"),\n\t\t\t\t\tValue: pulumi.String(\"coderider\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tType: pulumi.String(\"Native\"),\n\t\t\tUnschedulable: 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.tencentcloud.Kubernetes.NativeNodePool;\nimport com.pulumi.tencentcloud.Kubernetes.NativeNodePoolArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.NativeNodePoolAnnotationArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.NativeNodePoolLabelArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.NativeNodePoolNativeArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.NativeNodePoolNativeInstanceChargePrepaidArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.NativeNodePoolNativeInternetAccessibleArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.NativeNodePoolNativeLifecycleArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.NativeNodePoolNativeManagementArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.NativeNodePoolNativeScalingArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.NativeNodePoolNativeSystemDiskArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.NativeNodePoolTagArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.NativeNodePoolTaintArgs;\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 kubernetesNativeNodePool = new NativeNodePool(\"kubernetesNativeNodePool\", NativeNodePoolArgs.builder() \n .annotations( \n NativeNodePoolAnnotationArgs.builder()\n .name(\"node.tke.cloud.tencent.com/test-anno\")\n .value(\"test\")\n .build(),\n NativeNodePoolAnnotationArgs.builder()\n .name(\"node.tke.cloud.tencent.com/test-label\")\n .value(\"test\")\n .build())\n .clusterId(\"cls-eyier120\")\n .deletionProtection(false)\n .labels(NativeNodePoolLabelArgs.builder()\n .name(\"test11\")\n .value(\"test21\")\n .build())\n .native_(NativeNodePoolNativeArgs.builder()\n .autoRepair(false)\n .dataDisks(NativeNodePoolNativeDataDiskArgs.builder()\n .autoFormatAndMount(true)\n .diskSize(60)\n .diskType(\"CLOUD_PREMIUM\")\n .fileSystem(\"ext4\")\n .mountTarget(\"/var/lib/containerd\")\n .build())\n .enableAutoscaling(true)\n .hostNamePattern(\"aaa{R:3}\")\n .instanceChargePrepaid(NativeNodePoolNativeInstanceChargePrepaidArgs.builder()\n .period(1)\n .renewFlag(\"NOTIFY_AND_MANUAL_RENEW\")\n .build())\n .instanceChargeType(\"PREPAID\")\n .instanceTypes(\"SA2.MEDIUM2\")\n .internetAccessible(NativeNodePoolNativeInternetAccessibleArgs.builder()\n .chargeType(\"TRAFFIC_POSTPAID_BY_HOUR\")\n .maxBandwidthOut(50)\n .build())\n .keyIds(\"skey-9pcs2100\")\n .kubeletArgs( \n \"allowed-unsafe-sysctls=net.core.somaxconn\",\n \"root-dir=/var/lib/test\")\n .lifecycle(NativeNodePoolNativeLifecycleArgs.builder()\n .postInit(\"ZWNobyBoZWxsb3dvcmxk\")\n .preInit(\"ZWNobyBoZWxsb3dvcmxk\")\n .build())\n .management(NativeNodePoolNativeManagementArgs.builder()\n .hosts( \n \"192.168.2.42 static.fake.com\",\n \"192.168.2.42 static.fake.com2\")\n .kernelArgs( \n \"kernel.pid_max=65535\",\n \"fs.file-max=400000\")\n .nameservers( \n \"183.60.83.19\",\n \"183.60.82.98\")\n .build())\n .replicas(2)\n .runtimeRootDir(\"/var/lib/docker\")\n .scaling(NativeNodePoolNativeScalingArgs.builder()\n .createPolicy(\"ZoneEquality\")\n .maxReplicas(10)\n .minReplicas(1)\n .build())\n .securityGroupIds(\"sg-7tum9120\")\n .subnetIds(\"subnet-itb6d123\")\n .systemDisk(NativeNodePoolNativeSystemDiskArgs.builder()\n .diskSize(50)\n .diskType(\"CLOUD_SSD\")\n .build())\n .build())\n .tags(NativeNodePoolTagArgs.builder()\n .resourceType(\"machine\")\n .tags( \n NativeNodePoolTagTagArgs.builder()\n .key(\"keep-test-np1\")\n .value(\"test1\")\n .build(),\n NativeNodePoolTagTagArgs.builder()\n .key(\"keep-test-np3\")\n .value(\"test3\")\n .build())\n .build())\n .taints(NativeNodePoolTaintArgs.builder()\n .effect(\"NoExecute\")\n .key(\"product\")\n .value(\"coderider\")\n .build())\n .type(\"Native\")\n .unschedulable(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n kubernetesNativeNodePool:\n type: tencentcloud:Kubernetes:NativeNodePool\n properties:\n annotations:\n - name: node.tke.cloud.tencent.com/test-anno\n value: test\n - name: node.tke.cloud.tencent.com/test-label\n value: test\n clusterId: cls-eyier120\n deletionProtection: false\n labels:\n - name: test11\n value: test21\n native:\n autoRepair: false\n dataDisks:\n - autoFormatAndMount: true\n diskSize: 60\n diskType: CLOUD_PREMIUM\n fileSystem: ext4\n mountTarget: /var/lib/containerd\n enableAutoscaling: true\n hostNamePattern: aaa{R:3}\n instanceChargePrepaid:\n period: 1\n renewFlag: NOTIFY_AND_MANUAL_RENEW\n instanceChargeType: PREPAID\n instanceTypes:\n - SA2.MEDIUM2\n internetAccessible:\n chargeType: TRAFFIC_POSTPAID_BY_HOUR\n maxBandwidthOut: 50\n keyIds:\n - skey-9pcs2100\n kubeletArgs:\n - allowed-unsafe-sysctls=net.core.somaxconn\n - root-dir=/var/lib/test\n lifecycle:\n postInit: ZWNobyBoZWxsb3dvcmxk\n preInit: ZWNobyBoZWxsb3dvcmxk\n management:\n hosts:\n - 192.168.2.42 static.fake.com\n - 192.168.2.42 static.fake.com2\n kernelArgs:\n - kernel.pid_max=65535\n - fs.file-max=400000\n nameservers:\n - 183.60.83.19\n - 183.60.82.98\n replicas: 2\n runtimeRootDir: /var/lib/docker\n scaling:\n createPolicy: ZoneEquality\n maxReplicas: 10\n minReplicas: 1\n securityGroupIds:\n - sg-7tum9120\n subnetIds:\n - subnet-itb6d123\n systemDisk:\n diskSize: 50\n diskType: CLOUD_SSD\n tags:\n - resourceType: machine\n tags:\n - key: keep-test-np1\n value: test1\n - key: keep-test-np3\n value: test3\n taints:\n - effect: NoExecute\n key: product\n value: coderider\n type: Native\n unschedulable: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\ntke kubernetes_native_node_pool can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Kubernetes/nativeNodePool:NativeNodePool kubernetes_native_node_pool cls-xxx#np-xxx\n```\n\n", + "properties": { + "annotations": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/NativeNodePoolAnnotation:NativeNodePoolAnnotation" + }, + "description": "Node Annotation List.\n" + }, + "clusterId": { + "type": "string", + "description": "ID of the cluster.\n" + }, + "createdAt": { + "type": "string", + "description": "Creation time.\n" + }, + "deletionProtection": { + "type": "boolean", + "description": "Whether to enable deletion protection.\n" + }, + "labels": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/NativeNodePoolLabel:NativeNodePoolLabel" + }, + "description": "Node Labels.\n" + }, + "lifeState": { + "type": "string", + "description": "Node pool status.\n" + }, + "name": { + "type": "string", + "description": "Node pool name.\n" + }, + "native": { + "$ref": "#/types/tencentcloud:Kubernetes/NativeNodePoolNative:NativeNodePoolNative", + "description": "Native node pool creation parameters.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/NativeNodePoolTag:NativeNodePoolTag" + }, + "description": "Node tags.\n" + }, + "taints": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/NativeNodePoolTaint:NativeNodePoolTaint" + }, + "description": "Node taint.\n" + }, + "type": { + "type": "string", + "description": "Node pool type. Optional value is `Native`.\n" + }, + "unschedulable": { + "type": "boolean", + "description": "Whether the node is not schedulable by default. The native node is not aware of it and passes false by default.\n" + } + }, + "required": [ + "annotations", + "clusterId", + "createdAt", + "deletionProtection", + "lifeState", + "name", + "native", + "type", + "unschedulable" + ], + "inputProperties": { + "annotations": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/NativeNodePoolAnnotation:NativeNodePoolAnnotation" + }, + "description": "Node Annotation List.\n" + }, + "clusterId": { + "type": "string", + "description": "ID of the cluster.\n", + "willReplaceOnChanges": true + }, + "deletionProtection": { + "type": "boolean", + "description": "Whether to enable deletion protection.\n" + }, + "labels": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/NativeNodePoolLabel:NativeNodePoolLabel" + }, + "description": "Node Labels.\n" + }, + "name": { + "type": "string", + "description": "Node pool name.\n" + }, + "native": { + "$ref": "#/types/tencentcloud:Kubernetes/NativeNodePoolNative:NativeNodePoolNative", + "description": "Native node pool creation parameters.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/NativeNodePoolTag:NativeNodePoolTag" + }, + "description": "Node tags.\n" + }, + "taints": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/NativeNodePoolTaint:NativeNodePoolTaint" + }, + "description": "Node taint.\n" + }, + "type": { + "type": "string", + "description": "Node pool type. Optional value is `Native`.\n" + }, + "unschedulable": { + "type": "boolean", + "description": "Whether the node is not schedulable by default. The native node is not aware of it and passes false by default.\n" + } + }, + "requiredInputs": [ + "clusterId", + "native", + "type" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering NativeNodePool resources.\n", + "properties": { + "annotations": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/NativeNodePoolAnnotation:NativeNodePoolAnnotation" + }, + "description": "Node Annotation List.\n" + }, + "clusterId": { + "type": "string", + "description": "ID of the cluster.\n", + "willReplaceOnChanges": true + }, + "createdAt": { + "type": "string", + "description": "Creation time.\n" + }, + "deletionProtection": { + "type": "boolean", + "description": "Whether to enable deletion protection.\n" + }, + "labels": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/NativeNodePoolLabel:NativeNodePoolLabel" + }, + "description": "Node Labels.\n" + }, + "lifeState": { + "type": "string", + "description": "Node pool status.\n" + }, + "name": { + "type": "string", + "description": "Node pool name.\n" + }, + "native": { + "$ref": "#/types/tencentcloud:Kubernetes/NativeNodePoolNative:NativeNodePoolNative", + "description": "Native node pool creation parameters.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/NativeNodePoolTag:NativeNodePoolTag" + }, + "description": "Node tags.\n" + }, + "taints": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/NativeNodePoolTaint:NativeNodePoolTaint" + }, + "description": "Node taint.\n" + }, + "type": { + "type": "string", + "description": "Node pool type. Optional value is `Native`.\n" + }, + "unschedulable": { + "type": "boolean", + "description": "Whether the node is not schedulable by default. The native node is not aware of it and passes false by default.\n" + } + }, + "type": "object" + } + }, "tencentcloud:Kubernetes/nodePool:NodePool": { "description": "Provide a resource to create an auto scaling group for kubernetes cluster.\n\n\u003e **NOTE:** We recommend the usage of one cluster with essential worker config + node pool to manage cluster and nodes. Its a more flexible way than manage worker config with tencentcloud_kubernetes_cluster, tencentcloud.Kubernetes.ScaleWorker or exist node management of `tencentcloud_kubernetes_attachment`. Cause some unchangeable parameters of `worker_config` may cause the whole cluster resource `force new`.\n\n\u003e **NOTE:** In order to ensure the integrity of customer data, if you destroy nodepool instance, it will keep the cvm instance associate with nodepool by default. If you want to destroy together, please set `delete_keep_instance` to `false`.\n\n\u003e **NOTE:** In order to ensure the integrity of customer data, if the cvm instance was destroyed due to shrinking, it will keep the cbs associate with cvm by default. If you want to destroy together, please set `delete_with_instance` to `true`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst config = new pulumi.Config();\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-3\";\nconst clusterCidr = config.get(\"clusterCidr\") || \"172.31.0.0/16\";\nconst vpc = tencentcloud.Vpc.getSubnets({\n isDefault: true,\n availabilityZone: availabilityZone,\n});\nconst defaultInstanceType = config.get(\"defaultInstanceType\") || \"S1.SMALL1\";\n//this is the cluster with empty worker config\nconst managedCluster = new tencentcloud.kubernetes.Cluster(\"managedCluster\", {\n vpcId: vpc.then(vpc =\u003e vpc.instanceLists?.[0]?.vpcId),\n clusterCidr: clusterCidr,\n clusterMaxPodNum: 32,\n clusterName: \"tf-tke-unit-test\",\n clusterDesc: \"test cluster desc\",\n clusterMaxServiceNum: 32,\n clusterVersion: \"1.18.4\",\n clusterDeployType: \"MANAGED_CLUSTER\",\n});\n//this is one example of managing node using node pool\nconst mynodepool = new tencentcloud.kubernetes.NodePool(\"mynodepool\", {\n clusterId: managedCluster.id,\n maxSize: 6,\n minSize: 1,\n vpcId: vpc.then(vpc =\u003e vpc.instanceLists?.[0]?.vpcId),\n subnetIds: [vpc.then(vpc =\u003e vpc.instanceLists?.[0]?.subnetId)],\n retryPolicy: \"INCREMENTAL_INTERVALS\",\n desiredCapacity: 4,\n enableAutoScale: true,\n multiZoneSubnetPolicy: \"EQUALITY\",\n autoScalingConfig: {\n instanceType: defaultInstanceType,\n systemDiskType: \"CLOUD_PREMIUM\",\n systemDiskSize: 50,\n orderlySecurityGroupIds: [\"sg-24vswocp\"],\n dataDisks: [{\n diskType: \"CLOUD_PREMIUM\",\n diskSize: 50,\n }],\n internetChargeType: \"TRAFFIC_POSTPAID_BY_HOUR\",\n internetMaxBandwidthOut: 10,\n publicIpAssigned: true,\n password: \"test123#\",\n enhancedSecurityService: false,\n enhancedMonitorService: false,\n hostName: \"12.123.0.0\",\n hostNameStyle: \"ORIGINAL\",\n },\n labels: {\n test1: \"test1\",\n test2: \"test2\",\n },\n taints: [\n {\n key: \"test_taint\",\n value: \"taint_value\",\n effect: \"PreferNoSchedule\",\n },\n {\n key: \"test_taint2\",\n value: \"taint_value2\",\n effect: \"PreferNoSchedule\",\n },\n ],\n nodeConfig: {\n extraArgs: [\"root-dir=/var/lib/kubelet\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\navailability_zone = config.get(\"availabilityZone\")\nif availability_zone is None:\n availability_zone = \"ap-guangzhou-3\"\ncluster_cidr = config.get(\"clusterCidr\")\nif cluster_cidr is None:\n cluster_cidr = \"172.31.0.0/16\"\nvpc = tencentcloud.Vpc.get_subnets(is_default=True,\n availability_zone=availability_zone)\ndefault_instance_type = config.get(\"defaultInstanceType\")\nif default_instance_type is None:\n default_instance_type = \"S1.SMALL1\"\n#this is the cluster with empty worker config\nmanaged_cluster = tencentcloud.kubernetes.Cluster(\"managedCluster\",\n vpc_id=vpc.instance_lists[0].vpc_id,\n cluster_cidr=cluster_cidr,\n cluster_max_pod_num=32,\n cluster_name=\"tf-tke-unit-test\",\n cluster_desc=\"test cluster desc\",\n cluster_max_service_num=32,\n cluster_version=\"1.18.4\",\n cluster_deploy_type=\"MANAGED_CLUSTER\")\n#this is one example of managing node using node pool\nmynodepool = tencentcloud.kubernetes.NodePool(\"mynodepool\",\n cluster_id=managed_cluster.id,\n max_size=6,\n min_size=1,\n vpc_id=vpc.instance_lists[0].vpc_id,\n subnet_ids=[vpc.instance_lists[0].subnet_id],\n retry_policy=\"INCREMENTAL_INTERVALS\",\n desired_capacity=4,\n enable_auto_scale=True,\n multi_zone_subnet_policy=\"EQUALITY\",\n auto_scaling_config=tencentcloud.kubernetes.NodePoolAutoScalingConfigArgs(\n instance_type=default_instance_type,\n system_disk_type=\"CLOUD_PREMIUM\",\n system_disk_size=50,\n orderly_security_group_ids=[\"sg-24vswocp\"],\n data_disks=[tencentcloud.kubernetes.NodePoolAutoScalingConfigDataDiskArgs(\n disk_type=\"CLOUD_PREMIUM\",\n disk_size=50,\n )],\n internet_charge_type=\"TRAFFIC_POSTPAID_BY_HOUR\",\n internet_max_bandwidth_out=10,\n public_ip_assigned=True,\n password=\"test123#\",\n enhanced_security_service=False,\n enhanced_monitor_service=False,\n host_name=\"12.123.0.0\",\n host_name_style=\"ORIGINAL\",\n ),\n labels={\n \"test1\": \"test1\",\n \"test2\": \"test2\",\n },\n taints=[\n tencentcloud.kubernetes.NodePoolTaintArgs(\n key=\"test_taint\",\n value=\"taint_value\",\n effect=\"PreferNoSchedule\",\n ),\n tencentcloud.kubernetes.NodePoolTaintArgs(\n key=\"test_taint2\",\n value=\"taint_value2\",\n effect=\"PreferNoSchedule\",\n ),\n ],\n node_config=tencentcloud.kubernetes.NodePoolNodeConfigArgs(\n extra_args=[\"root-dir=/var/lib/kubelet\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = Pulumi.Tencentcloud;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-3\";\n var clusterCidr = config.Get(\"clusterCidr\") ?? \"172.31.0.0/16\";\n var vpc = Tencentcloud.Vpc.GetSubnets.Invoke(new()\n {\n IsDefault = true,\n AvailabilityZone = availabilityZone,\n });\n\n var defaultInstanceType = config.Get(\"defaultInstanceType\") ?? \"S1.SMALL1\";\n //this is the cluster with empty worker config\n var managedCluster = new Tencentcloud.Kubernetes.Cluster(\"managedCluster\", new()\n {\n VpcId = vpc.Apply(getSubnetsResult =\u003e getSubnetsResult.InstanceLists[0]?.VpcId),\n ClusterCidr = clusterCidr,\n ClusterMaxPodNum = 32,\n ClusterName = \"tf-tke-unit-test\",\n ClusterDesc = \"test cluster desc\",\n ClusterMaxServiceNum = 32,\n ClusterVersion = \"1.18.4\",\n ClusterDeployType = \"MANAGED_CLUSTER\",\n });\n\n //this is one example of managing node using node pool\n var mynodepool = new Tencentcloud.Kubernetes.NodePool(\"mynodepool\", new()\n {\n ClusterId = managedCluster.Id,\n MaxSize = 6,\n MinSize = 1,\n VpcId = vpc.Apply(getSubnetsResult =\u003e getSubnetsResult.InstanceLists[0]?.VpcId),\n SubnetIds = new[]\n {\n vpc.Apply(getSubnetsResult =\u003e getSubnetsResult.InstanceLists[0]?.SubnetId),\n },\n RetryPolicy = \"INCREMENTAL_INTERVALS\",\n DesiredCapacity = 4,\n EnableAutoScale = true,\n MultiZoneSubnetPolicy = \"EQUALITY\",\n AutoScalingConfig = new Tencentcloud.Kubernetes.Inputs.NodePoolAutoScalingConfigArgs\n {\n InstanceType = defaultInstanceType,\n SystemDiskType = \"CLOUD_PREMIUM\",\n SystemDiskSize = 50,\n OrderlySecurityGroupIds = new[]\n {\n \"sg-24vswocp\",\n },\n DataDisks = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.NodePoolAutoScalingConfigDataDiskArgs\n {\n DiskType = \"CLOUD_PREMIUM\",\n DiskSize = 50,\n },\n },\n InternetChargeType = \"TRAFFIC_POSTPAID_BY_HOUR\",\n InternetMaxBandwidthOut = 10,\n PublicIpAssigned = true,\n Password = \"test123#\",\n EnhancedSecurityService = false,\n EnhancedMonitorService = false,\n HostName = \"12.123.0.0\",\n HostNameStyle = \"ORIGINAL\",\n },\n Labels = \n {\n { \"test1\", \"test1\" },\n { \"test2\", \"test2\" },\n },\n Taints = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.NodePoolTaintArgs\n {\n Key = \"test_taint\",\n Value = \"taint_value\",\n Effect = \"PreferNoSchedule\",\n },\n new Tencentcloud.Kubernetes.Inputs.NodePoolTaintArgs\n {\n Key = \"test_taint2\",\n Value = \"taint_value2\",\n Effect = \"PreferNoSchedule\",\n },\n },\n NodeConfig = new Tencentcloud.Kubernetes.Inputs.NodePoolNodeConfigArgs\n {\n ExtraArgs = new[]\n {\n \"root-dir=/var/lib/kubelet\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Kubernetes\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tavailabilityZone := \"ap-guangzhou-3\"\n\t\tif param := cfg.Get(\"availabilityZone\"); param != \"\" {\n\t\t\tavailabilityZone = param\n\t\t}\n\t\tclusterCidr := \"172.31.0.0/16\"\n\t\tif param := cfg.Get(\"clusterCidr\"); param != \"\" {\n\t\t\tclusterCidr = param\n\t\t}\n\t\tvpc, err := Vpc.GetSubnets(ctx, \u0026vpc.GetSubnetsArgs{\n\t\t\tIsDefault: pulumi.BoolRef(true),\n\t\t\tAvailabilityZone: pulumi.StringRef(availabilityZone),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultInstanceType := \"S1.SMALL1\"\n\t\tif param := cfg.Get(\"defaultInstanceType\"); param != \"\" {\n\t\t\tdefaultInstanceType = param\n\t\t}\n\t\t// this is the cluster with empty worker config\n\t\tmanagedCluster, err := Kubernetes.NewCluster(ctx, \"managedCluster\", \u0026Kubernetes.ClusterArgs{\n\t\t\tVpcId: pulumi.String(vpc.InstanceLists[0].VpcId),\n\t\t\tClusterCidr: pulumi.String(clusterCidr),\n\t\t\tClusterMaxPodNum: pulumi.Int(32),\n\t\t\tClusterName: pulumi.String(\"tf-tke-unit-test\"),\n\t\t\tClusterDesc: pulumi.String(\"test cluster desc\"),\n\t\t\tClusterMaxServiceNum: pulumi.Int(32),\n\t\t\tClusterVersion: pulumi.String(\"1.18.4\"),\n\t\t\tClusterDeployType: pulumi.String(\"MANAGED_CLUSTER\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// this is one example of managing node using node pool\n\t\t_, err = Kubernetes.NewNodePool(ctx, \"mynodepool\", \u0026Kubernetes.NodePoolArgs{\n\t\t\tClusterId: managedCluster.ID(),\n\t\t\tMaxSize: pulumi.Int(6),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tVpcId: pulumi.String(vpc.InstanceLists[0].VpcId),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(vpc.InstanceLists[0].SubnetId),\n\t\t\t},\n\t\t\tRetryPolicy: pulumi.String(\"INCREMENTAL_INTERVALS\"),\n\t\t\tDesiredCapacity: pulumi.Int(4),\n\t\t\tEnableAutoScale: pulumi.Bool(true),\n\t\t\tMultiZoneSubnetPolicy: pulumi.String(\"EQUALITY\"),\n\t\t\tAutoScalingConfig: \u0026kubernetes.NodePoolAutoScalingConfigArgs{\n\t\t\t\tInstanceType: pulumi.String(defaultInstanceType),\n\t\t\t\tSystemDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\t\tSystemDiskSize: pulumi.Int(50),\n\t\t\t\tOrderlySecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"sg-24vswocp\"),\n\t\t\t\t},\n\t\t\t\tDataDisks: kubernetes.NodePoolAutoScalingConfigDataDiskArray{\n\t\t\t\t\t\u0026kubernetes.NodePoolAutoScalingConfigDataDiskArgs{\n\t\t\t\t\t\tDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\t\t\t\tDiskSize: pulumi.Int(50),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tInternetChargeType: pulumi.String(\"TRAFFIC_POSTPAID_BY_HOUR\"),\n\t\t\t\tInternetMaxBandwidthOut: pulumi.Int(10),\n\t\t\t\tPublicIpAssigned: pulumi.Bool(true),\n\t\t\t\tPassword: pulumi.String(\"test123#\"),\n\t\t\t\tEnhancedSecurityService: pulumi.Bool(false),\n\t\t\t\tEnhancedMonitorService: pulumi.Bool(false),\n\t\t\t\tHostName: pulumi.String(\"12.123.0.0\"),\n\t\t\t\tHostNameStyle: pulumi.String(\"ORIGINAL\"),\n\t\t\t},\n\t\t\tLabels: pulumi.Map{\n\t\t\t\t\"test1\": pulumi.Any(\"test1\"),\n\t\t\t\t\"test2\": pulumi.Any(\"test2\"),\n\t\t\t},\n\t\t\tTaints: kubernetes.NodePoolTaintArray{\n\t\t\t\t\u0026kubernetes.NodePoolTaintArgs{\n\t\t\t\t\tKey: pulumi.String(\"test_taint\"),\n\t\t\t\t\tValue: pulumi.String(\"taint_value\"),\n\t\t\t\t\tEffect: pulumi.String(\"PreferNoSchedule\"),\n\t\t\t\t},\n\t\t\t\t\u0026kubernetes.NodePoolTaintArgs{\n\t\t\t\t\tKey: pulumi.String(\"test_taint2\"),\n\t\t\t\t\tValue: pulumi.String(\"taint_value2\"),\n\t\t\t\t\tEffect: pulumi.String(\"PreferNoSchedule\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNodeConfig: \u0026kubernetes.NodePoolNodeConfigArgs{\n\t\t\t\tExtraArgs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"root-dir=/var/lib/kubelet\"),\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.tencentcloud.Vpc.VpcFunctions;\nimport com.pulumi.tencentcloud.Vpc.inputs.GetSubnetsArgs;\nimport com.pulumi.tencentcloud.Kubernetes.Cluster;\nimport com.pulumi.tencentcloud.Kubernetes.ClusterArgs;\nimport com.pulumi.tencentcloud.Kubernetes.NodePool;\nimport com.pulumi.tencentcloud.Kubernetes.NodePoolArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.NodePoolAutoScalingConfigArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.NodePoolTaintArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.NodePoolNodeConfigArgs;\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(\"ap-guangzhou-3\");\n final var clusterCidr = config.get(\"clusterCidr\").orElse(\"172.31.0.0/16\");\n final var vpc = VpcFunctions.getSubnets(GetSubnetsArgs.builder()\n .isDefault(true)\n .availabilityZone(availabilityZone)\n .build());\n\n final var defaultInstanceType = config.get(\"defaultInstanceType\").orElse(\"S1.SMALL1\");\n //this is the cluster with empty worker config\n var managedCluster = new Cluster(\"managedCluster\", ClusterArgs.builder() \n .vpcId(vpc.applyValue(getSubnetsResult -\u003e getSubnetsResult.instanceLists()[0].vpcId()))\n .clusterCidr(clusterCidr)\n .clusterMaxPodNum(32)\n .clusterName(\"tf-tke-unit-test\")\n .clusterDesc(\"test cluster desc\")\n .clusterMaxServiceNum(32)\n .clusterVersion(\"1.18.4\")\n .clusterDeployType(\"MANAGED_CLUSTER\")\n .build());\n\n //this is one example of managing node using node pool\n var mynodepool = new NodePool(\"mynodepool\", NodePoolArgs.builder() \n .clusterId(managedCluster.id())\n .maxSize(6)\n .minSize(1)\n .vpcId(vpc.applyValue(getSubnetsResult -\u003e getSubnetsResult.instanceLists()[0].vpcId()))\n .subnetIds(vpc.applyValue(getSubnetsResult -\u003e getSubnetsResult.instanceLists()[0].subnetId()))\n .retryPolicy(\"INCREMENTAL_INTERVALS\")\n .desiredCapacity(4)\n .enableAutoScale(true)\n .multiZoneSubnetPolicy(\"EQUALITY\")\n .autoScalingConfig(NodePoolAutoScalingConfigArgs.builder()\n .instanceType(defaultInstanceType)\n .systemDiskType(\"CLOUD_PREMIUM\")\n .systemDiskSize(\"50\")\n .orderlySecurityGroupIds(\"sg-24vswocp\")\n .dataDisks(NodePoolAutoScalingConfigDataDiskArgs.builder()\n .diskType(\"CLOUD_PREMIUM\")\n .diskSize(50)\n .build())\n .internetChargeType(\"TRAFFIC_POSTPAID_BY_HOUR\")\n .internetMaxBandwidthOut(10)\n .publicIpAssigned(true)\n .password(\"test123#\")\n .enhancedSecurityService(false)\n .enhancedMonitorService(false)\n .hostName(\"12.123.0.0\")\n .hostNameStyle(\"ORIGINAL\")\n .build())\n .labels(Map.ofEntries(\n Map.entry(\"test1\", \"test1\"),\n Map.entry(\"test2\", \"test2\")\n ))\n .taints( \n NodePoolTaintArgs.builder()\n .key(\"test_taint\")\n .value(\"taint_value\")\n .effect(\"PreferNoSchedule\")\n .build(),\n NodePoolTaintArgs.builder()\n .key(\"test_taint2\")\n .value(\"taint_value2\")\n .effect(\"PreferNoSchedule\")\n .build())\n .nodeConfig(NodePoolNodeConfigArgs.builder()\n .extraArgs(\"root-dir=/var/lib/kubelet\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-3\n clusterCidr:\n type: string\n default: 172.31.0.0/16\n defaultInstanceType:\n type: string\n default: S1.SMALL1\nresources:\n # this is the cluster with empty worker config\n managedCluster:\n type: tencentcloud:Kubernetes:Cluster\n properties:\n vpcId: ${vpc.instanceLists[0].vpcId}\n clusterCidr: ${clusterCidr}\n clusterMaxPodNum: 32\n clusterName: tf-tke-unit-test\n clusterDesc: test cluster desc\n clusterMaxServiceNum: 32\n clusterVersion: 1.18.4\n clusterDeployType: MANAGED_CLUSTER\n # this is one example of managing node using node pool\n mynodepool:\n type: tencentcloud:Kubernetes:NodePool\n properties:\n clusterId: ${managedCluster.id}\n maxSize: 6\n minSize: 1\n vpcId: ${vpc.instanceLists[0].vpcId}\n subnetIds:\n - ${vpc.instanceLists[0].subnetId}\n retryPolicy: INCREMENTAL_INTERVALS\n desiredCapacity: 4\n enableAutoScale: true\n multiZoneSubnetPolicy: EQUALITY\n autoScalingConfig:\n instanceType: ${defaultInstanceType}\n systemDiskType: CLOUD_PREMIUM\n systemDiskSize: '50'\n orderlySecurityGroupIds:\n - sg-24vswocp\n dataDisks:\n - diskType: CLOUD_PREMIUM\n diskSize: 50\n internetChargeType: TRAFFIC_POSTPAID_BY_HOUR\n internetMaxBandwidthOut: 10\n publicIpAssigned: true\n password: test123#\n enhancedSecurityService: false\n enhancedMonitorService: false\n hostName: 12.123.0.0\n hostNameStyle: ORIGINAL\n labels:\n test1: test1\n test2: test2\n taints:\n - key: test_taint\n value: taint_value\n effect: PreferNoSchedule\n - key: test_taint2\n value: taint_value2\n effect: PreferNoSchedule\n nodeConfig:\n extraArgs:\n - root-dir=/var/lib/kubelet\nvariables:\n vpc:\n fn::invoke:\n Function: tencentcloud:Vpc:getSubnets\n Arguments:\n isDefault: true\n availabilityZone: ${availabilityZone}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using Spot CVM Instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst mynodepool = new tencentcloud.kubernetes.NodePool(\"mynodepool\", {\n clusterId: tencentcloud_kubernetes_cluster.managed_cluster.id,\n maxSize: 6,\n minSize: 1,\n vpcId: data.tencentcloud_vpc_subnets.vpc.instance_list[0].vpc_id,\n subnetIds: [data.tencentcloud_vpc_subnets.vpc.instance_list[0].subnet_id],\n retryPolicy: \"INCREMENTAL_INTERVALS\",\n desiredCapacity: 4,\n enableAutoScale: true,\n multiZoneSubnetPolicy: \"EQUALITY\",\n autoScalingConfig: {\n instanceType: _var.default_instance_type,\n systemDiskType: \"CLOUD_PREMIUM\",\n systemDiskSize: 50,\n orderlySecurityGroupIds: [\n \"sg-24vswocp\",\n \"sg-3qntci2v\",\n \"sg-7y1t2wax\",\n ],\n instanceChargeType: \"SPOTPAID\",\n spotInstanceType: \"one-time\",\n spotMaxPrice: \"1000\",\n dataDisks: [{\n diskType: \"CLOUD_PREMIUM\",\n diskSize: 50,\n }],\n internetChargeType: \"TRAFFIC_POSTPAID_BY_HOUR\",\n internetMaxBandwidthOut: 10,\n publicIpAssigned: true,\n password: \"test123#\",\n enhancedSecurityService: false,\n enhancedMonitorService: false,\n },\n labels: {\n test1: \"test1\",\n test2: \"test2\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nmynodepool = tencentcloud.kubernetes.NodePool(\"mynodepool\",\n cluster_id=tencentcloud_kubernetes_cluster[\"managed_cluster\"][\"id\"],\n max_size=6,\n min_size=1,\n vpc_id=data[\"tencentcloud_vpc_subnets\"][\"vpc\"][\"instance_list\"][0][\"vpc_id\"],\n subnet_ids=[data[\"tencentcloud_vpc_subnets\"][\"vpc\"][\"instance_list\"][0][\"subnet_id\"]],\n retry_policy=\"INCREMENTAL_INTERVALS\",\n desired_capacity=4,\n enable_auto_scale=True,\n multi_zone_subnet_policy=\"EQUALITY\",\n auto_scaling_config=tencentcloud.kubernetes.NodePoolAutoScalingConfigArgs(\n instance_type=var[\"default_instance_type\"],\n system_disk_type=\"CLOUD_PREMIUM\",\n system_disk_size=50,\n orderly_security_group_ids=[\n \"sg-24vswocp\",\n \"sg-3qntci2v\",\n \"sg-7y1t2wax\",\n ],\n instance_charge_type=\"SPOTPAID\",\n spot_instance_type=\"one-time\",\n spot_max_price=\"1000\",\n data_disks=[tencentcloud.kubernetes.NodePoolAutoScalingConfigDataDiskArgs(\n disk_type=\"CLOUD_PREMIUM\",\n disk_size=50,\n )],\n internet_charge_type=\"TRAFFIC_POSTPAID_BY_HOUR\",\n internet_max_bandwidth_out=10,\n public_ip_assigned=True,\n password=\"test123#\",\n enhanced_security_service=False,\n enhanced_monitor_service=False,\n ),\n labels={\n \"test1\": \"test1\",\n \"test2\": \"test2\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mynodepool = new Tencentcloud.Kubernetes.NodePool(\"mynodepool\", new()\n {\n ClusterId = tencentcloud_kubernetes_cluster.Managed_cluster.Id,\n MaxSize = 6,\n MinSize = 1,\n VpcId = data.Tencentcloud_vpc_subnets.Vpc.Instance_list[0].Vpc_id,\n SubnetIds = new[]\n {\n data.Tencentcloud_vpc_subnets.Vpc.Instance_list[0].Subnet_id,\n },\n RetryPolicy = \"INCREMENTAL_INTERVALS\",\n DesiredCapacity = 4,\n EnableAutoScale = true,\n MultiZoneSubnetPolicy = \"EQUALITY\",\n AutoScalingConfig = new Tencentcloud.Kubernetes.Inputs.NodePoolAutoScalingConfigArgs\n {\n InstanceType = @var.Default_instance_type,\n SystemDiskType = \"CLOUD_PREMIUM\",\n SystemDiskSize = 50,\n OrderlySecurityGroupIds = new[]\n {\n \"sg-24vswocp\",\n \"sg-3qntci2v\",\n \"sg-7y1t2wax\",\n },\n InstanceChargeType = \"SPOTPAID\",\n SpotInstanceType = \"one-time\",\n SpotMaxPrice = \"1000\",\n DataDisks = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.NodePoolAutoScalingConfigDataDiskArgs\n {\n DiskType = \"CLOUD_PREMIUM\",\n DiskSize = 50,\n },\n },\n InternetChargeType = \"TRAFFIC_POSTPAID_BY_HOUR\",\n InternetMaxBandwidthOut = 10,\n PublicIpAssigned = true,\n Password = \"test123#\",\n EnhancedSecurityService = false,\n EnhancedMonitorService = false,\n },\n Labels = \n {\n { \"test1\", \"test1\" },\n { \"test2\", \"test2\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Kubernetes\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Kubernetes.NewNodePool(ctx, \"mynodepool\", \u0026Kubernetes.NodePoolArgs{\n\t\t\tClusterId: pulumi.Any(tencentcloud_kubernetes_cluster.Managed_cluster.Id),\n\t\t\tMaxSize: pulumi.Int(6),\n\t\t\tMinSize: pulumi.Int(1),\n\t\t\tVpcId: pulumi.Any(data.Tencentcloud_vpc_subnets.Vpc.Instance_list[0].Vpc_id),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\tdata.Tencentcloud_vpc_subnets.Vpc.Instance_list[0].Subnet_id,\n\t\t\t},\n\t\t\tRetryPolicy: pulumi.String(\"INCREMENTAL_INTERVALS\"),\n\t\t\tDesiredCapacity: pulumi.Int(4),\n\t\t\tEnableAutoScale: pulumi.Bool(true),\n\t\t\tMultiZoneSubnetPolicy: pulumi.String(\"EQUALITY\"),\n\t\t\tAutoScalingConfig: \u0026kubernetes.NodePoolAutoScalingConfigArgs{\n\t\t\t\tInstanceType: pulumi.Any(_var.Default_instance_type),\n\t\t\t\tSystemDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\t\tSystemDiskSize: pulumi.Int(50),\n\t\t\t\tOrderlySecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"sg-24vswocp\"),\n\t\t\t\t\tpulumi.String(\"sg-3qntci2v\"),\n\t\t\t\t\tpulumi.String(\"sg-7y1t2wax\"),\n\t\t\t\t},\n\t\t\t\tInstanceChargeType: pulumi.String(\"SPOTPAID\"),\n\t\t\t\tSpotInstanceType: pulumi.String(\"one-time\"),\n\t\t\t\tSpotMaxPrice: pulumi.String(\"1000\"),\n\t\t\t\tDataDisks: kubernetes.NodePoolAutoScalingConfigDataDiskArray{\n\t\t\t\t\t\u0026kubernetes.NodePoolAutoScalingConfigDataDiskArgs{\n\t\t\t\t\t\tDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\t\t\t\tDiskSize: pulumi.Int(50),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tInternetChargeType: pulumi.String(\"TRAFFIC_POSTPAID_BY_HOUR\"),\n\t\t\t\tInternetMaxBandwidthOut: pulumi.Int(10),\n\t\t\t\tPublicIpAssigned: pulumi.Bool(true),\n\t\t\t\tPassword: pulumi.String(\"test123#\"),\n\t\t\t\tEnhancedSecurityService: pulumi.Bool(false),\n\t\t\t\tEnhancedMonitorService: pulumi.Bool(false),\n\t\t\t},\n\t\t\tLabels: pulumi.Map{\n\t\t\t\t\"test1\": pulumi.Any(\"test1\"),\n\t\t\t\t\"test2\": pulumi.Any(\"test2\"),\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.tencentcloud.Kubernetes.NodePool;\nimport com.pulumi.tencentcloud.Kubernetes.NodePoolArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.NodePoolAutoScalingConfigArgs;\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 mynodepool = new NodePool(\"mynodepool\", NodePoolArgs.builder() \n .clusterId(tencentcloud_kubernetes_cluster.managed_cluster().id())\n .maxSize(6)\n .minSize(1)\n .vpcId(data.tencentcloud_vpc_subnets().vpc().instance_list()[0].vpc_id())\n .subnetIds(data.tencentcloud_vpc_subnets().vpc().instance_list()[0].subnet_id())\n .retryPolicy(\"INCREMENTAL_INTERVALS\")\n .desiredCapacity(4)\n .enableAutoScale(true)\n .multiZoneSubnetPolicy(\"EQUALITY\")\n .autoScalingConfig(NodePoolAutoScalingConfigArgs.builder()\n .instanceType(var_.default_instance_type())\n .systemDiskType(\"CLOUD_PREMIUM\")\n .systemDiskSize(\"50\")\n .orderlySecurityGroupIds( \n \"sg-24vswocp\",\n \"sg-3qntci2v\",\n \"sg-7y1t2wax\")\n .instanceChargeType(\"SPOTPAID\")\n .spotInstanceType(\"one-time\")\n .spotMaxPrice(\"1000\")\n .dataDisks(NodePoolAutoScalingConfigDataDiskArgs.builder()\n .diskType(\"CLOUD_PREMIUM\")\n .diskSize(50)\n .build())\n .internetChargeType(\"TRAFFIC_POSTPAID_BY_HOUR\")\n .internetMaxBandwidthOut(10)\n .publicIpAssigned(true)\n .password(\"test123#\")\n .enhancedSecurityService(false)\n .enhancedMonitorService(false)\n .build())\n .labels(Map.ofEntries(\n Map.entry(\"test1\", \"test1\"),\n Map.entry(\"test2\", \"test2\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mynodepool:\n type: tencentcloud:Kubernetes:NodePool\n properties:\n clusterId: ${tencentcloud_kubernetes_cluster.managed_cluster.id}\n maxSize: 6\n minSize: 1\n vpcId: ${data.tencentcloud_vpc_subnets.vpc.instance_list[0].vpc_id}\n subnetIds:\n - ${data.tencentcloud_vpc_subnets.vpc.instance_list[0].subnet_id}\n retryPolicy: INCREMENTAL_INTERVALS\n desiredCapacity: 4\n enableAutoScale: true\n multiZoneSubnetPolicy: EQUALITY\n autoScalingConfig:\n instanceType: ${var.default_instance_type}\n systemDiskType: CLOUD_PREMIUM\n systemDiskSize: '50'\n orderlySecurityGroupIds:\n - sg-24vswocp\n - sg-3qntci2v\n - sg-7y1t2wax\n instanceChargeType: SPOTPAID\n spotInstanceType: one-time\n spotMaxPrice: '1000'\n dataDisks:\n - diskType: CLOUD_PREMIUM\n diskSize: 50\n internetChargeType: TRAFFIC_POSTPAID_BY_HOUR\n internetMaxBandwidthOut: 10\n publicIpAssigned: true\n password: test123#\n enhancedSecurityService: false\n enhancedMonitorService: false\n labels:\n test1: test1\n test2: test2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\ntke node pool can be imported, e.g.\n\n```sh\n$ pulumi import tencentcloud:Kubernetes/nodePool:NodePool test cls-xxx#np-xxx\n```\n", "properties": { @@ -167992,7 +169457,7 @@ } }, "tencentcloud:Kubernetes/scaleWorker:ScaleWorker": { - "description": "Provide a resource to increase instance to cluster\n\n\u003e **NOTE:** To use the custom Kubernetes component startup parameter function (parameter `extra_args`), you need to submit a ticket for application.\n\n\u003e **NOTE:** Import Node: Currently, only one node can be imported at a time.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst config = new pulumi.Config();\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-3\";\nconst subnet = config.get(\"subnet\") || \"subnet-pqfek0t8\";\nconst scaleInstanceType = config.get(\"scaleInstanceType\") || \"S2.LARGE16\";\nconst testScale = new tencentcloud.kubernetes.ScaleWorker(\"testScale\", {\n clusterId: \"cls-godovr32\",\n desiredPodNum: 16,\n labels: {\n test1: \"test1\",\n test2: \"test2\",\n },\n workerConfig: {\n count: 3,\n availabilityZone: availabilityZone,\n instanceType: scaleInstanceType,\n subnetId: subnet,\n systemDiskType: \"CLOUD_SSD\",\n systemDiskSize: 50,\n internetChargeType: \"TRAFFIC_POSTPAID_BY_HOUR\",\n internetMaxBandwidthOut: 100,\n publicIpAssigned: true,\n dataDisks: [{\n diskType: \"CLOUD_PREMIUM\",\n diskSize: 50,\n }],\n enhancedSecurityService: false,\n enhancedMonitorService: false,\n userData: \"dGVzdA==\",\n password: \"AABBccdd1122\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\navailability_zone = config.get(\"availabilityZone\")\nif availability_zone is None:\n availability_zone = \"ap-guangzhou-3\"\nsubnet = config.get(\"subnet\")\nif subnet is None:\n subnet = \"subnet-pqfek0t8\"\nscale_instance_type = config.get(\"scaleInstanceType\")\nif scale_instance_type is None:\n scale_instance_type = \"S2.LARGE16\"\ntest_scale = tencentcloud.kubernetes.ScaleWorker(\"testScale\",\n cluster_id=\"cls-godovr32\",\n desired_pod_num=16,\n labels={\n \"test1\": \"test1\",\n \"test2\": \"test2\",\n },\n worker_config=tencentcloud.kubernetes.ScaleWorkerWorkerConfigArgs(\n count=3,\n availability_zone=availability_zone,\n instance_type=scale_instance_type,\n subnet_id=subnet,\n system_disk_type=\"CLOUD_SSD\",\n system_disk_size=50,\n internet_charge_type=\"TRAFFIC_POSTPAID_BY_HOUR\",\n internet_max_bandwidth_out=100,\n public_ip_assigned=True,\n data_disks=[tencentcloud.kubernetes.ScaleWorkerWorkerConfigDataDiskArgs(\n disk_type=\"CLOUD_PREMIUM\",\n disk_size=50,\n )],\n enhanced_security_service=False,\n enhanced_monitor_service=False,\n user_data=\"dGVzdA==\",\n password=\"AABBccdd1122\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-3\";\n var subnet = config.Get(\"subnet\") ?? \"subnet-pqfek0t8\";\n var scaleInstanceType = config.Get(\"scaleInstanceType\") ?? \"S2.LARGE16\";\n var testScale = new Tencentcloud.Kubernetes.ScaleWorker(\"testScale\", new()\n {\n ClusterId = \"cls-godovr32\",\n DesiredPodNum = 16,\n Labels = \n {\n { \"test1\", \"test1\" },\n { \"test2\", \"test2\" },\n },\n WorkerConfig = new Tencentcloud.Kubernetes.Inputs.ScaleWorkerWorkerConfigArgs\n {\n Count = 3,\n AvailabilityZone = availabilityZone,\n InstanceType = scaleInstanceType,\n SubnetId = subnet,\n SystemDiskType = \"CLOUD_SSD\",\n SystemDiskSize = 50,\n InternetChargeType = \"TRAFFIC_POSTPAID_BY_HOUR\",\n InternetMaxBandwidthOut = 100,\n PublicIpAssigned = true,\n DataDisks = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.ScaleWorkerWorkerConfigDataDiskArgs\n {\n DiskType = \"CLOUD_PREMIUM\",\n DiskSize = 50,\n },\n },\n EnhancedSecurityService = false,\n EnhancedMonitorService = false,\n UserData = \"dGVzdA==\",\n Password = \"AABBccdd1122\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Kubernetes\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tavailabilityZone := \"ap-guangzhou-3\"\n\t\tif param := cfg.Get(\"availabilityZone\"); param != \"\" {\n\t\t\tavailabilityZone = param\n\t\t}\n\t\tsubnet := \"subnet-pqfek0t8\"\n\t\tif param := cfg.Get(\"subnet\"); param != \"\" {\n\t\t\tsubnet = param\n\t\t}\n\t\tscaleInstanceType := \"S2.LARGE16\"\n\t\tif param := cfg.Get(\"scaleInstanceType\"); param != \"\" {\n\t\t\tscaleInstanceType = param\n\t\t}\n\t\t_, err := Kubernetes.NewScaleWorker(ctx, \"testScale\", \u0026Kubernetes.ScaleWorkerArgs{\n\t\t\tClusterId: pulumi.String(\"cls-godovr32\"),\n\t\t\tDesiredPodNum: pulumi.Int(16),\n\t\t\tLabels: pulumi.Map{\n\t\t\t\t\"test1\": pulumi.Any(\"test1\"),\n\t\t\t\t\"test2\": pulumi.Any(\"test2\"),\n\t\t\t},\n\t\t\tWorkerConfig: \u0026kubernetes.ScaleWorkerWorkerConfigArgs{\n\t\t\t\tCount: pulumi.Int(3),\n\t\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\t\tInstanceType: pulumi.String(scaleInstanceType),\n\t\t\t\tSubnetId: pulumi.String(subnet),\n\t\t\t\tSystemDiskType: pulumi.String(\"CLOUD_SSD\"),\n\t\t\t\tSystemDiskSize: pulumi.Int(50),\n\t\t\t\tInternetChargeType: pulumi.String(\"TRAFFIC_POSTPAID_BY_HOUR\"),\n\t\t\t\tInternetMaxBandwidthOut: pulumi.Int(100),\n\t\t\t\tPublicIpAssigned: pulumi.Bool(true),\n\t\t\t\tDataDisks: kubernetes.ScaleWorkerWorkerConfigDataDiskArray{\n\t\t\t\t\t\u0026kubernetes.ScaleWorkerWorkerConfigDataDiskArgs{\n\t\t\t\t\t\tDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\t\t\t\tDiskSize: pulumi.Int(50),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tEnhancedSecurityService: pulumi.Bool(false),\n\t\t\t\tEnhancedMonitorService: pulumi.Bool(false),\n\t\t\t\tUserData: pulumi.String(\"dGVzdA==\"),\n\t\t\t\tPassword: pulumi.String(\"AABBccdd1122\"),\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.tencentcloud.Kubernetes.ScaleWorker;\nimport com.pulumi.tencentcloud.Kubernetes.ScaleWorkerArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.ScaleWorkerWorkerConfigArgs;\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(\"ap-guangzhou-3\");\n final var subnet = config.get(\"subnet\").orElse(\"subnet-pqfek0t8\");\n final var scaleInstanceType = config.get(\"scaleInstanceType\").orElse(\"S2.LARGE16\");\n var testScale = new ScaleWorker(\"testScale\", ScaleWorkerArgs.builder() \n .clusterId(\"cls-godovr32\")\n .desiredPodNum(16)\n .labels(Map.ofEntries(\n Map.entry(\"test1\", \"test1\"),\n Map.entry(\"test2\", \"test2\")\n ))\n .workerConfig(ScaleWorkerWorkerConfigArgs.builder()\n .count(3)\n .availabilityZone(availabilityZone)\n .instanceType(scaleInstanceType)\n .subnetId(subnet)\n .systemDiskType(\"CLOUD_SSD\")\n .systemDiskSize(50)\n .internetChargeType(\"TRAFFIC_POSTPAID_BY_HOUR\")\n .internetMaxBandwidthOut(100)\n .publicIpAssigned(true)\n .dataDisks(ScaleWorkerWorkerConfigDataDiskArgs.builder()\n .diskType(\"CLOUD_PREMIUM\")\n .diskSize(50)\n .build())\n .enhancedSecurityService(false)\n .enhancedMonitorService(false)\n .userData(\"dGVzdA==\")\n .password(\"AABBccdd1122\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-3\n subnet:\n type: string\n default: subnet-pqfek0t8\n scaleInstanceType:\n type: string\n default: S2.LARGE16\nresources:\n testScale:\n type: tencentcloud:Kubernetes:ScaleWorker\n properties:\n clusterId: cls-godovr32\n desiredPodNum: 16\n labels:\n test1: test1\n test2: test2\n workerConfig:\n count: 3\n availabilityZone: ${availabilityZone}\n instanceType: ${scaleInstanceType}\n subnetId: ${subnet}\n systemDiskType: CLOUD_SSD\n systemDiskSize: 50\n internetChargeType: TRAFFIC_POSTPAID_BY_HOUR\n internetMaxBandwidthOut: 100\n publicIpAssigned: true\n dataDisks:\n - diskType: CLOUD_PREMIUM\n diskSize: 50\n enhancedSecurityService: false\n enhancedMonitorService: false\n userData: dGVzdA==\n password: AABBccdd1122\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Use Kubelet\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst config = new pulumi.Config();\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-3\";\nconst subnet = config.get(\"subnet\") || \"subnet-pqfek0t8\";\nconst scaleInstanceType = config.get(\"scaleInstanceType\") || \"S2.LARGE16\";\nconst testScale = new tencentcloud.kubernetes.ScaleWorker(\"testScale\", {\n clusterId: \"cls-godovr32\",\n extraArgs: [\"root-dir=/var/lib/kubelet\"],\n labels: {\n test1: \"test1\",\n test2: \"test2\",\n },\n workerConfig: {\n count: 3,\n availabilityZone: availabilityZone,\n instanceType: scaleInstanceType,\n subnetId: subnet,\n systemDiskType: \"CLOUD_SSD\",\n systemDiskSize: 50,\n internetChargeType: \"TRAFFIC_POSTPAID_BY_HOUR\",\n internetMaxBandwidthOut: 100,\n publicIpAssigned: true,\n dataDisks: [{\n diskType: \"CLOUD_PREMIUM\",\n diskSize: 50,\n }],\n enhancedSecurityService: false,\n enhancedMonitorService: false,\n userData: \"dGVzdA==\",\n password: \"AABBccdd1122\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\navailability_zone = config.get(\"availabilityZone\")\nif availability_zone is None:\n availability_zone = \"ap-guangzhou-3\"\nsubnet = config.get(\"subnet\")\nif subnet is None:\n subnet = \"subnet-pqfek0t8\"\nscale_instance_type = config.get(\"scaleInstanceType\")\nif scale_instance_type is None:\n scale_instance_type = \"S2.LARGE16\"\ntest_scale = tencentcloud.kubernetes.ScaleWorker(\"testScale\",\n cluster_id=\"cls-godovr32\",\n extra_args=[\"root-dir=/var/lib/kubelet\"],\n labels={\n \"test1\": \"test1\",\n \"test2\": \"test2\",\n },\n worker_config=tencentcloud.kubernetes.ScaleWorkerWorkerConfigArgs(\n count=3,\n availability_zone=availability_zone,\n instance_type=scale_instance_type,\n subnet_id=subnet,\n system_disk_type=\"CLOUD_SSD\",\n system_disk_size=50,\n internet_charge_type=\"TRAFFIC_POSTPAID_BY_HOUR\",\n internet_max_bandwidth_out=100,\n public_ip_assigned=True,\n data_disks=[tencentcloud.kubernetes.ScaleWorkerWorkerConfigDataDiskArgs(\n disk_type=\"CLOUD_PREMIUM\",\n disk_size=50,\n )],\n enhanced_security_service=False,\n enhanced_monitor_service=False,\n user_data=\"dGVzdA==\",\n password=\"AABBccdd1122\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-3\";\n var subnet = config.Get(\"subnet\") ?? \"subnet-pqfek0t8\";\n var scaleInstanceType = config.Get(\"scaleInstanceType\") ?? \"S2.LARGE16\";\n var testScale = new Tencentcloud.Kubernetes.ScaleWorker(\"testScale\", new()\n {\n ClusterId = \"cls-godovr32\",\n ExtraArgs = new[]\n {\n \"root-dir=/var/lib/kubelet\",\n },\n Labels = \n {\n { \"test1\", \"test1\" },\n { \"test2\", \"test2\" },\n },\n WorkerConfig = new Tencentcloud.Kubernetes.Inputs.ScaleWorkerWorkerConfigArgs\n {\n Count = 3,\n AvailabilityZone = availabilityZone,\n InstanceType = scaleInstanceType,\n SubnetId = subnet,\n SystemDiskType = \"CLOUD_SSD\",\n SystemDiskSize = 50,\n InternetChargeType = \"TRAFFIC_POSTPAID_BY_HOUR\",\n InternetMaxBandwidthOut = 100,\n PublicIpAssigned = true,\n DataDisks = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.ScaleWorkerWorkerConfigDataDiskArgs\n {\n DiskType = \"CLOUD_PREMIUM\",\n DiskSize = 50,\n },\n },\n EnhancedSecurityService = false,\n EnhancedMonitorService = false,\n UserData = \"dGVzdA==\",\n Password = \"AABBccdd1122\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Kubernetes\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tavailabilityZone := \"ap-guangzhou-3\"\n\t\tif param := cfg.Get(\"availabilityZone\"); param != \"\" {\n\t\t\tavailabilityZone = param\n\t\t}\n\t\tsubnet := \"subnet-pqfek0t8\"\n\t\tif param := cfg.Get(\"subnet\"); param != \"\" {\n\t\t\tsubnet = param\n\t\t}\n\t\tscaleInstanceType := \"S2.LARGE16\"\n\t\tif param := cfg.Get(\"scaleInstanceType\"); param != \"\" {\n\t\t\tscaleInstanceType = param\n\t\t}\n\t\t_, err := Kubernetes.NewScaleWorker(ctx, \"testScale\", \u0026Kubernetes.ScaleWorkerArgs{\n\t\t\tClusterId: pulumi.String(\"cls-godovr32\"),\n\t\t\tExtraArgs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"root-dir=/var/lib/kubelet\"),\n\t\t\t},\n\t\t\tLabels: pulumi.Map{\n\t\t\t\t\"test1\": pulumi.Any(\"test1\"),\n\t\t\t\t\"test2\": pulumi.Any(\"test2\"),\n\t\t\t},\n\t\t\tWorkerConfig: \u0026kubernetes.ScaleWorkerWorkerConfigArgs{\n\t\t\t\tCount: pulumi.Int(3),\n\t\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\t\tInstanceType: pulumi.String(scaleInstanceType),\n\t\t\t\tSubnetId: pulumi.String(subnet),\n\t\t\t\tSystemDiskType: pulumi.String(\"CLOUD_SSD\"),\n\t\t\t\tSystemDiskSize: pulumi.Int(50),\n\t\t\t\tInternetChargeType: pulumi.String(\"TRAFFIC_POSTPAID_BY_HOUR\"),\n\t\t\t\tInternetMaxBandwidthOut: pulumi.Int(100),\n\t\t\t\tPublicIpAssigned: pulumi.Bool(true),\n\t\t\t\tDataDisks: kubernetes.ScaleWorkerWorkerConfigDataDiskArray{\n\t\t\t\t\t\u0026kubernetes.ScaleWorkerWorkerConfigDataDiskArgs{\n\t\t\t\t\t\tDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\t\t\t\tDiskSize: pulumi.Int(50),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tEnhancedSecurityService: pulumi.Bool(false),\n\t\t\t\tEnhancedMonitorService: pulumi.Bool(false),\n\t\t\t\tUserData: pulumi.String(\"dGVzdA==\"),\n\t\t\t\tPassword: pulumi.String(\"AABBccdd1122\"),\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.tencentcloud.Kubernetes.ScaleWorker;\nimport com.pulumi.tencentcloud.Kubernetes.ScaleWorkerArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.ScaleWorkerWorkerConfigArgs;\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(\"ap-guangzhou-3\");\n final var subnet = config.get(\"subnet\").orElse(\"subnet-pqfek0t8\");\n final var scaleInstanceType = config.get(\"scaleInstanceType\").orElse(\"S2.LARGE16\");\n var testScale = new ScaleWorker(\"testScale\", ScaleWorkerArgs.builder() \n .clusterId(\"cls-godovr32\")\n .extraArgs(\"root-dir=/var/lib/kubelet\")\n .labels(Map.ofEntries(\n Map.entry(\"test1\", \"test1\"),\n Map.entry(\"test2\", \"test2\")\n ))\n .workerConfig(ScaleWorkerWorkerConfigArgs.builder()\n .count(3)\n .availabilityZone(availabilityZone)\n .instanceType(scaleInstanceType)\n .subnetId(subnet)\n .systemDiskType(\"CLOUD_SSD\")\n .systemDiskSize(50)\n .internetChargeType(\"TRAFFIC_POSTPAID_BY_HOUR\")\n .internetMaxBandwidthOut(100)\n .publicIpAssigned(true)\n .dataDisks(ScaleWorkerWorkerConfigDataDiskArgs.builder()\n .diskType(\"CLOUD_PREMIUM\")\n .diskSize(50)\n .build())\n .enhancedSecurityService(false)\n .enhancedMonitorService(false)\n .userData(\"dGVzdA==\")\n .password(\"AABBccdd1122\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-3\n subnet:\n type: string\n default: subnet-pqfek0t8\n scaleInstanceType:\n type: string\n default: S2.LARGE16\nresources:\n testScale:\n type: tencentcloud:Kubernetes:ScaleWorker\n properties:\n clusterId: cls-godovr32\n extraArgs:\n - root-dir=/var/lib/kubelet\n labels:\n test1: test1\n test2: test2\n workerConfig:\n count: 3\n availabilityZone: ${availabilityZone}\n instanceType: ${scaleInstanceType}\n subnetId: ${subnet}\n systemDiskType: CLOUD_SSD\n systemDiskSize: 50\n internetChargeType: TRAFFIC_POSTPAID_BY_HOUR\n internetMaxBandwidthOut: 100\n publicIpAssigned: true\n dataDisks:\n - diskType: CLOUD_PREMIUM\n diskSize: 50\n enhancedSecurityService: false\n enhancedMonitorService: false\n userData: dGVzdA==\n password: AABBccdd1122\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provide a resource to increase instance to cluster\n\n\u003e **NOTE:** To use the custom Kubernetes component startup parameter function (parameter `extra_args`), you need to submit a ticket for application.\n\n\u003e **NOTE:** Import Node: Currently, only one node can be imported at a time.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst config = new pulumi.Config();\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-3\";\nconst subnet = config.get(\"subnet\") || \"subnet-pqfek0t8\";\nconst scaleInstanceType = config.get(\"scaleInstanceType\") || \"S2.LARGE16\";\nconst testScale = new tencentcloud.kubernetes.ScaleWorker(\"testScale\", {\n clusterId: \"cls-godovr32\",\n desiredPodNum: 16,\n labels: {\n test1: \"test1\",\n test2: \"test2\",\n },\n workerConfig: {\n count: 3,\n availabilityZone: availabilityZone,\n instanceType: scaleInstanceType,\n subnetId: subnet,\n systemDiskType: \"CLOUD_SSD\",\n systemDiskSize: 50,\n internetChargeType: \"TRAFFIC_POSTPAID_BY_HOUR\",\n internetMaxBandwidthOut: 100,\n publicIpAssigned: true,\n dataDisks: [{\n diskType: \"CLOUD_PREMIUM\",\n diskSize: 50,\n }],\n enhancedSecurityService: false,\n enhancedMonitorService: false,\n userData: \"dGVzdA==\",\n password: \"AABBccdd1122\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\navailability_zone = config.get(\"availabilityZone\")\nif availability_zone is None:\n availability_zone = \"ap-guangzhou-3\"\nsubnet = config.get(\"subnet\")\nif subnet is None:\n subnet = \"subnet-pqfek0t8\"\nscale_instance_type = config.get(\"scaleInstanceType\")\nif scale_instance_type is None:\n scale_instance_type = \"S2.LARGE16\"\ntest_scale = tencentcloud.kubernetes.ScaleWorker(\"testScale\",\n cluster_id=\"cls-godovr32\",\n desired_pod_num=16,\n labels={\n \"test1\": \"test1\",\n \"test2\": \"test2\",\n },\n worker_config=tencentcloud.kubernetes.ScaleWorkerWorkerConfigArgs(\n count=3,\n availability_zone=availability_zone,\n instance_type=scale_instance_type,\n subnet_id=subnet,\n system_disk_type=\"CLOUD_SSD\",\n system_disk_size=50,\n internet_charge_type=\"TRAFFIC_POSTPAID_BY_HOUR\",\n internet_max_bandwidth_out=100,\n public_ip_assigned=True,\n data_disks=[tencentcloud.kubernetes.ScaleWorkerWorkerConfigDataDiskArgs(\n disk_type=\"CLOUD_PREMIUM\",\n disk_size=50,\n )],\n enhanced_security_service=False,\n enhanced_monitor_service=False,\n user_data=\"dGVzdA==\",\n password=\"AABBccdd1122\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-3\";\n var subnet = config.Get(\"subnet\") ?? \"subnet-pqfek0t8\";\n var scaleInstanceType = config.Get(\"scaleInstanceType\") ?? \"S2.LARGE16\";\n var testScale = new Tencentcloud.Kubernetes.ScaleWorker(\"testScale\", new()\n {\n ClusterId = \"cls-godovr32\",\n DesiredPodNum = 16,\n Labels = \n {\n { \"test1\", \"test1\" },\n { \"test2\", \"test2\" },\n },\n WorkerConfig = new Tencentcloud.Kubernetes.Inputs.ScaleWorkerWorkerConfigArgs\n {\n Count = 3,\n AvailabilityZone = availabilityZone,\n InstanceType = scaleInstanceType,\n SubnetId = subnet,\n SystemDiskType = \"CLOUD_SSD\",\n SystemDiskSize = 50,\n InternetChargeType = \"TRAFFIC_POSTPAID_BY_HOUR\",\n InternetMaxBandwidthOut = 100,\n PublicIpAssigned = true,\n DataDisks = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.ScaleWorkerWorkerConfigDataDiskArgs\n {\n DiskType = \"CLOUD_PREMIUM\",\n DiskSize = 50,\n },\n },\n EnhancedSecurityService = false,\n EnhancedMonitorService = false,\n UserData = \"dGVzdA==\",\n Password = \"AABBccdd1122\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Kubernetes\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tavailabilityZone := \"ap-guangzhou-3\"\n\t\tif param := cfg.Get(\"availabilityZone\"); param != \"\" {\n\t\t\tavailabilityZone = param\n\t\t}\n\t\tsubnet := \"subnet-pqfek0t8\"\n\t\tif param := cfg.Get(\"subnet\"); param != \"\" {\n\t\t\tsubnet = param\n\t\t}\n\t\tscaleInstanceType := \"S2.LARGE16\"\n\t\tif param := cfg.Get(\"scaleInstanceType\"); param != \"\" {\n\t\t\tscaleInstanceType = param\n\t\t}\n\t\t_, err := Kubernetes.NewScaleWorker(ctx, \"testScale\", \u0026Kubernetes.ScaleWorkerArgs{\n\t\t\tClusterId: pulumi.String(\"cls-godovr32\"),\n\t\t\tDesiredPodNum: pulumi.Int(16),\n\t\t\tLabels: pulumi.Map{\n\t\t\t\t\"test1\": pulumi.Any(\"test1\"),\n\t\t\t\t\"test2\": pulumi.Any(\"test2\"),\n\t\t\t},\n\t\t\tWorkerConfig: \u0026kubernetes.ScaleWorkerWorkerConfigArgs{\n\t\t\t\tCount: pulumi.Int(3),\n\t\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\t\tInstanceType: pulumi.String(scaleInstanceType),\n\t\t\t\tSubnetId: pulumi.String(subnet),\n\t\t\t\tSystemDiskType: pulumi.String(\"CLOUD_SSD\"),\n\t\t\t\tSystemDiskSize: pulumi.Int(50),\n\t\t\t\tInternetChargeType: pulumi.String(\"TRAFFIC_POSTPAID_BY_HOUR\"),\n\t\t\t\tInternetMaxBandwidthOut: pulumi.Int(100),\n\t\t\t\tPublicIpAssigned: pulumi.Bool(true),\n\t\t\t\tDataDisks: kubernetes.ScaleWorkerWorkerConfigDataDiskArray{\n\t\t\t\t\t\u0026kubernetes.ScaleWorkerWorkerConfigDataDiskArgs{\n\t\t\t\t\t\tDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\t\t\t\tDiskSize: pulumi.Int(50),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tEnhancedSecurityService: pulumi.Bool(false),\n\t\t\t\tEnhancedMonitorService: pulumi.Bool(false),\n\t\t\t\tUserData: pulumi.String(\"dGVzdA==\"),\n\t\t\t\tPassword: pulumi.String(\"AABBccdd1122\"),\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.tencentcloud.Kubernetes.ScaleWorker;\nimport com.pulumi.tencentcloud.Kubernetes.ScaleWorkerArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.ScaleWorkerWorkerConfigArgs;\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(\"ap-guangzhou-3\");\n final var subnet = config.get(\"subnet\").orElse(\"subnet-pqfek0t8\");\n final var scaleInstanceType = config.get(\"scaleInstanceType\").orElse(\"S2.LARGE16\");\n var testScale = new ScaleWorker(\"testScale\", ScaleWorkerArgs.builder() \n .clusterId(\"cls-godovr32\")\n .desiredPodNum(16)\n .labels(Map.ofEntries(\n Map.entry(\"test1\", \"test1\"),\n Map.entry(\"test2\", \"test2\")\n ))\n .workerConfig(ScaleWorkerWorkerConfigArgs.builder()\n .count(3)\n .availabilityZone(availabilityZone)\n .instanceType(scaleInstanceType)\n .subnetId(subnet)\n .systemDiskType(\"CLOUD_SSD\")\n .systemDiskSize(50)\n .internetChargeType(\"TRAFFIC_POSTPAID_BY_HOUR\")\n .internetMaxBandwidthOut(100)\n .publicIpAssigned(true)\n .dataDisks(ScaleWorkerWorkerConfigDataDiskArgs.builder()\n .diskType(\"CLOUD_PREMIUM\")\n .diskSize(50)\n .build())\n .enhancedSecurityService(false)\n .enhancedMonitorService(false)\n .userData(\"dGVzdA==\")\n .password(\"AABBccdd1122\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-3\n subnet:\n type: string\n default: subnet-pqfek0t8\n scaleInstanceType:\n type: string\n default: S2.LARGE16\nresources:\n testScale:\n type: tencentcloud:Kubernetes:ScaleWorker\n properties:\n clusterId: cls-godovr32\n desiredPodNum: 16\n labels:\n test1: test1\n test2: test2\n workerConfig:\n count: 3\n availabilityZone: ${availabilityZone}\n instanceType: ${scaleInstanceType}\n subnetId: ${subnet}\n systemDiskType: CLOUD_SSD\n systemDiskSize: 50\n internetChargeType: TRAFFIC_POSTPAID_BY_HOUR\n internetMaxBandwidthOut: 100\n publicIpAssigned: true\n dataDisks:\n - diskType: CLOUD_PREMIUM\n diskSize: 50\n enhancedSecurityService: false\n enhancedMonitorService: false\n userData: dGVzdA==\n password: AABBccdd1122\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Use Kubelet\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst config = new pulumi.Config();\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-3\";\nconst subnet = config.get(\"subnet\") || \"subnet-pqfek0t8\";\nconst scaleInstanceType = config.get(\"scaleInstanceType\") || \"S2.LARGE16\";\nconst testScale = new tencentcloud.kubernetes.ScaleWorker(\"testScale\", {\n clusterId: \"cls-godovr32\",\n extraArgs: [\"root-dir=/var/lib/kubelet\"],\n labels: {\n test1: \"test1\",\n test2: \"test2\",\n },\n workerConfig: {\n count: 3,\n availabilityZone: availabilityZone,\n instanceType: scaleInstanceType,\n subnetId: subnet,\n systemDiskType: \"CLOUD_SSD\",\n systemDiskSize: 50,\n internetChargeType: \"TRAFFIC_POSTPAID_BY_HOUR\",\n internetMaxBandwidthOut: 100,\n publicIpAssigned: true,\n dataDisks: [{\n diskType: \"CLOUD_PREMIUM\",\n diskSize: 50,\n }],\n enhancedSecurityService: false,\n enhancedMonitorService: false,\n userData: \"dGVzdA==\",\n password: \"AABBccdd1122\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\navailability_zone = config.get(\"availabilityZone\")\nif availability_zone is None:\n availability_zone = \"ap-guangzhou-3\"\nsubnet = config.get(\"subnet\")\nif subnet is None:\n subnet = \"subnet-pqfek0t8\"\nscale_instance_type = config.get(\"scaleInstanceType\")\nif scale_instance_type is None:\n scale_instance_type = \"S2.LARGE16\"\ntest_scale = tencentcloud.kubernetes.ScaleWorker(\"testScale\",\n cluster_id=\"cls-godovr32\",\n extra_args=[\"root-dir=/var/lib/kubelet\"],\n labels={\n \"test1\": \"test1\",\n \"test2\": \"test2\",\n },\n worker_config=tencentcloud.kubernetes.ScaleWorkerWorkerConfigArgs(\n count=3,\n availability_zone=availability_zone,\n instance_type=scale_instance_type,\n subnet_id=subnet,\n system_disk_type=\"CLOUD_SSD\",\n system_disk_size=50,\n internet_charge_type=\"TRAFFIC_POSTPAID_BY_HOUR\",\n internet_max_bandwidth_out=100,\n public_ip_assigned=True,\n data_disks=[tencentcloud.kubernetes.ScaleWorkerWorkerConfigDataDiskArgs(\n disk_type=\"CLOUD_PREMIUM\",\n disk_size=50,\n )],\n enhanced_security_service=False,\n enhanced_monitor_service=False,\n user_data=\"dGVzdA==\",\n password=\"AABBccdd1122\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-3\";\n var subnet = config.Get(\"subnet\") ?? \"subnet-pqfek0t8\";\n var scaleInstanceType = config.Get(\"scaleInstanceType\") ?? \"S2.LARGE16\";\n var testScale = new Tencentcloud.Kubernetes.ScaleWorker(\"testScale\", new()\n {\n ClusterId = \"cls-godovr32\",\n ExtraArgs = new[]\n {\n \"root-dir=/var/lib/kubelet\",\n },\n Labels = \n {\n { \"test1\", \"test1\" },\n { \"test2\", \"test2\" },\n },\n WorkerConfig = new Tencentcloud.Kubernetes.Inputs.ScaleWorkerWorkerConfigArgs\n {\n Count = 3,\n AvailabilityZone = availabilityZone,\n InstanceType = scaleInstanceType,\n SubnetId = subnet,\n SystemDiskType = \"CLOUD_SSD\",\n SystemDiskSize = 50,\n InternetChargeType = \"TRAFFIC_POSTPAID_BY_HOUR\",\n InternetMaxBandwidthOut = 100,\n PublicIpAssigned = true,\n DataDisks = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.ScaleWorkerWorkerConfigDataDiskArgs\n {\n DiskType = \"CLOUD_PREMIUM\",\n DiskSize = 50,\n },\n },\n EnhancedSecurityService = false,\n EnhancedMonitorService = false,\n UserData = \"dGVzdA==\",\n Password = \"AABBccdd1122\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Kubernetes\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tavailabilityZone := \"ap-guangzhou-3\"\n\t\tif param := cfg.Get(\"availabilityZone\"); param != \"\" {\n\t\t\tavailabilityZone = param\n\t\t}\n\t\tsubnet := \"subnet-pqfek0t8\"\n\t\tif param := cfg.Get(\"subnet\"); param != \"\" {\n\t\t\tsubnet = param\n\t\t}\n\t\tscaleInstanceType := \"S2.LARGE16\"\n\t\tif param := cfg.Get(\"scaleInstanceType\"); param != \"\" {\n\t\t\tscaleInstanceType = param\n\t\t}\n\t\t_, err := Kubernetes.NewScaleWorker(ctx, \"testScale\", \u0026Kubernetes.ScaleWorkerArgs{\n\t\t\tClusterId: pulumi.String(\"cls-godovr32\"),\n\t\t\tExtraArgs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"root-dir=/var/lib/kubelet\"),\n\t\t\t},\n\t\t\tLabels: pulumi.Map{\n\t\t\t\t\"test1\": pulumi.Any(\"test1\"),\n\t\t\t\t\"test2\": pulumi.Any(\"test2\"),\n\t\t\t},\n\t\t\tWorkerConfig: \u0026kubernetes.ScaleWorkerWorkerConfigArgs{\n\t\t\t\tCount: pulumi.Int(3),\n\t\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\t\tInstanceType: pulumi.String(scaleInstanceType),\n\t\t\t\tSubnetId: pulumi.String(subnet),\n\t\t\t\tSystemDiskType: pulumi.String(\"CLOUD_SSD\"),\n\t\t\t\tSystemDiskSize: pulumi.Int(50),\n\t\t\t\tInternetChargeType: pulumi.String(\"TRAFFIC_POSTPAID_BY_HOUR\"),\n\t\t\t\tInternetMaxBandwidthOut: pulumi.Int(100),\n\t\t\t\tPublicIpAssigned: pulumi.Bool(true),\n\t\t\t\tDataDisks: kubernetes.ScaleWorkerWorkerConfigDataDiskArray{\n\t\t\t\t\t\u0026kubernetes.ScaleWorkerWorkerConfigDataDiskArgs{\n\t\t\t\t\t\tDiskType: pulumi.String(\"CLOUD_PREMIUM\"),\n\t\t\t\t\t\tDiskSize: pulumi.Int(50),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tEnhancedSecurityService: pulumi.Bool(false),\n\t\t\t\tEnhancedMonitorService: pulumi.Bool(false),\n\t\t\t\tUserData: pulumi.String(\"dGVzdA==\"),\n\t\t\t\tPassword: pulumi.String(\"AABBccdd1122\"),\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.tencentcloud.Kubernetes.ScaleWorker;\nimport com.pulumi.tencentcloud.Kubernetes.ScaleWorkerArgs;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.ScaleWorkerWorkerConfigArgs;\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(\"ap-guangzhou-3\");\n final var subnet = config.get(\"subnet\").orElse(\"subnet-pqfek0t8\");\n final var scaleInstanceType = config.get(\"scaleInstanceType\").orElse(\"S2.LARGE16\");\n var testScale = new ScaleWorker(\"testScale\", ScaleWorkerArgs.builder() \n .clusterId(\"cls-godovr32\")\n .extraArgs(\"root-dir=/var/lib/kubelet\")\n .labels(Map.ofEntries(\n Map.entry(\"test1\", \"test1\"),\n Map.entry(\"test2\", \"test2\")\n ))\n .workerConfig(ScaleWorkerWorkerConfigArgs.builder()\n .count(3)\n .availabilityZone(availabilityZone)\n .instanceType(scaleInstanceType)\n .subnetId(subnet)\n .systemDiskType(\"CLOUD_SSD\")\n .systemDiskSize(50)\n .internetChargeType(\"TRAFFIC_POSTPAID_BY_HOUR\")\n .internetMaxBandwidthOut(100)\n .publicIpAssigned(true)\n .dataDisks(ScaleWorkerWorkerConfigDataDiskArgs.builder()\n .diskType(\"CLOUD_PREMIUM\")\n .diskSize(50)\n .build())\n .enhancedSecurityService(false)\n .enhancedMonitorService(false)\n .userData(\"dGVzdA==\")\n .password(\"AABBccdd1122\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-3\n subnet:\n type: string\n default: subnet-pqfek0t8\n scaleInstanceType:\n type: string\n default: S2.LARGE16\nresources:\n testScale:\n type: tencentcloud:Kubernetes:ScaleWorker\n properties:\n clusterId: cls-godovr32\n extraArgs:\n - root-dir=/var/lib/kubelet\n labels:\n test1: test1\n test2: test2\n workerConfig:\n count: 3\n availabilityZone: ${availabilityZone}\n instanceType: ${scaleInstanceType}\n subnetId: ${subnet}\n systemDiskType: CLOUD_SSD\n systemDiskSize: 50\n internetChargeType: TRAFFIC_POSTPAID_BY_HOUR\n internetMaxBandwidthOut: 100\n publicIpAssigned: true\n dataDisks:\n - diskType: CLOUD_PREMIUM\n diskSize: 50\n enhancedSecurityService: false\n enhancedMonitorService: false\n userData: dGVzdA==\n password: AABBccdd1122\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\ntke scale worker can be imported, e.g.\n\n```sh\n$ pulumi import tencentcloud:Kubernetes/scaleWorker:ScaleWorker test cls-xxx#ins-xxx\n```\n", "properties": { "clusterId": { "type": "string", @@ -172073,6 +173538,163 @@ "type": "object" } }, + "tencentcloud:Mongodb/instanceBackupRule:InstanceBackupRule": { + "description": "Provides a resource to create mongodb backup rule\n\n## Import\n\nmongodb backup_rule can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Mongodb/instanceBackupRule:InstanceBackupRule backup_rule ${instanceId}\n```\n\n", + "properties": { + "backupMethod": { + "type": "integer", + "description": "Set automatic backup method. Valid values:\n- 0: Logical backup;\n- 1: Physical backup;\n- 3: Snapshot backup (supported only in cloud disk version).\n" + }, + "backupRetentionPeriod": { + "type": "integer", + "description": "Specify the number of days to save backup data. The default is 7 days, and the support settings are 7, 30, 90, 180, 365.\n" + }, + "backupTime": { + "type": "integer", + "description": "Set the start time for automatic backup. The value range is: [0,23]. For example, setting this parameter to 2 means that backup starts at 02:00.\n" + }, + "instanceId": { + "type": "string", + "description": "Instance id.\n" + } + }, + "required": [ + "backupMethod", + "backupRetentionPeriod", + "backupTime", + "instanceId" + ], + "inputProperties": { + "backupMethod": { + "type": "integer", + "description": "Set automatic backup method. Valid values:\n- 0: Logical backup;\n- 1: Physical backup;\n- 3: Snapshot backup (supported only in cloud disk version).\n" + }, + "backupRetentionPeriod": { + "type": "integer", + "description": "Specify the number of days to save backup data. The default is 7 days, and the support settings are 7, 30, 90, 180, 365.\n" + }, + "backupTime": { + "type": "integer", + "description": "Set the start time for automatic backup. The value range is: [0,23]. For example, setting this parameter to 2 means that backup starts at 02:00.\n" + }, + "instanceId": { + "type": "string", + "description": "Instance id.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "backupMethod", + "backupTime", + "instanceId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering InstanceBackupRule resources.\n", + "properties": { + "backupMethod": { + "type": "integer", + "description": "Set automatic backup method. Valid values:\n- 0: Logical backup;\n- 1: Physical backup;\n- 3: Snapshot backup (supported only in cloud disk version).\n" + }, + "backupRetentionPeriod": { + "type": "integer", + "description": "Specify the number of days to save backup data. The default is 7 days, and the support settings are 7, 30, 90, 180, 365.\n" + }, + "backupTime": { + "type": "integer", + "description": "Set the start time for automatic backup. The value range is: [0,23]. For example, setting this parameter to 2 means that backup starts at 02:00.\n" + }, + "instanceId": { + "type": "string", + "description": "Instance id.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "tencentcloud:Mongodb/instanceTransparentDataEncryption:InstanceTransparentDataEncryption": { + "description": "Provides a resource to enable mongodb transparent data encryption\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst encryption = new tencentcloud.mongodb.InstanceTransparentDataEncryption(\"encryption\", {\n instanceId: \"cmgo-xxxxxx\",\n kmsRegion: \"ap-guangzhou\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nencryption = tencentcloud.mongodb.InstanceTransparentDataEncryption(\"encryption\",\n instance_id=\"cmgo-xxxxxx\",\n kms_region=\"ap-guangzhou\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var encryption = new Tencentcloud.Mongodb.InstanceTransparentDataEncryption(\"encryption\", new()\n {\n InstanceId = \"cmgo-xxxxxx\",\n KmsRegion = \"ap-guangzhou\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Mongodb\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Mongodb.NewInstanceTransparentDataEncryption(ctx, \"encryption\", \u0026Mongodb.InstanceTransparentDataEncryptionArgs{\n\t\t\tInstanceId: pulumi.String(\"cmgo-xxxxxx\"),\n\t\t\tKmsRegion: pulumi.String(\"ap-guangzhou\"),\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.tencentcloud.Mongodb.InstanceTransparentDataEncryption;\nimport com.pulumi.tencentcloud.Mongodb.InstanceTransparentDataEncryptionArgs;\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 encryption = new InstanceTransparentDataEncryption(\"encryption\", InstanceTransparentDataEncryptionArgs.builder() \n .instanceId(\"cmgo-xxxxxx\")\n .kmsRegion(\"ap-guangzhou\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n encryption:\n type: tencentcloud:Mongodb:InstanceTransparentDataEncryption\n properties:\n instanceId: cmgo-xxxxxx\n kmsRegion: ap-guangzhou\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nmongodb transparent data encryption can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Mongodb/instanceTransparentDataEncryption:InstanceTransparentDataEncryption encryption ${instanceId}\n```\n\n", + "properties": { + "instanceId": { + "type": "string", + "description": "Instance ID, for example: cmgo-p8vn ***. Currently supported general versions include: 4.4 and 5.0, but the cloud disk version is not currently supported.\n" + }, + "keyId": { + "type": "string", + "description": "Key ID. If this parameter is not set and the specific key ID is not specified, Tencent Cloud will automatically generate\nthe key and this key will be beyond the control of Terraform.\n" + }, + "keyInfoLists": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Mongodb/InstanceTransparentDataEncryptionKeyInfoList:InstanceTransparentDataEncryptionKeyInfoList" + }, + "description": "List of bound keys.\n" + }, + "kmsRegion": { + "type": "string", + "description": "The region where the Key Management Service (KMS) serves, such as ap-shanghai.\n" + }, + "transparentDataEncryptionStatus": { + "type": "string", + "description": "Represents whether transparent encryption is turned on. Valid values:\n- close: Not opened;\n- open: It has been opened.\n" + } + }, + "required": [ + "instanceId", + "keyInfoLists", + "kmsRegion", + "transparentDataEncryptionStatus" + ], + "inputProperties": { + "instanceId": { + "type": "string", + "description": "Instance ID, for example: cmgo-p8vn ***. Currently supported general versions include: 4.4 and 5.0, but the cloud disk version is not currently supported.\n", + "willReplaceOnChanges": true + }, + "keyId": { + "type": "string", + "description": "Key ID. If this parameter is not set and the specific key ID is not specified, Tencent Cloud will automatically generate\nthe key and this key will be beyond the control of Terraform.\n" + }, + "kmsRegion": { + "type": "string", + "description": "The region where the Key Management Service (KMS) serves, such as ap-shanghai.\n" + } + }, + "requiredInputs": [ + "instanceId", + "kmsRegion" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering InstanceTransparentDataEncryption resources.\n", + "properties": { + "instanceId": { + "type": "string", + "description": "Instance ID, for example: cmgo-p8vn ***. Currently supported general versions include: 4.4 and 5.0, but the cloud disk version is not currently supported.\n", + "willReplaceOnChanges": true + }, + "keyId": { + "type": "string", + "description": "Key ID. If this parameter is not set and the specific key ID is not specified, Tencent Cloud will automatically generate\nthe key and this key will be beyond the control of Terraform.\n" + }, + "keyInfoLists": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Mongodb/InstanceTransparentDataEncryptionKeyInfoList:InstanceTransparentDataEncryptionKeyInfoList" + }, + "description": "List of bound keys.\n" + }, + "kmsRegion": { + "type": "string", + "description": "The region where the Key Management Service (KMS) serves, such as ap-shanghai.\n" + }, + "transparentDataEncryptionStatus": { + "type": "string", + "description": "Represents whether transparent encryption is turned on. Valid values:\n- close: Not opened;\n- open: It has been opened.\n" + } + }, + "type": "object" + } + }, "tencentcloud:Mongodb/shardingInstance:ShardingInstance": { "description": "Provide a resource to create a Mongodb sharding instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst mongodb = new tencentcloud.mongodb.ShardingInstance(\"mongodb\", {\n availableZone: \"ap-guangzhou-3\",\n engineVersion: \"MONGO_36_WT\",\n instanceName: \"mongodb\",\n machineType: \"HIO10G\",\n memory: 4,\n mongosCpu: 1,\n mongosMemory: 2,\n mongosNodeNum: 3,\n nodesPerShard: 3,\n password: \"password1234\",\n projectId: 0,\n shardQuantity: 2,\n subnetId: \"subnet-lk0svi3p\",\n volume: 100,\n vpcId: \"vpc-mz3efvbw\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nmongodb = tencentcloud.mongodb.ShardingInstance(\"mongodb\",\n available_zone=\"ap-guangzhou-3\",\n engine_version=\"MONGO_36_WT\",\n instance_name=\"mongodb\",\n machine_type=\"HIO10G\",\n memory=4,\n mongos_cpu=1,\n mongos_memory=2,\n mongos_node_num=3,\n nodes_per_shard=3,\n password=\"password1234\",\n project_id=0,\n shard_quantity=2,\n subnet_id=\"subnet-lk0svi3p\",\n volume=100,\n vpc_id=\"vpc-mz3efvbw\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mongodb = new Tencentcloud.Mongodb.ShardingInstance(\"mongodb\", new()\n {\n AvailableZone = \"ap-guangzhou-3\",\n EngineVersion = \"MONGO_36_WT\",\n InstanceName = \"mongodb\",\n MachineType = \"HIO10G\",\n Memory = 4,\n MongosCpu = 1,\n MongosMemory = 2,\n MongosNodeNum = 3,\n NodesPerShard = 3,\n Password = \"password1234\",\n ProjectId = 0,\n ShardQuantity = 2,\n SubnetId = \"subnet-lk0svi3p\",\n Volume = 100,\n VpcId = \"vpc-mz3efvbw\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Mongodb\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Mongodb.NewShardingInstance(ctx, \"mongodb\", \u0026Mongodb.ShardingInstanceArgs{\n\t\t\tAvailableZone: pulumi.String(\"ap-guangzhou-3\"),\n\t\t\tEngineVersion: pulumi.String(\"MONGO_36_WT\"),\n\t\t\tInstanceName: pulumi.String(\"mongodb\"),\n\t\t\tMachineType: pulumi.String(\"HIO10G\"),\n\t\t\tMemory: pulumi.Int(4),\n\t\t\tMongosCpu: pulumi.Int(1),\n\t\t\tMongosMemory: pulumi.Int(2),\n\t\t\tMongosNodeNum: pulumi.Int(3),\n\t\t\tNodesPerShard: pulumi.Int(3),\n\t\t\tPassword: pulumi.String(\"password1234\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tShardQuantity: pulumi.Int(2),\n\t\t\tSubnetId: pulumi.String(\"subnet-lk0svi3p\"),\n\t\t\tVolume: pulumi.Int(100),\n\t\t\tVpcId: pulumi.String(\"vpc-mz3efvbw\"),\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.tencentcloud.Mongodb.ShardingInstance;\nimport com.pulumi.tencentcloud.Mongodb.ShardingInstanceArgs;\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 mongodb = new ShardingInstance(\"mongodb\", ShardingInstanceArgs.builder() \n .availableZone(\"ap-guangzhou-3\")\n .engineVersion(\"MONGO_36_WT\")\n .instanceName(\"mongodb\")\n .machineType(\"HIO10G\")\n .memory(4)\n .mongosCpu(1)\n .mongosMemory(2)\n .mongosNodeNum(3)\n .nodesPerShard(3)\n .password(\"password1234\")\n .projectId(0)\n .shardQuantity(2)\n .subnetId(\"subnet-lk0svi3p\")\n .volume(100)\n .vpcId(\"vpc-mz3efvbw\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mongodb:\n type: tencentcloud:Mongodb:ShardingInstance\n properties:\n availableZone: ap-guangzhou-3\n engineVersion: MONGO_36_WT\n instanceName: mongodb\n machineType: HIO10G\n memory: 4\n mongosCpu: 1\n mongosMemory: 2\n mongosNodeNum: 3\n nodesPerShard: 3\n password: password1234\n projectId: 0\n shardQuantity: 2\n subnetId: subnet-lk0svi3p\n volume: 100\n vpcId: vpc-mz3efvbw\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMongodb sharding instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Mongodb/shardingInstance:ShardingInstance mongodb cmgo-41s6jwy4\n```\n", "properties": { @@ -185115,7 +186737,7 @@ } }, "tencentcloud:Postgresql/instance:Instance": { - "description": "Use this resource to create postgresql instance.\n\n\u003e **Note:** To update the charge type, please update the `charge_type` and specify the `period` for the charging period. It only supports updating from `POSTPAID_BY_HOUR` to `PREPAID`, and the `period` field only valid in that upgrading case.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst config = new pulumi.Config();\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-1\";\n// create vpc\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\n// create vpc subnet\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n availabilityZone: availabilityZone,\n vpcId: vpc.id,\n cidrBlock: \"10.0.20.0/28\",\n isMulticast: false,\n});\n// create postgresql\nconst foo = new tencentcloud.postgresql.Instance(\"foo\", {\n availabilityZone: availabilityZone,\n chargeType: \"POSTPAID_BY_HOUR\",\n vpcId: vpc.id,\n subnetId: subnet.id,\n engineVersion: \"10.4\",\n rootUser: \"root123\",\n rootPassword: \"Root123$\",\n charset: \"UTF8\",\n projectId: 0,\n memory: 2,\n storage: 10,\n tags: {\n test: \"tf\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\navailability_zone = config.get(\"availabilityZone\")\nif availability_zone is None:\n availability_zone = \"ap-guangzhou-1\"\n# create vpc\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\n# create vpc subnet\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n availability_zone=availability_zone,\n vpc_id=vpc.id,\n cidr_block=\"10.0.20.0/28\",\n is_multicast=False)\n# create postgresql\nfoo = tencentcloud.postgresql.Instance(\"foo\",\n availability_zone=availability_zone,\n charge_type=\"POSTPAID_BY_HOUR\",\n vpc_id=vpc.id,\n subnet_id=subnet.id,\n engine_version=\"10.4\",\n root_user=\"root123\",\n root_password=\"Root123$\",\n charset=\"UTF8\",\n project_id=0,\n memory=2,\n storage=10,\n tags={\n \"test\": \"tf\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-1\";\n // create vpc\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n // create vpc subnet\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n AvailabilityZone = availabilityZone,\n VpcId = vpc.Id,\n CidrBlock = \"10.0.20.0/28\",\n IsMulticast = false,\n });\n\n // create postgresql\n var foo = new Tencentcloud.Postgresql.Instance(\"foo\", new()\n {\n AvailabilityZone = availabilityZone,\n ChargeType = \"POSTPAID_BY_HOUR\",\n VpcId = vpc.Id,\n SubnetId = subnet.Id,\n EngineVersion = \"10.4\",\n RootUser = \"root123\",\n RootPassword = \"Root123$\",\n Charset = \"UTF8\",\n ProjectId = 0,\n Memory = 2,\n Storage = 10,\n Tags = \n {\n { \"test\", \"tf\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Postgresql\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tavailabilityZone := \"ap-guangzhou-1\"\n\t\tif param := cfg.Get(\"availabilityZone\"); param != \"\" {\n\t\t\tavailabilityZone = param\n\t\t}\n\t\t// create vpc\n\t\tvpc, err := Vpc.NewInstance(ctx, \"vpc\", \u0026Vpc.InstanceArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create vpc subnet\n\t\tsubnet, err := Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.20.0/28\"),\n\t\t\tIsMulticast: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create postgresql\n\t\t_, err = Postgresql.NewInstance(ctx, \"foo\", \u0026Postgresql.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\tChargeType: pulumi.String(\"POSTPAID_BY_HOUR\"),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetId: subnet.ID(),\n\t\t\tEngineVersion: pulumi.String(\"10.4\"),\n\t\t\tRootUser: pulumi.String(\"root123\"),\n\t\t\tRootPassword: pulumi.String(\"Root123$\"),\n\t\t\tCharset: pulumi.String(\"UTF8\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tMemory: pulumi.Int(2),\n\t\t\tStorage: pulumi.Int(10),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"test\": pulumi.Any(\"tf\"),\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.tencentcloud.Vpc.Instance;\nimport com.pulumi.tencentcloud.Vpc.InstanceArgs;\nimport com.pulumi.tencentcloud.Subnet.Instance;\nimport com.pulumi.tencentcloud.Subnet.InstanceArgs;\nimport com.pulumi.tencentcloud.Postgresql.Instance;\nimport com.pulumi.tencentcloud.Postgresql.InstanceArgs;\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(\"ap-guangzhou-1\");\n // create vpc\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n // create vpc subnet\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .availabilityZone(availabilityZone)\n .vpcId(vpc.id())\n .cidrBlock(\"10.0.20.0/28\")\n .isMulticast(false)\n .build());\n\n // create postgresql\n var foo = new Instance(\"foo\", InstanceArgs.builder() \n .availabilityZone(availabilityZone)\n .chargeType(\"POSTPAID_BY_HOUR\")\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .engineVersion(\"10.4\")\n .rootUser(\"root123\")\n .rootPassword(\"Root123$\")\n .charset(\"UTF8\")\n .projectId(0)\n .memory(2)\n .storage(10)\n .tags(Map.of(\"test\", \"tf\"))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-1\nresources:\n # create vpc\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n # create vpc subnet\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n availabilityZone: ${availabilityZone}\n vpcId: ${vpc.id}\n cidrBlock: 10.0.20.0/28\n isMulticast: false\n # create postgresql\n foo:\n type: tencentcloud:Postgresql:Instance\n properties:\n availabilityZone: ${availabilityZone}\n chargeType: POSTPAID_BY_HOUR\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n engineVersion: '10.4'\n rootUser: root123\n rootPassword: Root123$\n charset: UTF8\n projectId: 0\n memory: 2\n storage: 10\n tags:\n test: tf\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a multi available zone bucket\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst config = new pulumi.Config();\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-6\";\nconst standbyAvailabilityZone = config.get(\"standbyAvailabilityZone\") || \"ap-guangzhou-7\";\n// create vpc\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\n// create vpc subnet\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n availabilityZone: availabilityZone,\n vpcId: vpc.id,\n cidrBlock: \"10.0.20.0/28\",\n isMulticast: false,\n});\n// create postgresql\nconst foo = new tencentcloud.postgresql.Instance(\"foo\", {\n availabilityZone: availabilityZone,\n chargeType: \"POSTPAID_BY_HOUR\",\n vpcId: vpc.id,\n subnetId: subnet.id,\n engineVersion: \"10.4\",\n rootUser: \"root123\",\n rootPassword: \"Root123$\",\n charset: \"UTF8\",\n projectId: 0,\n memory: 2,\n cpu: 1,\n storage: 10,\n dbNodeSets: [\n {\n role: \"Primary\",\n zone: availabilityZone,\n },\n {\n zone: standbyAvailabilityZone,\n },\n ],\n tags: {\n test: \"tf\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\navailability_zone = config.get(\"availabilityZone\")\nif availability_zone is None:\n availability_zone = \"ap-guangzhou-6\"\nstandby_availability_zone = config.get(\"standbyAvailabilityZone\")\nif standby_availability_zone is None:\n standby_availability_zone = \"ap-guangzhou-7\"\n# create vpc\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\n# create vpc subnet\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n availability_zone=availability_zone,\n vpc_id=vpc.id,\n cidr_block=\"10.0.20.0/28\",\n is_multicast=False)\n# create postgresql\nfoo = tencentcloud.postgresql.Instance(\"foo\",\n availability_zone=availability_zone,\n charge_type=\"POSTPAID_BY_HOUR\",\n vpc_id=vpc.id,\n subnet_id=subnet.id,\n engine_version=\"10.4\",\n root_user=\"root123\",\n root_password=\"Root123$\",\n charset=\"UTF8\",\n project_id=0,\n memory=2,\n cpu=1,\n storage=10,\n db_node_sets=[\n tencentcloud.postgresql.InstanceDbNodeSetArgs(\n role=\"Primary\",\n zone=availability_zone,\n ),\n tencentcloud.postgresql.InstanceDbNodeSetArgs(\n zone=standby_availability_zone,\n ),\n ],\n tags={\n \"test\": \"tf\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-6\";\n var standbyAvailabilityZone = config.Get(\"standbyAvailabilityZone\") ?? \"ap-guangzhou-7\";\n // create vpc\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n // create vpc subnet\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n AvailabilityZone = availabilityZone,\n VpcId = vpc.Id,\n CidrBlock = \"10.0.20.0/28\",\n IsMulticast = false,\n });\n\n // create postgresql\n var foo = new Tencentcloud.Postgresql.Instance(\"foo\", new()\n {\n AvailabilityZone = availabilityZone,\n ChargeType = \"POSTPAID_BY_HOUR\",\n VpcId = vpc.Id,\n SubnetId = subnet.Id,\n EngineVersion = \"10.4\",\n RootUser = \"root123\",\n RootPassword = \"Root123$\",\n Charset = \"UTF8\",\n ProjectId = 0,\n Memory = 2,\n Cpu = 1,\n Storage = 10,\n DbNodeSets = new[]\n {\n new Tencentcloud.Postgresql.Inputs.InstanceDbNodeSetArgs\n {\n Role = \"Primary\",\n Zone = availabilityZone,\n },\n new Tencentcloud.Postgresql.Inputs.InstanceDbNodeSetArgs\n {\n Zone = standbyAvailabilityZone,\n },\n },\n Tags = \n {\n { \"test\", \"tf\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Postgresql\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tavailabilityZone := \"ap-guangzhou-6\"\n\t\tif param := cfg.Get(\"availabilityZone\"); param != \"\" {\n\t\t\tavailabilityZone = param\n\t\t}\n\t\tstandbyAvailabilityZone := \"ap-guangzhou-7\"\n\t\tif param := cfg.Get(\"standbyAvailabilityZone\"); param != \"\" {\n\t\t\tstandbyAvailabilityZone = param\n\t\t}\n\t\t// create vpc\n\t\tvpc, err := Vpc.NewInstance(ctx, \"vpc\", \u0026Vpc.InstanceArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create vpc subnet\n\t\tsubnet, err := Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.20.0/28\"),\n\t\t\tIsMulticast: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create postgresql\n\t\t_, err = Postgresql.NewInstance(ctx, \"foo\", \u0026Postgresql.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\tChargeType: pulumi.String(\"POSTPAID_BY_HOUR\"),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetId: subnet.ID(),\n\t\t\tEngineVersion: pulumi.String(\"10.4\"),\n\t\t\tRootUser: pulumi.String(\"root123\"),\n\t\t\tRootPassword: pulumi.String(\"Root123$\"),\n\t\t\tCharset: pulumi.String(\"UTF8\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tMemory: pulumi.Int(2),\n\t\t\tCpu: pulumi.Int(1),\n\t\t\tStorage: pulumi.Int(10),\n\t\t\tDbNodeSets: postgresql.InstanceDbNodeSetArray{\n\t\t\t\t\u0026postgresql.InstanceDbNodeSetArgs{\n\t\t\t\t\tRole: pulumi.String(\"Primary\"),\n\t\t\t\t\tZone: pulumi.String(availabilityZone),\n\t\t\t\t},\n\t\t\t\t\u0026postgresql.InstanceDbNodeSetArgs{\n\t\t\t\t\tZone: pulumi.String(standbyAvailabilityZone),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"test\": pulumi.Any(\"tf\"),\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.tencentcloud.Vpc.Instance;\nimport com.pulumi.tencentcloud.Vpc.InstanceArgs;\nimport com.pulumi.tencentcloud.Subnet.Instance;\nimport com.pulumi.tencentcloud.Subnet.InstanceArgs;\nimport com.pulumi.tencentcloud.Postgresql.Instance;\nimport com.pulumi.tencentcloud.Postgresql.InstanceArgs;\nimport com.pulumi.tencentcloud.Postgresql.inputs.InstanceDbNodeSetArgs;\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(\"ap-guangzhou-6\");\n final var standbyAvailabilityZone = config.get(\"standbyAvailabilityZone\").orElse(\"ap-guangzhou-7\");\n // create vpc\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n // create vpc subnet\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .availabilityZone(availabilityZone)\n .vpcId(vpc.id())\n .cidrBlock(\"10.0.20.0/28\")\n .isMulticast(false)\n .build());\n\n // create postgresql\n var foo = new Instance(\"foo\", InstanceArgs.builder() \n .availabilityZone(availabilityZone)\n .chargeType(\"POSTPAID_BY_HOUR\")\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .engineVersion(\"10.4\")\n .rootUser(\"root123\")\n .rootPassword(\"Root123$\")\n .charset(\"UTF8\")\n .projectId(0)\n .memory(2)\n .cpu(1)\n .storage(10)\n .dbNodeSets( \n InstanceDbNodeSetArgs.builder()\n .role(\"Primary\")\n .zone(availabilityZone)\n .build(),\n InstanceDbNodeSetArgs.builder()\n .zone(standbyAvailabilityZone)\n .build())\n .tags(Map.of(\"test\", \"tf\"))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-6\n standbyAvailabilityZone:\n type: string\n default: ap-guangzhou-7\nresources:\n # create vpc\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n # create vpc subnet\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n availabilityZone: ${availabilityZone}\n vpcId: ${vpc.id}\n cidrBlock: 10.0.20.0/28\n isMulticast: false\n # create postgresql\n foo:\n type: tencentcloud:Postgresql:Instance\n properties:\n availabilityZone: ${availabilityZone}\n chargeType: POSTPAID_BY_HOUR\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n engineVersion: '10.4'\n rootUser: root123\n rootPassword: Root123$\n charset: UTF8\n projectId: 0\n memory: 2\n cpu: 1\n storage: 10\n dbNodeSets:\n - role: Primary\n zone: ${availabilityZone}\n - zone: ${standbyAvailabilityZone}\n tags:\n test: tf\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### create pgsql with kms key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst pg = new tencentcloud.postgresql.Instance(\"pg\", {\n availabilityZone: \"ap-guangzhou-6\",\n backupPlan: {\n backupPeriods: [\n \"tuesday\",\n \"wednesday\",\n ],\n baseBackupRetentionPeriod: 7,\n maxBackupStartTime: \"01:10:11\",\n minBackupStartTime: \"00:10:11\",\n },\n chargeType: \"POSTPAID_BY_HOUR\",\n charset: \"LATIN1\",\n dbKernelVersion: \"v11.12_r1.3\",\n engineVersion: \"11.12\",\n kmsKeyId: \"788c606a-c7b7-11ec-82d1-5254001e5c4e\",\n kmsRegion: \"ap-guangzhou\",\n memory: 4,\n needSupportTde: 1,\n projectId: 0,\n rootPassword: \"xxxxxxxxxx\",\n storage: 100,\n subnetId: \"subnet-enm92y0m\",\n tags: {\n tf: \"test\",\n },\n vpcId: \"vpc-86v957zb\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\npg = tencentcloud.postgresql.Instance(\"pg\",\n availability_zone=\"ap-guangzhou-6\",\n backup_plan=tencentcloud.postgresql.InstanceBackupPlanArgs(\n backup_periods=[\n \"tuesday\",\n \"wednesday\",\n ],\n base_backup_retention_period=7,\n max_backup_start_time=\"01:10:11\",\n min_backup_start_time=\"00:10:11\",\n ),\n charge_type=\"POSTPAID_BY_HOUR\",\n charset=\"LATIN1\",\n db_kernel_version=\"v11.12_r1.3\",\n engine_version=\"11.12\",\n kms_key_id=\"788c606a-c7b7-11ec-82d1-5254001e5c4e\",\n kms_region=\"ap-guangzhou\",\n memory=4,\n need_support_tde=1,\n project_id=0,\n root_password=\"xxxxxxxxxx\",\n storage=100,\n subnet_id=\"subnet-enm92y0m\",\n tags={\n \"tf\": \"test\",\n },\n vpc_id=\"vpc-86v957zb\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pg = new Tencentcloud.Postgresql.Instance(\"pg\", new()\n {\n AvailabilityZone = \"ap-guangzhou-6\",\n BackupPlan = new Tencentcloud.Postgresql.Inputs.InstanceBackupPlanArgs\n {\n BackupPeriods = new[]\n {\n \"tuesday\",\n \"wednesday\",\n },\n BaseBackupRetentionPeriod = 7,\n MaxBackupStartTime = \"01:10:11\",\n MinBackupStartTime = \"00:10:11\",\n },\n ChargeType = \"POSTPAID_BY_HOUR\",\n Charset = \"LATIN1\",\n DbKernelVersion = \"v11.12_r1.3\",\n EngineVersion = \"11.12\",\n KmsKeyId = \"788c606a-c7b7-11ec-82d1-5254001e5c4e\",\n KmsRegion = \"ap-guangzhou\",\n Memory = 4,\n NeedSupportTde = 1,\n ProjectId = 0,\n RootPassword = \"xxxxxxxxxx\",\n Storage = 100,\n SubnetId = \"subnet-enm92y0m\",\n Tags = \n {\n { \"tf\", \"test\" },\n },\n VpcId = \"vpc-86v957zb\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Postgresql\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Postgresql.NewInstance(ctx, \"pg\", \u0026Postgresql.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(\"ap-guangzhou-6\"),\n\t\t\tBackupPlan: \u0026postgresql.InstanceBackupPlanArgs{\n\t\t\t\tBackupPeriods: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"tuesday\"),\n\t\t\t\t\tpulumi.String(\"wednesday\"),\n\t\t\t\t},\n\t\t\t\tBaseBackupRetentionPeriod: pulumi.Int(7),\n\t\t\t\tMaxBackupStartTime: pulumi.String(\"01:10:11\"),\n\t\t\t\tMinBackupStartTime: pulumi.String(\"00:10:11\"),\n\t\t\t},\n\t\t\tChargeType: pulumi.String(\"POSTPAID_BY_HOUR\"),\n\t\t\tCharset: pulumi.String(\"LATIN1\"),\n\t\t\tDbKernelVersion: pulumi.String(\"v11.12_r1.3\"),\n\t\t\tEngineVersion: pulumi.String(\"11.12\"),\n\t\t\tKmsKeyId: pulumi.String(\"788c606a-c7b7-11ec-82d1-5254001e5c4e\"),\n\t\t\tKmsRegion: pulumi.String(\"ap-guangzhou\"),\n\t\t\tMemory: pulumi.Int(4),\n\t\t\tNeedSupportTde: pulumi.Int(1),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tRootPassword: pulumi.String(\"xxxxxxxxxx\"),\n\t\t\tStorage: pulumi.Int(100),\n\t\t\tSubnetId: pulumi.String(\"subnet-enm92y0m\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"tf\": pulumi.Any(\"test\"),\n\t\t\t},\n\t\t\tVpcId: pulumi.String(\"vpc-86v957zb\"),\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.tencentcloud.Postgresql.Instance;\nimport com.pulumi.tencentcloud.Postgresql.InstanceArgs;\nimport com.pulumi.tencentcloud.Postgresql.inputs.InstanceBackupPlanArgs;\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 pg = new Instance(\"pg\", InstanceArgs.builder() \n .availabilityZone(\"ap-guangzhou-6\")\n .backupPlan(InstanceBackupPlanArgs.builder()\n .backupPeriods( \n \"tuesday\",\n \"wednesday\")\n .baseBackupRetentionPeriod(7)\n .maxBackupStartTime(\"01:10:11\")\n .minBackupStartTime(\"00:10:11\")\n .build())\n .chargeType(\"POSTPAID_BY_HOUR\")\n .charset(\"LATIN1\")\n .dbKernelVersion(\"v11.12_r1.3\")\n .engineVersion(\"11.12\")\n .kmsKeyId(\"788c606a-c7b7-11ec-82d1-5254001e5c4e\")\n .kmsRegion(\"ap-guangzhou\")\n .memory(4)\n .needSupportTde(1)\n .projectId(0)\n .rootPassword(\"xxxxxxxxxx\")\n .storage(100)\n .subnetId(\"subnet-enm92y0m\")\n .tags(Map.of(\"tf\", \"test\"))\n .vpcId(\"vpc-86v957zb\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pg:\n type: tencentcloud:Postgresql:Instance\n properties:\n availabilityZone: ap-guangzhou-6\n backupPlan:\n backupPeriods:\n - tuesday\n - wednesday\n baseBackupRetentionPeriod: 7\n maxBackupStartTime: 01:10:11\n minBackupStartTime: 00:10:11\n chargeType: POSTPAID_BY_HOUR\n charset: LATIN1\n # db_major_vesion = \"11\"\n dbKernelVersion: v11.12_r1.3\n engineVersion: '11.12'\n kmsKeyId: 788c606a-c7b7-11ec-82d1-5254001e5c4e\n kmsRegion: ap-guangzhou\n memory: 4\n needSupportTde: 1\n projectId: 0\n rootPassword: xxxxxxxxxx\n storage: 100\n subnetId: subnet-enm92y0m\n tags:\n tf: test\n vpcId: vpc-86v957zb\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### upgrade kernel version\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst test = new tencentcloud.postgresql.Instance(\"test\", {\n availabilityZone: data.tencentcloud_availability_zones_by_product.zone.zones[5].name,\n chargeType: \"POSTPAID_BY_HOUR\",\n vpcId: local.vpc_id,\n subnetId: local.subnet_id,\n engineVersion: \"13.3\",\n rootPassword: \"*\",\n charset: \"LATIN1\",\n projectId: 0,\n publicAccessSwitch: false,\n securityGroups: [local.sg_id],\n memory: 4,\n storage: 250,\n backupPlan: {\n minBackupStartTime: \"01:10:11\",\n maxBackupStartTime: \"02:10:11\",\n baseBackupRetentionPeriod: 5,\n backupPeriods: [\n \"monday\",\n \"thursday\",\n \"sunday\",\n ],\n },\n dbKernelVersion: \"v13.3_r1.4\",\n tags: {\n tf: \"teest\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\ntest = tencentcloud.postgresql.Instance(\"test\",\n availability_zone=data[\"tencentcloud_availability_zones_by_product\"][\"zone\"][\"zones\"][5][\"name\"],\n charge_type=\"POSTPAID_BY_HOUR\",\n vpc_id=local[\"vpc_id\"],\n subnet_id=local[\"subnet_id\"],\n engine_version=\"13.3\",\n root_password=\"*\",\n charset=\"LATIN1\",\n project_id=0,\n public_access_switch=False,\n security_groups=[local[\"sg_id\"]],\n memory=4,\n storage=250,\n backup_plan=tencentcloud.postgresql.InstanceBackupPlanArgs(\n min_backup_start_time=\"01:10:11\",\n max_backup_start_time=\"02:10:11\",\n base_backup_retention_period=5,\n backup_periods=[\n \"monday\",\n \"thursday\",\n \"sunday\",\n ],\n ),\n db_kernel_version=\"v13.3_r1.4\",\n tags={\n \"tf\": \"teest\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Tencentcloud.Postgresql.Instance(\"test\", new()\n {\n AvailabilityZone = data.Tencentcloud_availability_zones_by_product.Zone.Zones[5].Name,\n ChargeType = \"POSTPAID_BY_HOUR\",\n VpcId = local.Vpc_id,\n SubnetId = local.Subnet_id,\n EngineVersion = \"13.3\",\n RootPassword = \"*\",\n Charset = \"LATIN1\",\n ProjectId = 0,\n PublicAccessSwitch = false,\n SecurityGroups = new[]\n {\n local.Sg_id,\n },\n Memory = 4,\n Storage = 250,\n BackupPlan = new Tencentcloud.Postgresql.Inputs.InstanceBackupPlanArgs\n {\n MinBackupStartTime = \"01:10:11\",\n MaxBackupStartTime = \"02:10:11\",\n BaseBackupRetentionPeriod = 5,\n BackupPeriods = new[]\n {\n \"monday\",\n \"thursday\",\n \"sunday\",\n },\n },\n DbKernelVersion = \"v13.3_r1.4\",\n Tags = \n {\n { \"tf\", \"teest\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Postgresql\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Postgresql.NewInstance(ctx, \"test\", \u0026Postgresql.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.Any(data.Tencentcloud_availability_zones_by_product.Zone.Zones[5].Name),\n\t\t\tChargeType: pulumi.String(\"POSTPAID_BY_HOUR\"),\n\t\t\tVpcId: pulumi.Any(local.Vpc_id),\n\t\t\tSubnetId: pulumi.Any(local.Subnet_id),\n\t\t\tEngineVersion: pulumi.String(\"13.3\"),\n\t\t\tRootPassword: pulumi.String(\"*\"),\n\t\t\tCharset: pulumi.String(\"LATIN1\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tPublicAccessSwitch: pulumi.Bool(false),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tlocal.Sg_id,\n\t\t\t},\n\t\t\tMemory: pulumi.Int(4),\n\t\t\tStorage: pulumi.Int(250),\n\t\t\tBackupPlan: \u0026postgresql.InstanceBackupPlanArgs{\n\t\t\t\tMinBackupStartTime: pulumi.String(\"01:10:11\"),\n\t\t\t\tMaxBackupStartTime: pulumi.String(\"02:10:11\"),\n\t\t\t\tBaseBackupRetentionPeriod: pulumi.Int(5),\n\t\t\t\tBackupPeriods: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"monday\"),\n\t\t\t\t\tpulumi.String(\"thursday\"),\n\t\t\t\t\tpulumi.String(\"sunday\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDbKernelVersion: pulumi.String(\"v13.3_r1.4\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"tf\": pulumi.Any(\"teest\"),\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.tencentcloud.Postgresql.Instance;\nimport com.pulumi.tencentcloud.Postgresql.InstanceArgs;\nimport com.pulumi.tencentcloud.Postgresql.inputs.InstanceBackupPlanArgs;\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 test = new Instance(\"test\", InstanceArgs.builder() \n .availabilityZone(data.tencentcloud_availability_zones_by_product().zone().zones()[5].name())\n .chargeType(\"POSTPAID_BY_HOUR\")\n .vpcId(local.vpc_id())\n .subnetId(local.subnet_id())\n .engineVersion(\"13.3\")\n .rootPassword(\"*\")\n .charset(\"LATIN1\")\n .projectId(0)\n .publicAccessSwitch(false)\n .securityGroups(local.sg_id())\n .memory(4)\n .storage(250)\n .backupPlan(InstanceBackupPlanArgs.builder()\n .minBackupStartTime(\"01:10:11\")\n .maxBackupStartTime(\"02:10:11\")\n .baseBackupRetentionPeriod(5)\n .backupPeriods( \n \"monday\",\n \"thursday\",\n \"sunday\")\n .build())\n .dbKernelVersion(\"v13.3_r1.4\")\n .tags(Map.of(\"tf\", \"teest\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: tencentcloud:Postgresql:Instance\n properties:\n availabilityZone: ${data.tencentcloud_availability_zones_by_product.zone.zones[5].name}\n chargeType: POSTPAID_BY_HOUR\n vpcId: ${local.vpc_id}\n subnetId: ${local.subnet_id}\n engineVersion: '13.3'\n rootPassword: '*'\n charset: LATIN1\n projectId: 0\n publicAccessSwitch: false\n securityGroups:\n - ${local.sg_id}\n memory: 4\n storage: 250\n backupPlan:\n minBackupStartTime: 01:10:11\n maxBackupStartTime: 02:10:11\n baseBackupRetentionPeriod: 5\n backupPeriods:\n - monday\n - thursday\n - sunday\n dbKernelVersion: v13.3_r1.4 # eg:from v13.3_r1.1 to v13.3_r1.4\n tags:\n tf: teest\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\npostgresql instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Postgresql/instance:Instance foo postgres-cda1iex1\n```\n", + "description": "Use this resource to create postgresql instance.\n\n\u003e **Note:** To update the charge type, please update the `charge_type` and specify the `period` for the charging period. It only supports updating from `POSTPAID_BY_HOUR` to `PREPAID`, and the `period` field only valid in that upgrading case.\n\u003e **Note:** If no values are set for the two parameters: `db_major_version` and `engine_version`, then `engine_version` is set to `10.4` by default. Suggest using parameter `db_major_version` to create an instance\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst config = new pulumi.Config();\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-3\";\n// create vpc\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\n// create vpc subnet\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n availabilityZone: availabilityZone,\n vpcId: vpc.id,\n cidrBlock: \"10.0.20.0/28\",\n isMulticast: false,\n});\n// create postgresql\nconst example = new tencentcloud.postgresql.Instance(\"example\", {\n availabilityZone: availabilityZone,\n chargeType: \"POSTPAID_BY_HOUR\",\n vpcId: vpc.id,\n subnetId: subnet.id,\n dbMajorVersion: \"10\",\n engineVersion: \"10.23\",\n rootUser: \"root123\",\n rootPassword: \"Root123$\",\n charset: \"UTF8\",\n projectId: 0,\n cpu: 1,\n memory: 2,\n storage: 10,\n tags: {\n test: \"tf\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\navailability_zone = config.get(\"availabilityZone\")\nif availability_zone is None:\n availability_zone = \"ap-guangzhou-3\"\n# create vpc\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\n# create vpc subnet\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n availability_zone=availability_zone,\n vpc_id=vpc.id,\n cidr_block=\"10.0.20.0/28\",\n is_multicast=False)\n# create postgresql\nexample = tencentcloud.postgresql.Instance(\"example\",\n availability_zone=availability_zone,\n charge_type=\"POSTPAID_BY_HOUR\",\n vpc_id=vpc.id,\n subnet_id=subnet.id,\n db_major_version=\"10\",\n engine_version=\"10.23\",\n root_user=\"root123\",\n root_password=\"Root123$\",\n charset=\"UTF8\",\n project_id=0,\n cpu=1,\n memory=2,\n storage=10,\n tags={\n \"test\": \"tf\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-3\";\n // create vpc\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n // create vpc subnet\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n AvailabilityZone = availabilityZone,\n VpcId = vpc.Id,\n CidrBlock = \"10.0.20.0/28\",\n IsMulticast = false,\n });\n\n // create postgresql\n var example = new Tencentcloud.Postgresql.Instance(\"example\", new()\n {\n AvailabilityZone = availabilityZone,\n ChargeType = \"POSTPAID_BY_HOUR\",\n VpcId = vpc.Id,\n SubnetId = subnet.Id,\n DbMajorVersion = \"10\",\n EngineVersion = \"10.23\",\n RootUser = \"root123\",\n RootPassword = \"Root123$\",\n Charset = \"UTF8\",\n ProjectId = 0,\n Cpu = 1,\n Memory = 2,\n Storage = 10,\n Tags = \n {\n { \"test\", \"tf\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Postgresql\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tavailabilityZone := \"ap-guangzhou-3\"\n\t\tif param := cfg.Get(\"availabilityZone\"); param != \"\" {\n\t\t\tavailabilityZone = param\n\t\t}\n\t\t// create vpc\n\t\tvpc, err := Vpc.NewInstance(ctx, \"vpc\", \u0026Vpc.InstanceArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create vpc subnet\n\t\tsubnet, err := Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.20.0/28\"),\n\t\t\tIsMulticast: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create postgresql\n\t\t_, err = Postgresql.NewInstance(ctx, \"example\", \u0026Postgresql.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\tChargeType: pulumi.String(\"POSTPAID_BY_HOUR\"),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetId: subnet.ID(),\n\t\t\tDbMajorVersion: pulumi.String(\"10\"),\n\t\t\tEngineVersion: pulumi.String(\"10.23\"),\n\t\t\tRootUser: pulumi.String(\"root123\"),\n\t\t\tRootPassword: pulumi.String(\"Root123$\"),\n\t\t\tCharset: pulumi.String(\"UTF8\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tCpu: pulumi.Int(1),\n\t\t\tMemory: pulumi.Int(2),\n\t\t\tStorage: pulumi.Int(10),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"test\": pulumi.Any(\"tf\"),\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.tencentcloud.Vpc.Instance;\nimport com.pulumi.tencentcloud.Vpc.InstanceArgs;\nimport com.pulumi.tencentcloud.Subnet.Instance;\nimport com.pulumi.tencentcloud.Subnet.InstanceArgs;\nimport com.pulumi.tencentcloud.Postgresql.Instance;\nimport com.pulumi.tencentcloud.Postgresql.InstanceArgs;\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(\"ap-guangzhou-3\");\n // create vpc\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n // create vpc subnet\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .availabilityZone(availabilityZone)\n .vpcId(vpc.id())\n .cidrBlock(\"10.0.20.0/28\")\n .isMulticast(false)\n .build());\n\n // create postgresql\n var example = new Instance(\"example\", InstanceArgs.builder() \n .availabilityZone(availabilityZone)\n .chargeType(\"POSTPAID_BY_HOUR\")\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .dbMajorVersion(\"10\")\n .engineVersion(\"10.23\")\n .rootUser(\"root123\")\n .rootPassword(\"Root123$\")\n .charset(\"UTF8\")\n .projectId(0)\n .cpu(1)\n .memory(2)\n .storage(10)\n .tags(Map.of(\"test\", \"tf\"))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-3\nresources:\n # create vpc\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n # create vpc subnet\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n availabilityZone: ${availabilityZone}\n vpcId: ${vpc.id}\n cidrBlock: 10.0.20.0/28\n isMulticast: false\n # create postgresql\n example:\n type: tencentcloud:Postgresql:Instance\n properties:\n availabilityZone: ${availabilityZone}\n chargeType: POSTPAID_BY_HOUR\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n dbMajorVersion: '10'\n engineVersion: '10.23'\n rootUser: root123\n rootPassword: Root123$\n charset: UTF8\n projectId: 0\n cpu: 1\n memory: 2\n storage: 10\n tags:\n test: tf\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a multi available zone bucket\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst config = new pulumi.Config();\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-6\";\nconst standbyAvailabilityZone = config.get(\"standbyAvailabilityZone\") || \"ap-guangzhou-7\";\n// create vpc\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\n// create vpc subnet\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n availabilityZone: availabilityZone,\n vpcId: vpc.id,\n cidrBlock: \"10.0.20.0/28\",\n isMulticast: false,\n});\n// create postgresql\nconst example = new tencentcloud.postgresql.Instance(\"example\", {\n availabilityZone: availabilityZone,\n chargeType: \"POSTPAID_BY_HOUR\",\n vpcId: vpc.id,\n subnetId: subnet.id,\n dbMajorVersion: \"10\",\n rootUser: \"root123\",\n rootPassword: \"Root123$\",\n charset: \"UTF8\",\n projectId: 0,\n memory: 2,\n cpu: 1,\n storage: 10,\n dbNodeSets: [\n {\n role: \"Primary\",\n zone: availabilityZone,\n },\n {\n zone: standbyAvailabilityZone,\n },\n ],\n tags: {\n test: \"tf\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\navailability_zone = config.get(\"availabilityZone\")\nif availability_zone is None:\n availability_zone = \"ap-guangzhou-6\"\nstandby_availability_zone = config.get(\"standbyAvailabilityZone\")\nif standby_availability_zone is None:\n standby_availability_zone = \"ap-guangzhou-7\"\n# create vpc\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\n# create vpc subnet\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n availability_zone=availability_zone,\n vpc_id=vpc.id,\n cidr_block=\"10.0.20.0/28\",\n is_multicast=False)\n# create postgresql\nexample = tencentcloud.postgresql.Instance(\"example\",\n availability_zone=availability_zone,\n charge_type=\"POSTPAID_BY_HOUR\",\n vpc_id=vpc.id,\n subnet_id=subnet.id,\n db_major_version=\"10\",\n root_user=\"root123\",\n root_password=\"Root123$\",\n charset=\"UTF8\",\n project_id=0,\n memory=2,\n cpu=1,\n storage=10,\n db_node_sets=[\n tencentcloud.postgresql.InstanceDbNodeSetArgs(\n role=\"Primary\",\n zone=availability_zone,\n ),\n tencentcloud.postgresql.InstanceDbNodeSetArgs(\n zone=standby_availability_zone,\n ),\n ],\n tags={\n \"test\": \"tf\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-6\";\n var standbyAvailabilityZone = config.Get(\"standbyAvailabilityZone\") ?? \"ap-guangzhou-7\";\n // create vpc\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n // create vpc subnet\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n AvailabilityZone = availabilityZone,\n VpcId = vpc.Id,\n CidrBlock = \"10.0.20.0/28\",\n IsMulticast = false,\n });\n\n // create postgresql\n var example = new Tencentcloud.Postgresql.Instance(\"example\", new()\n {\n AvailabilityZone = availabilityZone,\n ChargeType = \"POSTPAID_BY_HOUR\",\n VpcId = vpc.Id,\n SubnetId = subnet.Id,\n DbMajorVersion = \"10\",\n RootUser = \"root123\",\n RootPassword = \"Root123$\",\n Charset = \"UTF8\",\n ProjectId = 0,\n Memory = 2,\n Cpu = 1,\n Storage = 10,\n DbNodeSets = new[]\n {\n new Tencentcloud.Postgresql.Inputs.InstanceDbNodeSetArgs\n {\n Role = \"Primary\",\n Zone = availabilityZone,\n },\n new Tencentcloud.Postgresql.Inputs.InstanceDbNodeSetArgs\n {\n Zone = standbyAvailabilityZone,\n },\n },\n Tags = \n {\n { \"test\", \"tf\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Postgresql\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tavailabilityZone := \"ap-guangzhou-6\"\n\t\tif param := cfg.Get(\"availabilityZone\"); param != \"\" {\n\t\t\tavailabilityZone = param\n\t\t}\n\t\tstandbyAvailabilityZone := \"ap-guangzhou-7\"\n\t\tif param := cfg.Get(\"standbyAvailabilityZone\"); param != \"\" {\n\t\t\tstandbyAvailabilityZone = param\n\t\t}\n\t\t// create vpc\n\t\tvpc, err := Vpc.NewInstance(ctx, \"vpc\", \u0026Vpc.InstanceArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create vpc subnet\n\t\tsubnet, err := Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tCidrBlock: pulumi.String(\"10.0.20.0/28\"),\n\t\t\tIsMulticast: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create postgresql\n\t\t_, err = Postgresql.NewInstance(ctx, \"example\", \u0026Postgresql.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\tChargeType: pulumi.String(\"POSTPAID_BY_HOUR\"),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetId: subnet.ID(),\n\t\t\tDbMajorVersion: pulumi.String(\"10\"),\n\t\t\tRootUser: pulumi.String(\"root123\"),\n\t\t\tRootPassword: pulumi.String(\"Root123$\"),\n\t\t\tCharset: pulumi.String(\"UTF8\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tMemory: pulumi.Int(2),\n\t\t\tCpu: pulumi.Int(1),\n\t\t\tStorage: pulumi.Int(10),\n\t\t\tDbNodeSets: postgresql.InstanceDbNodeSetArray{\n\t\t\t\t\u0026postgresql.InstanceDbNodeSetArgs{\n\t\t\t\t\tRole: pulumi.String(\"Primary\"),\n\t\t\t\t\tZone: pulumi.String(availabilityZone),\n\t\t\t\t},\n\t\t\t\t\u0026postgresql.InstanceDbNodeSetArgs{\n\t\t\t\t\tZone: pulumi.String(standbyAvailabilityZone),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"test\": pulumi.Any(\"tf\"),\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.tencentcloud.Vpc.Instance;\nimport com.pulumi.tencentcloud.Vpc.InstanceArgs;\nimport com.pulumi.tencentcloud.Subnet.Instance;\nimport com.pulumi.tencentcloud.Subnet.InstanceArgs;\nimport com.pulumi.tencentcloud.Postgresql.Instance;\nimport com.pulumi.tencentcloud.Postgresql.InstanceArgs;\nimport com.pulumi.tencentcloud.Postgresql.inputs.InstanceDbNodeSetArgs;\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(\"ap-guangzhou-6\");\n final var standbyAvailabilityZone = config.get(\"standbyAvailabilityZone\").orElse(\"ap-guangzhou-7\");\n // create vpc\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n // create vpc subnet\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .availabilityZone(availabilityZone)\n .vpcId(vpc.id())\n .cidrBlock(\"10.0.20.0/28\")\n .isMulticast(false)\n .build());\n\n // create postgresql\n var example = new Instance(\"example\", InstanceArgs.builder() \n .availabilityZone(availabilityZone)\n .chargeType(\"POSTPAID_BY_HOUR\")\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .dbMajorVersion(\"10\")\n .rootUser(\"root123\")\n .rootPassword(\"Root123$\")\n .charset(\"UTF8\")\n .projectId(0)\n .memory(2)\n .cpu(1)\n .storage(10)\n .dbNodeSets( \n InstanceDbNodeSetArgs.builder()\n .role(\"Primary\")\n .zone(availabilityZone)\n .build(),\n InstanceDbNodeSetArgs.builder()\n .zone(standbyAvailabilityZone)\n .build())\n .tags(Map.of(\"test\", \"tf\"))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-6\n standbyAvailabilityZone:\n type: string\n default: ap-guangzhou-7\nresources:\n # create vpc\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n # create vpc subnet\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n availabilityZone: ${availabilityZone}\n vpcId: ${vpc.id}\n cidrBlock: 10.0.20.0/28\n isMulticast: false\n # create postgresql\n example:\n type: tencentcloud:Postgresql:Instance\n properties:\n availabilityZone: ${availabilityZone}\n chargeType: POSTPAID_BY_HOUR\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n dbMajorVersion: '10'\n rootUser: root123\n rootPassword: Root123$\n charset: UTF8\n projectId: 0\n memory: 2\n cpu: 1\n storage: 10\n dbNodeSets:\n - role: Primary\n zone: ${availabilityZone}\n - zone: ${standbyAvailabilityZone}\n tags:\n test: tf\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### create pgsql with kms key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst config = new pulumi.Config();\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-6\";\nconst example = new tencentcloud.postgresql.Instance(\"example\", {\n availabilityZone: availabilityZone,\n chargeType: \"POSTPAID_BY_HOUR\",\n vpcId: \"vpc-86v957zb\",\n subnetId: \"subnet-enm92y0m\",\n dbMajorVersion: \"11\",\n engineVersion: \"11.12\",\n dbKernelVersion: \"v11.12_r1.3\",\n needSupportTde: 1,\n kmsKeyId: \"788c606a-c7b7-11ec-82d1-5254001e5c4e\",\n kmsRegion: \"ap-guangzhou\",\n rootPassword: \"Root123$\",\n charset: \"LATIN1\",\n projectId: 0,\n memory: 4,\n storage: 100,\n backupPlan: {\n minBackupStartTime: \"00:10:11\",\n maxBackupStartTime: \"01:10:11\",\n baseBackupRetentionPeriod: 7,\n backupPeriods: [\n \"tuesday\",\n \"wednesday\",\n ],\n },\n tags: {\n tf: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\navailability_zone = config.get(\"availabilityZone\")\nif availability_zone is None:\n availability_zone = \"ap-guangzhou-6\"\nexample = tencentcloud.postgresql.Instance(\"example\",\n availability_zone=availability_zone,\n charge_type=\"POSTPAID_BY_HOUR\",\n vpc_id=\"vpc-86v957zb\",\n subnet_id=\"subnet-enm92y0m\",\n db_major_version=\"11\",\n engine_version=\"11.12\",\n db_kernel_version=\"v11.12_r1.3\",\n need_support_tde=1,\n kms_key_id=\"788c606a-c7b7-11ec-82d1-5254001e5c4e\",\n kms_region=\"ap-guangzhou\",\n root_password=\"Root123$\",\n charset=\"LATIN1\",\n project_id=0,\n memory=4,\n storage=100,\n backup_plan=tencentcloud.postgresql.InstanceBackupPlanArgs(\n min_backup_start_time=\"00:10:11\",\n max_backup_start_time=\"01:10:11\",\n base_backup_retention_period=7,\n backup_periods=[\n \"tuesday\",\n \"wednesday\",\n ],\n ),\n tags={\n \"tf\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-6\";\n var example = new Tencentcloud.Postgresql.Instance(\"example\", new()\n {\n AvailabilityZone = availabilityZone,\n ChargeType = \"POSTPAID_BY_HOUR\",\n VpcId = \"vpc-86v957zb\",\n SubnetId = \"subnet-enm92y0m\",\n DbMajorVersion = \"11\",\n EngineVersion = \"11.12\",\n DbKernelVersion = \"v11.12_r1.3\",\n NeedSupportTde = 1,\n KmsKeyId = \"788c606a-c7b7-11ec-82d1-5254001e5c4e\",\n KmsRegion = \"ap-guangzhou\",\n RootPassword = \"Root123$\",\n Charset = \"LATIN1\",\n ProjectId = 0,\n Memory = 4,\n Storage = 100,\n BackupPlan = new Tencentcloud.Postgresql.Inputs.InstanceBackupPlanArgs\n {\n MinBackupStartTime = \"00:10:11\",\n MaxBackupStartTime = \"01:10:11\",\n BaseBackupRetentionPeriod = 7,\n BackupPeriods = new[]\n {\n \"tuesday\",\n \"wednesday\",\n },\n },\n Tags = \n {\n { \"tf\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Postgresql\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tavailabilityZone := \"ap-guangzhou-6\"\n\t\tif param := cfg.Get(\"availabilityZone\"); param != \"\" {\n\t\t\tavailabilityZone = param\n\t\t}\n\t\t_, err := Postgresql.NewInstance(ctx, \"example\", \u0026Postgresql.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\tChargeType: pulumi.String(\"POSTPAID_BY_HOUR\"),\n\t\t\tVpcId: pulumi.String(\"vpc-86v957zb\"),\n\t\t\tSubnetId: pulumi.String(\"subnet-enm92y0m\"),\n\t\t\tDbMajorVersion: pulumi.String(\"11\"),\n\t\t\tEngineVersion: pulumi.String(\"11.12\"),\n\t\t\tDbKernelVersion: pulumi.String(\"v11.12_r1.3\"),\n\t\t\tNeedSupportTde: pulumi.Int(1),\n\t\t\tKmsKeyId: pulumi.String(\"788c606a-c7b7-11ec-82d1-5254001e5c4e\"),\n\t\t\tKmsRegion: pulumi.String(\"ap-guangzhou\"),\n\t\t\tRootPassword: pulumi.String(\"Root123$\"),\n\t\t\tCharset: pulumi.String(\"LATIN1\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tMemory: pulumi.Int(4),\n\t\t\tStorage: pulumi.Int(100),\n\t\t\tBackupPlan: \u0026postgresql.InstanceBackupPlanArgs{\n\t\t\t\tMinBackupStartTime: pulumi.String(\"00:10:11\"),\n\t\t\t\tMaxBackupStartTime: pulumi.String(\"01:10:11\"),\n\t\t\t\tBaseBackupRetentionPeriod: pulumi.Int(7),\n\t\t\t\tBackupPeriods: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"tuesday\"),\n\t\t\t\t\tpulumi.String(\"wednesday\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"tf\": pulumi.Any(\"test\"),\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.tencentcloud.Postgresql.Instance;\nimport com.pulumi.tencentcloud.Postgresql.InstanceArgs;\nimport com.pulumi.tencentcloud.Postgresql.inputs.InstanceBackupPlanArgs;\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(\"ap-guangzhou-6\");\n var example = new Instance(\"example\", InstanceArgs.builder() \n .availabilityZone(availabilityZone)\n .chargeType(\"POSTPAID_BY_HOUR\")\n .vpcId(\"vpc-86v957zb\")\n .subnetId(\"subnet-enm92y0m\")\n .dbMajorVersion(\"11\")\n .engineVersion(\"11.12\")\n .dbKernelVersion(\"v11.12_r1.3\")\n .needSupportTde(1)\n .kmsKeyId(\"788c606a-c7b7-11ec-82d1-5254001e5c4e\")\n .kmsRegion(\"ap-guangzhou\")\n .rootPassword(\"Root123$\")\n .charset(\"LATIN1\")\n .projectId(0)\n .memory(4)\n .storage(100)\n .backupPlan(InstanceBackupPlanArgs.builder()\n .minBackupStartTime(\"00:10:11\")\n .maxBackupStartTime(\"01:10:11\")\n .baseBackupRetentionPeriod(7)\n .backupPeriods( \n \"tuesday\",\n \"wednesday\")\n .build())\n .tags(Map.of(\"tf\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-6\nresources:\n example:\n type: tencentcloud:Postgresql:Instance\n properties:\n availabilityZone: ${availabilityZone}\n chargeType: POSTPAID_BY_HOUR\n vpcId: vpc-86v957zb\n subnetId: subnet-enm92y0m\n dbMajorVersion: '11'\n engineVersion: '11.12'\n dbKernelVersion: v11.12_r1.3\n needSupportTde: 1\n kmsKeyId: 788c606a-c7b7-11ec-82d1-5254001e5c4e\n kmsRegion: ap-guangzhou\n rootPassword: Root123$\n charset: LATIN1\n projectId: 0\n memory: 4\n storage: 100\n backupPlan:\n minBackupStartTime: 00:10:11\n maxBackupStartTime: 01:10:11\n baseBackupRetentionPeriod: 7\n backupPeriods:\n - tuesday\n - wednesday\n tags:\n tf: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### upgrade kernel version\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst config = new pulumi.Config();\nconst availabilityZone = config.get(\"availabilityZone\") || \"ap-guangzhou-6\";\nconst example = new tencentcloud.postgresql.Instance(\"example\", {\n availabilityZone: availabilityZone,\n chargeType: \"POSTPAID_BY_HOUR\",\n vpcId: \"vpc-86v957zb\",\n subnetId: \"subnet-enm92y0m\",\n engineVersion: \"13.3\",\n rootPassword: \"Root123$\",\n charset: \"LATIN1\",\n projectId: 0,\n publicAccessSwitch: false,\n securityGroups: [\"sg-cm7fbbf3\"],\n memory: 4,\n storage: 250,\n backupPlan: {\n minBackupStartTime: \"01:10:11\",\n maxBackupStartTime: \"02:10:11\",\n baseBackupRetentionPeriod: 5,\n backupPeriods: [\n \"monday\",\n \"thursday\",\n \"sunday\",\n ],\n },\n dbKernelVersion: \"v13.3_r1.4\",\n tags: {\n tf: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nconfig = pulumi.Config()\navailability_zone = config.get(\"availabilityZone\")\nif availability_zone is None:\n availability_zone = \"ap-guangzhou-6\"\nexample = tencentcloud.postgresql.Instance(\"example\",\n availability_zone=availability_zone,\n charge_type=\"POSTPAID_BY_HOUR\",\n vpc_id=\"vpc-86v957zb\",\n subnet_id=\"subnet-enm92y0m\",\n engine_version=\"13.3\",\n root_password=\"Root123$\",\n charset=\"LATIN1\",\n project_id=0,\n public_access_switch=False,\n security_groups=[\"sg-cm7fbbf3\"],\n memory=4,\n storage=250,\n backup_plan=tencentcloud.postgresql.InstanceBackupPlanArgs(\n min_backup_start_time=\"01:10:11\",\n max_backup_start_time=\"02:10:11\",\n base_backup_retention_period=5,\n backup_periods=[\n \"monday\",\n \"thursday\",\n \"sunday\",\n ],\n ),\n db_kernel_version=\"v13.3_r1.4\",\n tags={\n \"tf\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var availabilityZone = config.Get(\"availabilityZone\") ?? \"ap-guangzhou-6\";\n var example = new Tencentcloud.Postgresql.Instance(\"example\", new()\n {\n AvailabilityZone = availabilityZone,\n ChargeType = \"POSTPAID_BY_HOUR\",\n VpcId = \"vpc-86v957zb\",\n SubnetId = \"subnet-enm92y0m\",\n EngineVersion = \"13.3\",\n RootPassword = \"Root123$\",\n Charset = \"LATIN1\",\n ProjectId = 0,\n PublicAccessSwitch = false,\n SecurityGroups = new[]\n {\n \"sg-cm7fbbf3\",\n },\n Memory = 4,\n Storage = 250,\n BackupPlan = new Tencentcloud.Postgresql.Inputs.InstanceBackupPlanArgs\n {\n MinBackupStartTime = \"01:10:11\",\n MaxBackupStartTime = \"02:10:11\",\n BaseBackupRetentionPeriod = 5,\n BackupPeriods = new[]\n {\n \"monday\",\n \"thursday\",\n \"sunday\",\n },\n },\n DbKernelVersion = \"v13.3_r1.4\",\n Tags = \n {\n { \"tf\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Postgresql\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tavailabilityZone := \"ap-guangzhou-6\"\n\t\tif param := cfg.Get(\"availabilityZone\"); param != \"\" {\n\t\t\tavailabilityZone = param\n\t\t}\n\t\t_, err := Postgresql.NewInstance(ctx, \"example\", \u0026Postgresql.InstanceArgs{\n\t\t\tAvailabilityZone: pulumi.String(availabilityZone),\n\t\t\tChargeType: pulumi.String(\"POSTPAID_BY_HOUR\"),\n\t\t\tVpcId: pulumi.String(\"vpc-86v957zb\"),\n\t\t\tSubnetId: pulumi.String(\"subnet-enm92y0m\"),\n\t\t\tEngineVersion: pulumi.String(\"13.3\"),\n\t\t\tRootPassword: pulumi.String(\"Root123$\"),\n\t\t\tCharset: pulumi.String(\"LATIN1\"),\n\t\t\tProjectId: pulumi.Int(0),\n\t\t\tPublicAccessSwitch: pulumi.Bool(false),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sg-cm7fbbf3\"),\n\t\t\t},\n\t\t\tMemory: pulumi.Int(4),\n\t\t\tStorage: pulumi.Int(250),\n\t\t\tBackupPlan: \u0026postgresql.InstanceBackupPlanArgs{\n\t\t\t\tMinBackupStartTime: pulumi.String(\"01:10:11\"),\n\t\t\t\tMaxBackupStartTime: pulumi.String(\"02:10:11\"),\n\t\t\t\tBaseBackupRetentionPeriod: pulumi.Int(5),\n\t\t\t\tBackupPeriods: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"monday\"),\n\t\t\t\t\tpulumi.String(\"thursday\"),\n\t\t\t\t\tpulumi.String(\"sunday\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDbKernelVersion: pulumi.String(\"v13.3_r1.4\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"tf\": pulumi.Any(\"test\"),\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.tencentcloud.Postgresql.Instance;\nimport com.pulumi.tencentcloud.Postgresql.InstanceArgs;\nimport com.pulumi.tencentcloud.Postgresql.inputs.InstanceBackupPlanArgs;\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(\"ap-guangzhou-6\");\n var example = new Instance(\"example\", InstanceArgs.builder() \n .availabilityZone(availabilityZone)\n .chargeType(\"POSTPAID_BY_HOUR\")\n .vpcId(\"vpc-86v957zb\")\n .subnetId(\"subnet-enm92y0m\")\n .engineVersion(\"13.3\")\n .rootPassword(\"Root123$\")\n .charset(\"LATIN1\")\n .projectId(0)\n .publicAccessSwitch(false)\n .securityGroups(\"sg-cm7fbbf3\")\n .memory(4)\n .storage(250)\n .backupPlan(InstanceBackupPlanArgs.builder()\n .minBackupStartTime(\"01:10:11\")\n .maxBackupStartTime(\"02:10:11\")\n .baseBackupRetentionPeriod(5)\n .backupPeriods( \n \"monday\",\n \"thursday\",\n \"sunday\")\n .build())\n .dbKernelVersion(\"v13.3_r1.4\")\n .tags(Map.of(\"tf\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n availabilityZone:\n type: string\n default: ap-guangzhou-6\nresources:\n example:\n type: tencentcloud:Postgresql:Instance\n properties:\n availabilityZone: ${availabilityZone}\n chargeType: POSTPAID_BY_HOUR\n vpcId: vpc-86v957zb\n subnetId: subnet-enm92y0m\n engineVersion: '13.3'\n rootPassword: Root123$\n charset: LATIN1\n projectId: 0\n publicAccessSwitch: false\n securityGroups:\n - sg-cm7fbbf3\n memory: 4\n storage: 250\n backupPlan:\n minBackupStartTime: 01:10:11\n maxBackupStartTime: 02:10:11\n baseBackupRetentionPeriod: 5\n backupPeriods:\n - monday\n - thursday\n - sunday\n dbKernelVersion: v13.3_r1.4 # eg:from v13.3_r1.1 to v13.3_r1.4\n tags:\n tf: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\npostgresql instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Postgresql/instance:Instance example postgres-cda1iex1\n```\n", "properties": { "autoRenewFlag": { "type": "integer", @@ -185155,11 +186777,11 @@ }, "dbMajorVersion": { "type": "string", - "description": "PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created.\n" + "description": "PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created.\n" }, "dbMajorVesion": { "type": "string", - "description": "`db_major_vesion` will be deprecated, use `db_major_version` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created.\n", + "description": "`db_major_vesion` will be deprecated, use `db_major_version` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created.\n", "deprecationMessage": "`db_major_vesion` will be deprecated, use `db_major_version` instead." }, "dbNodeSets": { @@ -185171,7 +186793,7 @@ }, "engineVersion": { "type": "string", - "description": "Version of the postgresql database engine. Valid values: `10.4`, `11.8`, `12.4`.\n" + "description": "Version of the postgresql database engine. Valid values: `10.4`, `10.17`, `10.23`, `11.8`, `11.12`, `11.22`, `12.4`, `12.7`, `12.18`, `13.3`, `14.2`, `14.11`, `15.1`, `16.0`.\n" }, "kmsKeyId": { "type": "string", @@ -185283,6 +186905,7 @@ "dbKernelVersion", "dbMajorVersion", "dbMajorVesion", + "engineVersion", "kmsKeyId", "kmsRegion", "maxStandbyArchiveDelay", @@ -185336,11 +186959,11 @@ }, "dbMajorVersion": { "type": "string", - "description": "PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created.\n" + "description": "PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created.\n" }, "dbMajorVesion": { "type": "string", - "description": "`db_major_vesion` will be deprecated, use `db_major_version` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created.\n", + "description": "`db_major_vesion` will be deprecated, use `db_major_version` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created.\n", "deprecationMessage": "`db_major_vesion` will be deprecated, use `db_major_version` instead." }, "dbNodeSets": { @@ -185352,8 +186975,7 @@ }, "engineVersion": { "type": "string", - "description": "Version of the postgresql database engine. Valid values: `10.4`, `11.8`, `12.4`.\n", - "willReplaceOnChanges": true + "description": "Version of the postgresql database engine. Valid values: `10.4`, `10.17`, `10.23`, `11.8`, `11.12`, `11.22`, `12.4`, `12.7`, `12.18`, `13.3`, `14.2`, `14.11`, `15.1`, `16.0`.\n" }, "kmsKeyId": { "type": "string", @@ -185489,11 +187111,11 @@ }, "dbMajorVersion": { "type": "string", - "description": "PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created.\n" + "description": "PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created.\n" }, "dbMajorVesion": { "type": "string", - "description": "`db_major_vesion` will be deprecated, use `db_major_version` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created.\n", + "description": "`db_major_vesion` will be deprecated, use `db_major_version` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created.\n", "deprecationMessage": "`db_major_vesion` will be deprecated, use `db_major_version` instead." }, "dbNodeSets": { @@ -185505,8 +187127,7 @@ }, "engineVersion": { "type": "string", - "description": "Version of the postgresql database engine. Valid values: `10.4`, `11.8`, `12.4`.\n", - "willReplaceOnChanges": true + "description": "Version of the postgresql database engine. Valid values: `10.4`, `10.17`, `10.23`, `11.8`, `11.12`, `11.22`, `12.4`, `12.7`, `12.18`, `13.3`, `14.2`, `14.11`, `15.1`, `16.0`.\n" }, "kmsKeyId": { "type": "string", @@ -199111,7 +200732,7 @@ }, "packageType": { "type": "string", - "description": "Type of package. Only support `\"2\"` (TrustAsia TLS RSA CA).\n" + "description": "Type of package. Only support `\"83\"` (TrustAsia TLS RSA CA).\n" }, "productZhName": { "type": "string", @@ -199139,7 +200760,7 @@ }, "validityPeriod": { "type": "string", - "description": "Specify validity period in month, only support `\"12\"` months for now.\n" + "description": "Specify validity period in month, only support `\"3\"` months for now.\n" }, "vulnerabilityStatus": { "type": "string", @@ -199205,7 +200826,7 @@ }, "packageType": { "type": "string", - "description": "Type of package. Only support `\"2\"` (TrustAsia TLS RSA CA).\n" + "description": "Type of package. Only support `\"83\"` (TrustAsia TLS RSA CA).\n" }, "projectId": { "type": "integer", @@ -199213,7 +200834,7 @@ }, "validityPeriod": { "type": "string", - "description": "Specify validity period in month, only support `\"12\"` months for now.\n" + "description": "Specify validity period in month, only support `\"3\"` months for now.\n" } }, "requiredInputs": [ @@ -199295,7 +200916,7 @@ }, "packageType": { "type": "string", - "description": "Type of package. Only support `\"2\"` (TrustAsia TLS RSA CA).\n" + "description": "Type of package. Only support `\"83\"` (TrustAsia TLS RSA CA).\n" }, "productZhName": { "type": "string", @@ -199323,7 +200944,7 @@ }, "validityPeriod": { "type": "string", - "description": "Specify validity period in month, only support `\"12\"` months for now.\n" + "description": "Specify validity period in month, only support `\"3\"` months for now.\n" }, "vulnerabilityStatus": { "type": "string", @@ -204889,7 +206510,7 @@ } }, "tencentcloud:Tdmq/instance:Instance": { - "description": "Provide a resource to create a TDMQ instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst foo = new tencentcloud.tdmq.Instance(\"foo\", {\n clusterName: \"example\",\n remark: \"this is description.\",\n tags: {\n createdBy: \"terraform\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nfoo = tencentcloud.tdmq.Instance(\"foo\",\n cluster_name=\"example\",\n remark=\"this is description.\",\n tags={\n \"createdBy\": \"terraform\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Tencentcloud.Tdmq.Instance(\"foo\", new()\n {\n ClusterName = \"example\",\n Remark = \"this is description.\",\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Tdmq\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Tdmq.NewInstance(ctx, \"foo\", \u0026Tdmq.InstanceArgs{\n\t\t\tClusterName: pulumi.String(\"example\"),\n\t\t\tRemark: pulumi.String(\"this is description.\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"createdBy\": pulumi.Any(\"terraform\"),\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.tencentcloud.Tdmq.Instance;\nimport com.pulumi.tencentcloud.Tdmq.InstanceArgs;\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 Instance(\"foo\", InstanceArgs.builder() \n .clusterName(\"example\")\n .remark(\"this is description.\")\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: tencentcloud:Tdmq:Instance\n properties:\n clusterName: example\n remark: this is description.\n tags:\n createdBy: terraform\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nTdmq instance can be imported, e.g.\n\n```sh\n$ pulumi import tencentcloud:Tdmq/instance:Instance test tdmq_id\n```\n", + "description": "Provide a resource to create a TDMQ instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst example = new tencentcloud.tdmq.Instance(\"example\", {\n clusterName: \"tf_example\",\n remark: \"remark.\",\n tags: {\n createdBy: \"terraform\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample = tencentcloud.tdmq.Instance(\"example\",\n cluster_name=\"tf_example\",\n remark=\"remark.\",\n tags={\n \"createdBy\": \"terraform\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Tencentcloud.Tdmq.Instance(\"example\", new()\n {\n ClusterName = \"tf_example\",\n Remark = \"remark.\",\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Tdmq\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Tdmq.NewInstance(ctx, \"example\", \u0026Tdmq.InstanceArgs{\n\t\t\tClusterName: pulumi.String(\"tf_example\"),\n\t\t\tRemark: pulumi.String(\"remark.\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"createdBy\": pulumi.Any(\"terraform\"),\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.tencentcloud.Tdmq.Instance;\nimport com.pulumi.tencentcloud.Tdmq.InstanceArgs;\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 Instance(\"example\", InstanceArgs.builder() \n .clusterName(\"tf_example\")\n .remark(\"remark.\")\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: tencentcloud:Tdmq:Instance\n properties:\n clusterName: tf_example\n remark: remark.\n tags:\n createdBy: terraform\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nTdmq instance can be imported, e.g.\n\n```sh\n$ pulumi import tencentcloud:Tdmq/instance:Instance example pulsar-78bwjaj8epxv\n```\n", "properties": { "bindClusterId": { "type": "integer", @@ -204965,7 +206586,7 @@ } }, "tencentcloud:Tdmq/namespace:Namespace": { - "description": "Provide a resource to create a tdmq namespace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst exampleInstance = new tencentcloud.tdmq.Instance(\"exampleInstance\", {\n clusterName: \"tf_example\",\n remark: \"remark.\",\n tags: {\n createdBy: \"terraform\",\n },\n});\nconst exampleNamespace = new tencentcloud.tdmq.Namespace(\"exampleNamespace\", {\n environName: \"tf_example\",\n msgTtl: 300,\n clusterId: exampleInstance.id,\n retentionPolicy: {\n timeInMinutes: 60,\n sizeInMb: 10,\n },\n remark: \"remark.\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample_instance = tencentcloud.tdmq.Instance(\"exampleInstance\",\n cluster_name=\"tf_example\",\n remark=\"remark.\",\n tags={\n \"createdBy\": \"terraform\",\n })\nexample_namespace = tencentcloud.tdmq.Namespace(\"exampleNamespace\",\n environ_name=\"tf_example\",\n msg_ttl=300,\n cluster_id=example_instance.id,\n retention_policy=tencentcloud.tdmq.NamespaceRetentionPolicyArgs(\n time_in_minutes=60,\n size_in_mb=10,\n ),\n remark=\"remark.\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleInstance = new Tencentcloud.Tdmq.Instance(\"exampleInstance\", new()\n {\n ClusterName = \"tf_example\",\n Remark = \"remark.\",\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n });\n\n var exampleNamespace = new Tencentcloud.Tdmq.Namespace(\"exampleNamespace\", new()\n {\n EnvironName = \"tf_example\",\n MsgTtl = 300,\n ClusterId = exampleInstance.Id,\n RetentionPolicy = new Tencentcloud.Tdmq.Inputs.NamespaceRetentionPolicyArgs\n {\n TimeInMinutes = 60,\n SizeInMb = 10,\n },\n Remark = \"remark.\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Tdmq\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleInstance, err := Tdmq.NewInstance(ctx, \"exampleInstance\", \u0026Tdmq.InstanceArgs{\n\t\t\tClusterName: pulumi.String(\"tf_example\"),\n\t\t\tRemark: pulumi.String(\"remark.\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"createdBy\": pulumi.Any(\"terraform\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Tdmq.NewNamespace(ctx, \"exampleNamespace\", \u0026Tdmq.NamespaceArgs{\n\t\t\tEnvironName: pulumi.String(\"tf_example\"),\n\t\t\tMsgTtl: pulumi.Int(300),\n\t\t\tClusterId: exampleInstance.ID(),\n\t\t\tRetentionPolicy: \u0026tdmq.NamespaceRetentionPolicyArgs{\n\t\t\t\tTimeInMinutes: pulumi.Int(60),\n\t\t\t\tSizeInMb: pulumi.Int(10),\n\t\t\t},\n\t\t\tRemark: pulumi.String(\"remark.\"),\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.tencentcloud.Tdmq.Instance;\nimport com.pulumi.tencentcloud.Tdmq.InstanceArgs;\nimport com.pulumi.tencentcloud.Tdmq.Namespace;\nimport com.pulumi.tencentcloud.Tdmq.NamespaceArgs;\nimport com.pulumi.tencentcloud.Tdmq.inputs.NamespaceRetentionPolicyArgs;\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 exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .clusterName(\"tf_example\")\n .remark(\"remark.\")\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder() \n .environName(\"tf_example\")\n .msgTtl(300)\n .clusterId(exampleInstance.id())\n .retentionPolicy(NamespaceRetentionPolicyArgs.builder()\n .timeInMinutes(60)\n .sizeInMb(10)\n .build())\n .remark(\"remark.\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleInstance:\n type: tencentcloud:Tdmq:Instance\n properties:\n clusterName: tf_example\n remark: remark.\n tags:\n createdBy: terraform\n exampleNamespace:\n type: tencentcloud:Tdmq:Namespace\n properties:\n environName: tf_example\n msgTtl: 300\n clusterId: ${exampleInstance.id}\n retentionPolicy:\n timeInMinutes: 60\n sizeInMb: 10\n remark: remark.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nTdmq namespace can be imported, e.g.\n\n```sh\n$ pulumi import tencentcloud:Tdmq/namespace:Namespace test namespace_id\n```\n", + "description": "Provide a resource to create a TDMQ namespace.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst exampleInstance = new tencentcloud.tdmq.Instance(\"exampleInstance\", {\n clusterName: \"tf_example\",\n remark: \"remark.\",\n tags: {\n createdBy: \"terraform\",\n },\n});\nconst exampleNamespace = new tencentcloud.tdmq.Namespace(\"exampleNamespace\", {\n environName: \"tf_example\",\n msgTtl: 300,\n clusterId: exampleInstance.id,\n retentionPolicy: {\n timeInMinutes: 60,\n sizeInMb: 10,\n },\n remark: \"remark.\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample_instance = tencentcloud.tdmq.Instance(\"exampleInstance\",\n cluster_name=\"tf_example\",\n remark=\"remark.\",\n tags={\n \"createdBy\": \"terraform\",\n })\nexample_namespace = tencentcloud.tdmq.Namespace(\"exampleNamespace\",\n environ_name=\"tf_example\",\n msg_ttl=300,\n cluster_id=example_instance.id,\n retention_policy=tencentcloud.tdmq.NamespaceRetentionPolicyArgs(\n time_in_minutes=60,\n size_in_mb=10,\n ),\n remark=\"remark.\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleInstance = new Tencentcloud.Tdmq.Instance(\"exampleInstance\", new()\n {\n ClusterName = \"tf_example\",\n Remark = \"remark.\",\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n });\n\n var exampleNamespace = new Tencentcloud.Tdmq.Namespace(\"exampleNamespace\", new()\n {\n EnvironName = \"tf_example\",\n MsgTtl = 300,\n ClusterId = exampleInstance.Id,\n RetentionPolicy = new Tencentcloud.Tdmq.Inputs.NamespaceRetentionPolicyArgs\n {\n TimeInMinutes = 60,\n SizeInMb = 10,\n },\n Remark = \"remark.\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Tdmq\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleInstance, err := Tdmq.NewInstance(ctx, \"exampleInstance\", \u0026Tdmq.InstanceArgs{\n\t\t\tClusterName: pulumi.String(\"tf_example\"),\n\t\t\tRemark: pulumi.String(\"remark.\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"createdBy\": pulumi.Any(\"terraform\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Tdmq.NewNamespace(ctx, \"exampleNamespace\", \u0026Tdmq.NamespaceArgs{\n\t\t\tEnvironName: pulumi.String(\"tf_example\"),\n\t\t\tMsgTtl: pulumi.Int(300),\n\t\t\tClusterId: exampleInstance.ID(),\n\t\t\tRetentionPolicy: \u0026tdmq.NamespaceRetentionPolicyArgs{\n\t\t\t\tTimeInMinutes: pulumi.Int(60),\n\t\t\t\tSizeInMb: pulumi.Int(10),\n\t\t\t},\n\t\t\tRemark: pulumi.String(\"remark.\"),\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.tencentcloud.Tdmq.Instance;\nimport com.pulumi.tencentcloud.Tdmq.InstanceArgs;\nimport com.pulumi.tencentcloud.Tdmq.Namespace;\nimport com.pulumi.tencentcloud.Tdmq.NamespaceArgs;\nimport com.pulumi.tencentcloud.Tdmq.inputs.NamespaceRetentionPolicyArgs;\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 exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .clusterName(\"tf_example\")\n .remark(\"remark.\")\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder() \n .environName(\"tf_example\")\n .msgTtl(300)\n .clusterId(exampleInstance.id())\n .retentionPolicy(NamespaceRetentionPolicyArgs.builder()\n .timeInMinutes(60)\n .sizeInMb(10)\n .build())\n .remark(\"remark.\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleInstance:\n type: tencentcloud:Tdmq:Instance\n properties:\n clusterName: tf_example\n remark: remark.\n tags:\n createdBy: terraform\n exampleNamespace:\n type: tencentcloud:Tdmq:Namespace\n properties:\n environName: tf_example\n msgTtl: 300\n clusterId: ${exampleInstance.id}\n retentionPolicy:\n timeInMinutes: 60\n sizeInMb: 10\n remark: remark.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nTdmq namespace can be imported, e.g.\n\n```sh\n$ pulumi import tencentcloud:Tdmq/namespace:Namespace example tf_example#pulsar-78bwjaj8epxv\n```\n", "properties": { "clusterId": { "type": "string", @@ -205049,7 +206670,7 @@ } }, "tencentcloud:Tdmq/namespaceRoleAttachment:NamespaceRoleAttachment": { - "description": "Provide a resource to create a TDMQ role.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst exampleInstance = new tencentcloud.tdmq.Instance(\"exampleInstance\", {\n clusterName: \"tf_example\",\n remark: \"remark.\",\n tags: {\n createdBy: \"terraform\",\n },\n});\nconst exampleNamespace = new tencentcloud.tdmq.Namespace(\"exampleNamespace\", {\n environName: \"tf_example\",\n msgTtl: 300,\n clusterId: exampleInstance.id,\n retentionPolicy: {\n timeInMinutes: 60,\n sizeInMb: 10,\n },\n remark: \"remark.\",\n});\nconst exampleRole = new tencentcloud.tdmq.Role(\"exampleRole\", {\n roleName: \"tf_example\",\n clusterId: exampleInstance.id,\n remark: \"remark.\",\n});\nconst exampleNamespaceRoleAttachment = new tencentcloud.tdmq.NamespaceRoleAttachment(\"exampleNamespaceRoleAttachment\", {\n environId: exampleNamespace.environName,\n roleName: exampleRole.roleName,\n permissions: [\n \"produce\",\n \"consume\",\n ],\n clusterId: exampleInstance.id,\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample_instance = tencentcloud.tdmq.Instance(\"exampleInstance\",\n cluster_name=\"tf_example\",\n remark=\"remark.\",\n tags={\n \"createdBy\": \"terraform\",\n })\nexample_namespace = tencentcloud.tdmq.Namespace(\"exampleNamespace\",\n environ_name=\"tf_example\",\n msg_ttl=300,\n cluster_id=example_instance.id,\n retention_policy=tencentcloud.tdmq.NamespaceRetentionPolicyArgs(\n time_in_minutes=60,\n size_in_mb=10,\n ),\n remark=\"remark.\")\nexample_role = tencentcloud.tdmq.Role(\"exampleRole\",\n role_name=\"tf_example\",\n cluster_id=example_instance.id,\n remark=\"remark.\")\nexample_namespace_role_attachment = tencentcloud.tdmq.NamespaceRoleAttachment(\"exampleNamespaceRoleAttachment\",\n environ_id=example_namespace.environ_name,\n role_name=example_role.role_name,\n permissions=[\n \"produce\",\n \"consume\",\n ],\n cluster_id=example_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleInstance = new Tencentcloud.Tdmq.Instance(\"exampleInstance\", new()\n {\n ClusterName = \"tf_example\",\n Remark = \"remark.\",\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n });\n\n var exampleNamespace = new Tencentcloud.Tdmq.Namespace(\"exampleNamespace\", new()\n {\n EnvironName = \"tf_example\",\n MsgTtl = 300,\n ClusterId = exampleInstance.Id,\n RetentionPolicy = new Tencentcloud.Tdmq.Inputs.NamespaceRetentionPolicyArgs\n {\n TimeInMinutes = 60,\n SizeInMb = 10,\n },\n Remark = \"remark.\",\n });\n\n var exampleRole = new Tencentcloud.Tdmq.Role(\"exampleRole\", new()\n {\n RoleName = \"tf_example\",\n ClusterId = exampleInstance.Id,\n Remark = \"remark.\",\n });\n\n var exampleNamespaceRoleAttachment = new Tencentcloud.Tdmq.NamespaceRoleAttachment(\"exampleNamespaceRoleAttachment\", new()\n {\n EnvironId = exampleNamespace.EnvironName,\n RoleName = exampleRole.RoleName,\n Permissions = new[]\n {\n \"produce\",\n \"consume\",\n },\n ClusterId = exampleInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Tdmq\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleInstance, err := Tdmq.NewInstance(ctx, \"exampleInstance\", \u0026Tdmq.InstanceArgs{\n\t\t\tClusterName: pulumi.String(\"tf_example\"),\n\t\t\tRemark: pulumi.String(\"remark.\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"createdBy\": pulumi.Any(\"terraform\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := Tdmq.NewNamespace(ctx, \"exampleNamespace\", \u0026Tdmq.NamespaceArgs{\n\t\t\tEnvironName: pulumi.String(\"tf_example\"),\n\t\t\tMsgTtl: pulumi.Int(300),\n\t\t\tClusterId: exampleInstance.ID(),\n\t\t\tRetentionPolicy: \u0026tdmq.NamespaceRetentionPolicyArgs{\n\t\t\t\tTimeInMinutes: pulumi.Int(60),\n\t\t\t\tSizeInMb: pulumi.Int(10),\n\t\t\t},\n\t\t\tRemark: pulumi.String(\"remark.\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := Tdmq.NewRole(ctx, \"exampleRole\", \u0026Tdmq.RoleArgs{\n\t\t\tRoleName: pulumi.String(\"tf_example\"),\n\t\t\tClusterId: exampleInstance.ID(),\n\t\t\tRemark: pulumi.String(\"remark.\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Tdmq.NewNamespaceRoleAttachment(ctx, \"exampleNamespaceRoleAttachment\", \u0026Tdmq.NamespaceRoleAttachmentArgs{\n\t\t\tEnvironId: exampleNamespace.EnvironName,\n\t\t\tRoleName: exampleRole.RoleName,\n\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"produce\"),\n\t\t\t\tpulumi.String(\"consume\"),\n\t\t\t},\n\t\t\tClusterId: exampleInstance.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.tencentcloud.Tdmq.Instance;\nimport com.pulumi.tencentcloud.Tdmq.InstanceArgs;\nimport com.pulumi.tencentcloud.Tdmq.Namespace;\nimport com.pulumi.tencentcloud.Tdmq.NamespaceArgs;\nimport com.pulumi.tencentcloud.Tdmq.inputs.NamespaceRetentionPolicyArgs;\nimport com.pulumi.tencentcloud.Tdmq.Role;\nimport com.pulumi.tencentcloud.Tdmq.RoleArgs;\nimport com.pulumi.tencentcloud.Tdmq.NamespaceRoleAttachment;\nimport com.pulumi.tencentcloud.Tdmq.NamespaceRoleAttachmentArgs;\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 exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .clusterName(\"tf_example\")\n .remark(\"remark.\")\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder() \n .environName(\"tf_example\")\n .msgTtl(300)\n .clusterId(exampleInstance.id())\n .retentionPolicy(NamespaceRetentionPolicyArgs.builder()\n .timeInMinutes(60)\n .sizeInMb(10)\n .build())\n .remark(\"remark.\")\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder() \n .roleName(\"tf_example\")\n .clusterId(exampleInstance.id())\n .remark(\"remark.\")\n .build());\n\n var exampleNamespaceRoleAttachment = new NamespaceRoleAttachment(\"exampleNamespaceRoleAttachment\", NamespaceRoleAttachmentArgs.builder() \n .environId(exampleNamespace.environName())\n .roleName(exampleRole.roleName())\n .permissions( \n \"produce\",\n \"consume\")\n .clusterId(exampleInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleInstance:\n type: tencentcloud:Tdmq:Instance\n properties:\n clusterName: tf_example\n remark: remark.\n tags:\n createdBy: terraform\n exampleNamespace:\n type: tencentcloud:Tdmq:Namespace\n properties:\n environName: tf_example\n msgTtl: 300\n clusterId: ${exampleInstance.id}\n retentionPolicy:\n timeInMinutes: 60\n sizeInMb: 10\n remark: remark.\n exampleRole:\n type: tencentcloud:Tdmq:Role\n properties:\n roleName: tf_example\n clusterId: ${exampleInstance.id}\n remark: remark.\n exampleNamespaceRoleAttachment:\n type: tencentcloud:Tdmq:NamespaceRoleAttachment\n properties:\n environId: ${exampleNamespace.environName}\n roleName: ${exampleRole.roleName}\n permissions:\n - produce\n - consume\n clusterId: ${exampleInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provide a resource to create a TDMQ environment role.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst exampleInstance = new tencentcloud.tdmq.Instance(\"exampleInstance\", {\n clusterName: \"tf_example\",\n remark: \"remark.\",\n tags: {\n createdBy: \"terraform\",\n },\n});\nconst exampleNamespace = new tencentcloud.tdmq.Namespace(\"exampleNamespace\", {\n environName: \"tf_example\",\n msgTtl: 300,\n clusterId: exampleInstance.id,\n retentionPolicy: {\n timeInMinutes: 60,\n sizeInMb: 10,\n },\n remark: \"remark.\",\n});\nconst exampleRole = new tencentcloud.tdmq.Role(\"exampleRole\", {\n roleName: \"tf_example\",\n clusterId: exampleInstance.id,\n remark: \"remark.\",\n});\nconst exampleNamespaceRoleAttachment = new tencentcloud.tdmq.NamespaceRoleAttachment(\"exampleNamespaceRoleAttachment\", {\n environId: exampleNamespace.environName,\n roleName: exampleRole.roleName,\n permissions: [\n \"produce\",\n \"consume\",\n ],\n clusterId: exampleInstance.id,\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample_instance = tencentcloud.tdmq.Instance(\"exampleInstance\",\n cluster_name=\"tf_example\",\n remark=\"remark.\",\n tags={\n \"createdBy\": \"terraform\",\n })\nexample_namespace = tencentcloud.tdmq.Namespace(\"exampleNamespace\",\n environ_name=\"tf_example\",\n msg_ttl=300,\n cluster_id=example_instance.id,\n retention_policy=tencentcloud.tdmq.NamespaceRetentionPolicyArgs(\n time_in_minutes=60,\n size_in_mb=10,\n ),\n remark=\"remark.\")\nexample_role = tencentcloud.tdmq.Role(\"exampleRole\",\n role_name=\"tf_example\",\n cluster_id=example_instance.id,\n remark=\"remark.\")\nexample_namespace_role_attachment = tencentcloud.tdmq.NamespaceRoleAttachment(\"exampleNamespaceRoleAttachment\",\n environ_id=example_namespace.environ_name,\n role_name=example_role.role_name,\n permissions=[\n \"produce\",\n \"consume\",\n ],\n cluster_id=example_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleInstance = new Tencentcloud.Tdmq.Instance(\"exampleInstance\", new()\n {\n ClusterName = \"tf_example\",\n Remark = \"remark.\",\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n });\n\n var exampleNamespace = new Tencentcloud.Tdmq.Namespace(\"exampleNamespace\", new()\n {\n EnvironName = \"tf_example\",\n MsgTtl = 300,\n ClusterId = exampleInstance.Id,\n RetentionPolicy = new Tencentcloud.Tdmq.Inputs.NamespaceRetentionPolicyArgs\n {\n TimeInMinutes = 60,\n SizeInMb = 10,\n },\n Remark = \"remark.\",\n });\n\n var exampleRole = new Tencentcloud.Tdmq.Role(\"exampleRole\", new()\n {\n RoleName = \"tf_example\",\n ClusterId = exampleInstance.Id,\n Remark = \"remark.\",\n });\n\n var exampleNamespaceRoleAttachment = new Tencentcloud.Tdmq.NamespaceRoleAttachment(\"exampleNamespaceRoleAttachment\", new()\n {\n EnvironId = exampleNamespace.EnvironName,\n RoleName = exampleRole.RoleName,\n Permissions = new[]\n {\n \"produce\",\n \"consume\",\n },\n ClusterId = exampleInstance.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Tdmq\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleInstance, err := Tdmq.NewInstance(ctx, \"exampleInstance\", \u0026Tdmq.InstanceArgs{\n\t\t\tClusterName: pulumi.String(\"tf_example\"),\n\t\t\tRemark: pulumi.String(\"remark.\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"createdBy\": pulumi.Any(\"terraform\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := Tdmq.NewNamespace(ctx, \"exampleNamespace\", \u0026Tdmq.NamespaceArgs{\n\t\t\tEnvironName: pulumi.String(\"tf_example\"),\n\t\t\tMsgTtl: pulumi.Int(300),\n\t\t\tClusterId: exampleInstance.ID(),\n\t\t\tRetentionPolicy: \u0026tdmq.NamespaceRetentionPolicyArgs{\n\t\t\t\tTimeInMinutes: pulumi.Int(60),\n\t\t\t\tSizeInMb: pulumi.Int(10),\n\t\t\t},\n\t\t\tRemark: pulumi.String(\"remark.\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := Tdmq.NewRole(ctx, \"exampleRole\", \u0026Tdmq.RoleArgs{\n\t\t\tRoleName: pulumi.String(\"tf_example\"),\n\t\t\tClusterId: exampleInstance.ID(),\n\t\t\tRemark: pulumi.String(\"remark.\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Tdmq.NewNamespaceRoleAttachment(ctx, \"exampleNamespaceRoleAttachment\", \u0026Tdmq.NamespaceRoleAttachmentArgs{\n\t\t\tEnvironId: exampleNamespace.EnvironName,\n\t\t\tRoleName: exampleRole.RoleName,\n\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"produce\"),\n\t\t\t\tpulumi.String(\"consume\"),\n\t\t\t},\n\t\t\tClusterId: exampleInstance.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.tencentcloud.Tdmq.Instance;\nimport com.pulumi.tencentcloud.Tdmq.InstanceArgs;\nimport com.pulumi.tencentcloud.Tdmq.Namespace;\nimport com.pulumi.tencentcloud.Tdmq.NamespaceArgs;\nimport com.pulumi.tencentcloud.Tdmq.inputs.NamespaceRetentionPolicyArgs;\nimport com.pulumi.tencentcloud.Tdmq.Role;\nimport com.pulumi.tencentcloud.Tdmq.RoleArgs;\nimport com.pulumi.tencentcloud.Tdmq.NamespaceRoleAttachment;\nimport com.pulumi.tencentcloud.Tdmq.NamespaceRoleAttachmentArgs;\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 exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .clusterName(\"tf_example\")\n .remark(\"remark.\")\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder() \n .environName(\"tf_example\")\n .msgTtl(300)\n .clusterId(exampleInstance.id())\n .retentionPolicy(NamespaceRetentionPolicyArgs.builder()\n .timeInMinutes(60)\n .sizeInMb(10)\n .build())\n .remark(\"remark.\")\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder() \n .roleName(\"tf_example\")\n .clusterId(exampleInstance.id())\n .remark(\"remark.\")\n .build());\n\n var exampleNamespaceRoleAttachment = new NamespaceRoleAttachment(\"exampleNamespaceRoleAttachment\", NamespaceRoleAttachmentArgs.builder() \n .environId(exampleNamespace.environName())\n .roleName(exampleRole.roleName())\n .permissions( \n \"produce\",\n \"consume\")\n .clusterId(exampleInstance.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleInstance:\n type: tencentcloud:Tdmq:Instance\n properties:\n clusterName: tf_example\n remark: remark.\n tags:\n createdBy: terraform\n exampleNamespace:\n type: tencentcloud:Tdmq:Namespace\n properties:\n environName: tf_example\n msgTtl: 300\n clusterId: ${exampleInstance.id}\n retentionPolicy:\n timeInMinutes: 60\n sizeInMb: 10\n remark: remark.\n exampleRole:\n type: tencentcloud:Tdmq:Role\n properties:\n roleName: tf_example\n clusterId: ${exampleInstance.id}\n remark: remark.\n exampleNamespaceRoleAttachment:\n type: tencentcloud:Tdmq:NamespaceRoleAttachment\n properties:\n environId: ${exampleNamespace.environName}\n roleName: ${exampleRole.roleName}\n permissions:\n - produce\n - consume\n clusterId: ${exampleInstance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "clusterId": { "type": "string", @@ -206493,7 +208114,7 @@ } }, "tencentcloud:Tdmq/role:Role": { - "description": "Provide a resource to create a TDMQ role.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst exampleInstance = new tencentcloud.tdmq.Instance(\"exampleInstance\", {\n clusterName: \"tf_example\",\n remark: \"remark.\",\n tags: {\n createdBy: \"terraform\",\n },\n});\nconst exampleRole = new tencentcloud.tdmq.Role(\"exampleRole\", {\n roleName: \"tf_example\",\n clusterId: exampleInstance.id,\n remark: \"remark.\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample_instance = tencentcloud.tdmq.Instance(\"exampleInstance\",\n cluster_name=\"tf_example\",\n remark=\"remark.\",\n tags={\n \"createdBy\": \"terraform\",\n })\nexample_role = tencentcloud.tdmq.Role(\"exampleRole\",\n role_name=\"tf_example\",\n cluster_id=example_instance.id,\n remark=\"remark.\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleInstance = new Tencentcloud.Tdmq.Instance(\"exampleInstance\", new()\n {\n ClusterName = \"tf_example\",\n Remark = \"remark.\",\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n });\n\n var exampleRole = new Tencentcloud.Tdmq.Role(\"exampleRole\", new()\n {\n RoleName = \"tf_example\",\n ClusterId = exampleInstance.Id,\n Remark = \"remark.\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Tdmq\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleInstance, err := Tdmq.NewInstance(ctx, \"exampleInstance\", \u0026Tdmq.InstanceArgs{\n\t\t\tClusterName: pulumi.String(\"tf_example\"),\n\t\t\tRemark: pulumi.String(\"remark.\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"createdBy\": pulumi.Any(\"terraform\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Tdmq.NewRole(ctx, \"exampleRole\", \u0026Tdmq.RoleArgs{\n\t\t\tRoleName: pulumi.String(\"tf_example\"),\n\t\t\tClusterId: exampleInstance.ID(),\n\t\t\tRemark: pulumi.String(\"remark.\"),\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.tencentcloud.Tdmq.Instance;\nimport com.pulumi.tencentcloud.Tdmq.InstanceArgs;\nimport com.pulumi.tencentcloud.Tdmq.Role;\nimport com.pulumi.tencentcloud.Tdmq.RoleArgs;\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 exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .clusterName(\"tf_example\")\n .remark(\"remark.\")\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder() \n .roleName(\"tf_example\")\n .clusterId(exampleInstance.id())\n .remark(\"remark.\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleInstance:\n type: tencentcloud:Tdmq:Instance\n properties:\n clusterName: tf_example\n remark: remark.\n tags:\n createdBy: terraform\n exampleRole:\n type: tencentcloud:Tdmq:Role\n properties:\n roleName: tf_example\n clusterId: ${exampleInstance.id}\n remark: remark.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nTdmq instance can be imported, e.g.\n\n```sh\n$ pulumi import tencentcloud:Tdmq/role:Role test tdmq_id\n```\n", + "description": "Provide a resource to create a TDMQ role.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst exampleInstance = new tencentcloud.tdmq.Instance(\"exampleInstance\", {\n clusterName: \"tf_example\",\n remark: \"remark.\",\n tags: {\n createdBy: \"terraform\",\n },\n});\nconst exampleRole = new tencentcloud.tdmq.Role(\"exampleRole\", {\n roleName: \"role_example\",\n clusterId: exampleInstance.id,\n remark: \"remark.\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample_instance = tencentcloud.tdmq.Instance(\"exampleInstance\",\n cluster_name=\"tf_example\",\n remark=\"remark.\",\n tags={\n \"createdBy\": \"terraform\",\n })\nexample_role = tencentcloud.tdmq.Role(\"exampleRole\",\n role_name=\"role_example\",\n cluster_id=example_instance.id,\n remark=\"remark.\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleInstance = new Tencentcloud.Tdmq.Instance(\"exampleInstance\", new()\n {\n ClusterName = \"tf_example\",\n Remark = \"remark.\",\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n });\n\n var exampleRole = new Tencentcloud.Tdmq.Role(\"exampleRole\", new()\n {\n RoleName = \"role_example\",\n ClusterId = exampleInstance.Id,\n Remark = \"remark.\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Tdmq\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleInstance, err := Tdmq.NewInstance(ctx, \"exampleInstance\", \u0026Tdmq.InstanceArgs{\n\t\t\tClusterName: pulumi.String(\"tf_example\"),\n\t\t\tRemark: pulumi.String(\"remark.\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"createdBy\": pulumi.Any(\"terraform\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Tdmq.NewRole(ctx, \"exampleRole\", \u0026Tdmq.RoleArgs{\n\t\t\tRoleName: pulumi.String(\"role_example\"),\n\t\t\tClusterId: exampleInstance.ID(),\n\t\t\tRemark: pulumi.String(\"remark.\"),\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.tencentcloud.Tdmq.Instance;\nimport com.pulumi.tencentcloud.Tdmq.InstanceArgs;\nimport com.pulumi.tencentcloud.Tdmq.Role;\nimport com.pulumi.tencentcloud.Tdmq.RoleArgs;\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 exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .clusterName(\"tf_example\")\n .remark(\"remark.\")\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder() \n .roleName(\"role_example\")\n .clusterId(exampleInstance.id())\n .remark(\"remark.\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleInstance:\n type: tencentcloud:Tdmq:Instance\n properties:\n clusterName: tf_example\n remark: remark.\n tags:\n createdBy: terraform\n exampleRole:\n type: tencentcloud:Tdmq:Role\n properties:\n roleName: role_example\n clusterId: ${exampleInstance.id}\n remark: remark.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "clusterId": { "type": "string", @@ -206784,7 +208405,7 @@ } }, "tencentcloud:Tdmq/topic:Topic": { - "description": "Provide a resource to create a TDMQ topic.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst exampleInstance = new tencentcloud.tdmq.Instance(\"exampleInstance\", {\n clusterName: \"tf_example\",\n remark: \"remark.\",\n tags: {\n createdBy: \"terraform\",\n },\n});\nconst exampleNamespace = new tencentcloud.tdmq.Namespace(\"exampleNamespace\", {\n environName: \"tf_example\",\n msgTtl: 300,\n clusterId: exampleInstance.id,\n retentionPolicy: {\n timeInMinutes: 60,\n sizeInMb: 10,\n },\n remark: \"remark.\",\n});\nconst exampleTopic = new tencentcloud.tdmq.Topic(\"exampleTopic\", {\n environId: exampleNamespace.environName,\n clusterId: exampleInstance.id,\n topicName: \"tf-example-topic\",\n partitions: 6,\n pulsarTopicType: 3,\n remark: \"remark.\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample_instance = tencentcloud.tdmq.Instance(\"exampleInstance\",\n cluster_name=\"tf_example\",\n remark=\"remark.\",\n tags={\n \"createdBy\": \"terraform\",\n })\nexample_namespace = tencentcloud.tdmq.Namespace(\"exampleNamespace\",\n environ_name=\"tf_example\",\n msg_ttl=300,\n cluster_id=example_instance.id,\n retention_policy=tencentcloud.tdmq.NamespaceRetentionPolicyArgs(\n time_in_minutes=60,\n size_in_mb=10,\n ),\n remark=\"remark.\")\nexample_topic = tencentcloud.tdmq.Topic(\"exampleTopic\",\n environ_id=example_namespace.environ_name,\n cluster_id=example_instance.id,\n topic_name=\"tf-example-topic\",\n partitions=6,\n pulsar_topic_type=3,\n remark=\"remark.\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleInstance = new Tencentcloud.Tdmq.Instance(\"exampleInstance\", new()\n {\n ClusterName = \"tf_example\",\n Remark = \"remark.\",\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n });\n\n var exampleNamespace = new Tencentcloud.Tdmq.Namespace(\"exampleNamespace\", new()\n {\n EnvironName = \"tf_example\",\n MsgTtl = 300,\n ClusterId = exampleInstance.Id,\n RetentionPolicy = new Tencentcloud.Tdmq.Inputs.NamespaceRetentionPolicyArgs\n {\n TimeInMinutes = 60,\n SizeInMb = 10,\n },\n Remark = \"remark.\",\n });\n\n var exampleTopic = new Tencentcloud.Tdmq.Topic(\"exampleTopic\", new()\n {\n EnvironId = exampleNamespace.EnvironName,\n ClusterId = exampleInstance.Id,\n TopicName = \"tf-example-topic\",\n Partitions = 6,\n PulsarTopicType = 3,\n Remark = \"remark.\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Tdmq\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleInstance, err := Tdmq.NewInstance(ctx, \"exampleInstance\", \u0026Tdmq.InstanceArgs{\n\t\t\tClusterName: pulumi.String(\"tf_example\"),\n\t\t\tRemark: pulumi.String(\"remark.\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"createdBy\": pulumi.Any(\"terraform\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := Tdmq.NewNamespace(ctx, \"exampleNamespace\", \u0026Tdmq.NamespaceArgs{\n\t\t\tEnvironName: pulumi.String(\"tf_example\"),\n\t\t\tMsgTtl: pulumi.Int(300),\n\t\t\tClusterId: exampleInstance.ID(),\n\t\t\tRetentionPolicy: \u0026tdmq.NamespaceRetentionPolicyArgs{\n\t\t\t\tTimeInMinutes: pulumi.Int(60),\n\t\t\t\tSizeInMb: pulumi.Int(10),\n\t\t\t},\n\t\t\tRemark: pulumi.String(\"remark.\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Tdmq.NewTopic(ctx, \"exampleTopic\", \u0026Tdmq.TopicArgs{\n\t\t\tEnvironId: exampleNamespace.EnvironName,\n\t\t\tClusterId: exampleInstance.ID(),\n\t\t\tTopicName: pulumi.String(\"tf-example-topic\"),\n\t\t\tPartitions: pulumi.Int(6),\n\t\t\tPulsarTopicType: pulumi.Int(3),\n\t\t\tRemark: pulumi.String(\"remark.\"),\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.tencentcloud.Tdmq.Instance;\nimport com.pulumi.tencentcloud.Tdmq.InstanceArgs;\nimport com.pulumi.tencentcloud.Tdmq.Namespace;\nimport com.pulumi.tencentcloud.Tdmq.NamespaceArgs;\nimport com.pulumi.tencentcloud.Tdmq.inputs.NamespaceRetentionPolicyArgs;\nimport com.pulumi.tencentcloud.Tdmq.Topic;\nimport com.pulumi.tencentcloud.Tdmq.TopicArgs;\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 exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .clusterName(\"tf_example\")\n .remark(\"remark.\")\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder() \n .environName(\"tf_example\")\n .msgTtl(300)\n .clusterId(exampleInstance.id())\n .retentionPolicy(NamespaceRetentionPolicyArgs.builder()\n .timeInMinutes(60)\n .sizeInMb(10)\n .build())\n .remark(\"remark.\")\n .build());\n\n var exampleTopic = new Topic(\"exampleTopic\", TopicArgs.builder() \n .environId(exampleNamespace.environName())\n .clusterId(exampleInstance.id())\n .topicName(\"tf-example-topic\")\n .partitions(6)\n .pulsarTopicType(3)\n .remark(\"remark.\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleInstance:\n type: tencentcloud:Tdmq:Instance\n properties:\n clusterName: tf_example\n remark: remark.\n tags:\n createdBy: terraform\n exampleNamespace:\n type: tencentcloud:Tdmq:Namespace\n properties:\n environName: tf_example\n msgTtl: 300\n clusterId: ${exampleInstance.id}\n retentionPolicy:\n timeInMinutes: 60\n sizeInMb: 10\n remark: remark.\n exampleTopic:\n type: tencentcloud:Tdmq:Topic\n properties:\n environId: ${exampleNamespace.environName}\n clusterId: ${exampleInstance.id}\n topicName: tf-example-topic\n partitions: 6\n pulsarTopicType: 3\n remark: remark.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nTdmq Topic can be imported, e.g.\n\n```sh\n$ pulumi import tencentcloud:Tdmq/topic:Topic test topic_id\n```\n", + "description": "Provide a resource to create a TDMQ topic.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst exampleInstance = new tencentcloud.tdmq.Instance(\"exampleInstance\", {\n clusterName: \"tf_example\",\n remark: \"remark.\",\n tags: {\n createdBy: \"terraform\",\n },\n});\nconst exampleNamespace = new tencentcloud.tdmq.Namespace(\"exampleNamespace\", {\n environName: \"tf_example\",\n msgTtl: 300,\n clusterId: exampleInstance.id,\n retentionPolicy: {\n timeInMinutes: 60,\n sizeInMb: 10,\n },\n remark: \"remark.\",\n});\nconst exampleTopic = new tencentcloud.tdmq.Topic(\"exampleTopic\", {\n environId: exampleNamespace.environName,\n clusterId: exampleInstance.id,\n topicName: \"tf-example-topic\",\n partitions: 6,\n pulsarTopicType: 3,\n remark: \"remark.\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nexample_instance = tencentcloud.tdmq.Instance(\"exampleInstance\",\n cluster_name=\"tf_example\",\n remark=\"remark.\",\n tags={\n \"createdBy\": \"terraform\",\n })\nexample_namespace = tencentcloud.tdmq.Namespace(\"exampleNamespace\",\n environ_name=\"tf_example\",\n msg_ttl=300,\n cluster_id=example_instance.id,\n retention_policy=tencentcloud.tdmq.NamespaceRetentionPolicyArgs(\n time_in_minutes=60,\n size_in_mb=10,\n ),\n remark=\"remark.\")\nexample_topic = tencentcloud.tdmq.Topic(\"exampleTopic\",\n environ_id=example_namespace.environ_name,\n cluster_id=example_instance.id,\n topic_name=\"tf-example-topic\",\n partitions=6,\n pulsar_topic_type=3,\n remark=\"remark.\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleInstance = new Tencentcloud.Tdmq.Instance(\"exampleInstance\", new()\n {\n ClusterName = \"tf_example\",\n Remark = \"remark.\",\n Tags = \n {\n { \"createdBy\", \"terraform\" },\n },\n });\n\n var exampleNamespace = new Tencentcloud.Tdmq.Namespace(\"exampleNamespace\", new()\n {\n EnvironName = \"tf_example\",\n MsgTtl = 300,\n ClusterId = exampleInstance.Id,\n RetentionPolicy = new Tencentcloud.Tdmq.Inputs.NamespaceRetentionPolicyArgs\n {\n TimeInMinutes = 60,\n SizeInMb = 10,\n },\n Remark = \"remark.\",\n });\n\n var exampleTopic = new Tencentcloud.Tdmq.Topic(\"exampleTopic\", new()\n {\n EnvironId = exampleNamespace.EnvironName,\n ClusterId = exampleInstance.Id,\n TopicName = \"tf-example-topic\",\n Partitions = 6,\n PulsarTopicType = 3,\n Remark = \"remark.\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Tdmq\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleInstance, err := Tdmq.NewInstance(ctx, \"exampleInstance\", \u0026Tdmq.InstanceArgs{\n\t\t\tClusterName: pulumi.String(\"tf_example\"),\n\t\t\tRemark: pulumi.String(\"remark.\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"createdBy\": pulumi.Any(\"terraform\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNamespace, err := Tdmq.NewNamespace(ctx, \"exampleNamespace\", \u0026Tdmq.NamespaceArgs{\n\t\t\tEnvironName: pulumi.String(\"tf_example\"),\n\t\t\tMsgTtl: pulumi.Int(300),\n\t\t\tClusterId: exampleInstance.ID(),\n\t\t\tRetentionPolicy: \u0026tdmq.NamespaceRetentionPolicyArgs{\n\t\t\t\tTimeInMinutes: pulumi.Int(60),\n\t\t\t\tSizeInMb: pulumi.Int(10),\n\t\t\t},\n\t\t\tRemark: pulumi.String(\"remark.\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = Tdmq.NewTopic(ctx, \"exampleTopic\", \u0026Tdmq.TopicArgs{\n\t\t\tEnvironId: exampleNamespace.EnvironName,\n\t\t\tClusterId: exampleInstance.ID(),\n\t\t\tTopicName: pulumi.String(\"tf-example-topic\"),\n\t\t\tPartitions: pulumi.Int(6),\n\t\t\tPulsarTopicType: pulumi.Int(3),\n\t\t\tRemark: pulumi.String(\"remark.\"),\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.tencentcloud.Tdmq.Instance;\nimport com.pulumi.tencentcloud.Tdmq.InstanceArgs;\nimport com.pulumi.tencentcloud.Tdmq.Namespace;\nimport com.pulumi.tencentcloud.Tdmq.NamespaceArgs;\nimport com.pulumi.tencentcloud.Tdmq.inputs.NamespaceRetentionPolicyArgs;\nimport com.pulumi.tencentcloud.Tdmq.Topic;\nimport com.pulumi.tencentcloud.Tdmq.TopicArgs;\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 exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder() \n .clusterName(\"tf_example\")\n .remark(\"remark.\")\n .tags(Map.of(\"createdBy\", \"terraform\"))\n .build());\n\n var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder() \n .environName(\"tf_example\")\n .msgTtl(300)\n .clusterId(exampleInstance.id())\n .retentionPolicy(NamespaceRetentionPolicyArgs.builder()\n .timeInMinutes(60)\n .sizeInMb(10)\n .build())\n .remark(\"remark.\")\n .build());\n\n var exampleTopic = new Topic(\"exampleTopic\", TopicArgs.builder() \n .environId(exampleNamespace.environName())\n .clusterId(exampleInstance.id())\n .topicName(\"tf-example-topic\")\n .partitions(6)\n .pulsarTopicType(3)\n .remark(\"remark.\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleInstance:\n type: tencentcloud:Tdmq:Instance\n properties:\n clusterName: tf_example\n remark: remark.\n tags:\n createdBy: terraform\n exampleNamespace:\n type: tencentcloud:Tdmq:Namespace\n properties:\n environName: tf_example\n msgTtl: 300\n clusterId: ${exampleInstance.id}\n retentionPolicy:\n timeInMinutes: 60\n sizeInMb: 10\n remark: remark.\n exampleTopic:\n type: tencentcloud:Tdmq:Topic\n properties:\n environId: ${exampleNamespace.environName}\n clusterId: ${exampleInstance.id}\n topicName: tf-example-topic\n partitions: 6\n pulsarTopicType: 3\n remark: remark.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "clusterId": { "type": "string", @@ -206832,7 +208453,8 @@ "inputProperties": { "clusterId": { "type": "string", - "description": "The Dedicated Cluster Id.\n" + "description": "The Dedicated Cluster Id.\n", + "willReplaceOnChanges": true }, "environId": { "type": "string", @@ -206873,7 +208495,8 @@ "properties": { "clusterId": { "type": "string", - "description": "The Dedicated Cluster Id.\n" + "description": "The Dedicated Cluster Id.\n", + "willReplaceOnChanges": true }, "createTime": { "type": "string", @@ -208020,10 +209643,26 @@ "type": "string", "description": "Accelerated domain name.\n" }, + "httpOriginPort": { + "type": "integer", + "description": "HTTP back-to-origin port, the value is 1-65535, effective when OriginProtocol=FOLLOW/HTTP, if not filled in, the default value is 80.\n" + }, + "httpsOriginPort": { + "type": "integer", + "description": "HTTPS back-to-origin port. The value range is 1-65535. It takes effect when OriginProtocol=FOLLOW/HTTPS. If it is not filled in, the default value is 443.\n" + }, + "ipv6Status": { + "type": "string", + "description": "IPv6 status, the value is: `follow`: follow the site IPv6 configuration; `on`: on; `off`: off. If not filled in, the default is: `follow`.\n" + }, "originInfo": { "$ref": "#/types/tencentcloud:Teo/AccelerationDomainOriginInfo:AccelerationDomainOriginInfo", "description": "Details of the origin.\n" }, + "originProtocol": { + "type": "string", + "description": "Origin return protocol, possible values are: `FOLLOW`: protocol follow; `HTTP`: HTTP protocol back to source; `HTTPS`: HTTPS protocol back to source. If not filled in, the default is: `FOLLOW`.\n" + }, "status": { "type": "string", "description": "Accelerated domain name status, the values are: `online`: enabled; `offline`: disabled.\n" @@ -208036,7 +209675,11 @@ "required": [ "cname", "domainName", + "httpOriginPort", + "httpsOriginPort", + "ipv6Status", "originInfo", + "originProtocol", "zoneId" ], "inputProperties": { @@ -208045,10 +209688,26 @@ "description": "Accelerated domain name.\n", "willReplaceOnChanges": true }, + "httpOriginPort": { + "type": "integer", + "description": "HTTP back-to-origin port, the value is 1-65535, effective when OriginProtocol=FOLLOW/HTTP, if not filled in, the default value is 80.\n" + }, + "httpsOriginPort": { + "type": "integer", + "description": "HTTPS back-to-origin port. The value range is 1-65535. It takes effect when OriginProtocol=FOLLOW/HTTPS. If it is not filled in, the default value is 443.\n" + }, + "ipv6Status": { + "type": "string", + "description": "IPv6 status, the value is: `follow`: follow the site IPv6 configuration; `on`: on; `off`: off. If not filled in, the default is: `follow`.\n" + }, "originInfo": { "$ref": "#/types/tencentcloud:Teo/AccelerationDomainOriginInfo:AccelerationDomainOriginInfo", "description": "Details of the origin.\n" }, + "originProtocol": { + "type": "string", + "description": "Origin return protocol, possible values are: `FOLLOW`: protocol follow; `HTTP`: HTTP protocol back to source; `HTTPS`: HTTPS protocol back to source. If not filled in, the default is: `FOLLOW`.\n" + }, "status": { "type": "string", "description": "Accelerated domain name status, the values are: `online`: enabled; `offline`: disabled.\n" @@ -208076,10 +209735,26 @@ "description": "Accelerated domain name.\n", "willReplaceOnChanges": true }, + "httpOriginPort": { + "type": "integer", + "description": "HTTP back-to-origin port, the value is 1-65535, effective when OriginProtocol=FOLLOW/HTTP, if not filled in, the default value is 80.\n" + }, + "httpsOriginPort": { + "type": "integer", + "description": "HTTPS back-to-origin port. The value range is 1-65535. It takes effect when OriginProtocol=FOLLOW/HTTPS. If it is not filled in, the default value is 443.\n" + }, + "ipv6Status": { + "type": "string", + "description": "IPv6 status, the value is: `follow`: follow the site IPv6 configuration; `on`: on; `off`: off. If not filled in, the default is: `follow`.\n" + }, "originInfo": { "$ref": "#/types/tencentcloud:Teo/AccelerationDomainOriginInfo:AccelerationDomainOriginInfo", "description": "Details of the origin.\n" }, + "originProtocol": { + "type": "string", + "description": "Origin return protocol, possible values are: `FOLLOW`: protocol follow; `HTTP`: HTTP protocol back to source; `HTTPS`: HTTPS protocol back to source. If not filled in, the default is: `FOLLOW`.\n" + }, "status": { "type": "string", "description": "Accelerated domain name status, the values are: `online`: enabled; `offline`: disabled.\n" @@ -208851,6 +210526,273 @@ "type": "object" } }, + "tencentcloud:Teo/realtimeLogDelivery:RealtimeLogDelivery": { + "description": "Provides a resource to create a teo teo_realtime_log_delivery\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst teoRealtimeLogDelivery = new tencentcloud.teo.RealtimeLogDelivery(\"teoRealtimeLogDelivery\", {\n area: \"overseas\",\n deliveryStatus: \"disabled\",\n entityLists: [\"sid-2yvhjw98uaco\"],\n fields: [\n \"ServiceID\",\n \"ConnectTimeStamp\",\n \"DisconnetTimeStamp\",\n \"DisconnetReason\",\n \"ClientRealIP\",\n \"ClientRegion\",\n \"EdgeIP\",\n \"ForwardProtocol\",\n \"ForwardPort\",\n \"SentBytes\",\n \"ReceivedBytes\",\n \"LogTimeStamp\",\n ],\n logFormat: {\n fieldDelimiter: \",\",\n formatType: \"json\",\n recordDelimiter: `\n\n`,\n recordPrefix: \"{\",\n recordSuffix: \"}\",\n },\n logType: \"application\",\n s3: {\n accessId: \"xxxxxxxxxx\",\n accessKey: \"xxxxxxxxxx\",\n bucket: \"test-1253833068\",\n compressType: \"gzip\",\n endpoint: \"https://test-1253833068.cos.ap-nanjing.myqcloud.com\",\n region: \"ap-nanjing\",\n },\n sample: 0,\n taskName: \"test\",\n taskType: \"s3\",\n zoneId: \"zone-2qtuhspy7cr6\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nteo_realtime_log_delivery = tencentcloud.teo.RealtimeLogDelivery(\"teoRealtimeLogDelivery\",\n area=\"overseas\",\n delivery_status=\"disabled\",\n entity_lists=[\"sid-2yvhjw98uaco\"],\n fields=[\n \"ServiceID\",\n \"ConnectTimeStamp\",\n \"DisconnetTimeStamp\",\n \"DisconnetReason\",\n \"ClientRealIP\",\n \"ClientRegion\",\n \"EdgeIP\",\n \"ForwardProtocol\",\n \"ForwardPort\",\n \"SentBytes\",\n \"ReceivedBytes\",\n \"LogTimeStamp\",\n ],\n log_format=tencentcloud.teo.RealtimeLogDeliveryLogFormatArgs(\n field_delimiter=\",\",\n format_type=\"json\",\n record_delimiter=\"\"\"\n\n\"\"\",\n record_prefix=\"{\",\n record_suffix=\"}\",\n ),\n log_type=\"application\",\n s3=tencentcloud.teo.RealtimeLogDeliveryS3Args(\n access_id=\"xxxxxxxxxx\",\n access_key=\"xxxxxxxxxx\",\n bucket=\"test-1253833068\",\n compress_type=\"gzip\",\n endpoint=\"https://test-1253833068.cos.ap-nanjing.myqcloud.com\",\n region=\"ap-nanjing\",\n ),\n sample=0,\n task_name=\"test\",\n task_type=\"s3\",\n zone_id=\"zone-2qtuhspy7cr6\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var teoRealtimeLogDelivery = new Tencentcloud.Teo.RealtimeLogDelivery(\"teoRealtimeLogDelivery\", new()\n {\n Area = \"overseas\",\n DeliveryStatus = \"disabled\",\n EntityLists = new[]\n {\n \"sid-2yvhjw98uaco\",\n },\n Fields = new[]\n {\n \"ServiceID\",\n \"ConnectTimeStamp\",\n \"DisconnetTimeStamp\",\n \"DisconnetReason\",\n \"ClientRealIP\",\n \"ClientRegion\",\n \"EdgeIP\",\n \"ForwardProtocol\",\n \"ForwardPort\",\n \"SentBytes\",\n \"ReceivedBytes\",\n \"LogTimeStamp\",\n },\n LogFormat = new Tencentcloud.Teo.Inputs.RealtimeLogDeliveryLogFormatArgs\n {\n FieldDelimiter = \",\",\n FormatType = \"json\",\n RecordDelimiter = @\"\n\n\",\n RecordPrefix = \"{\",\n RecordSuffix = \"}\",\n },\n LogType = \"application\",\n S3 = new Tencentcloud.Teo.Inputs.RealtimeLogDeliveryS3Args\n {\n AccessId = \"xxxxxxxxxx\",\n AccessKey = \"xxxxxxxxxx\",\n Bucket = \"test-1253833068\",\n CompressType = \"gzip\",\n Endpoint = \"https://test-1253833068.cos.ap-nanjing.myqcloud.com\",\n Region = \"ap-nanjing\",\n },\n Sample = 0,\n TaskName = \"test\",\n TaskType = \"s3\",\n ZoneId = \"zone-2qtuhspy7cr6\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Teo\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Teo.NewRealtimeLogDelivery(ctx, \"teoRealtimeLogDelivery\", \u0026Teo.RealtimeLogDeliveryArgs{\n\t\t\tArea: pulumi.String(\"overseas\"),\n\t\t\tDeliveryStatus: pulumi.String(\"disabled\"),\n\t\t\tEntityLists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sid-2yvhjw98uaco\"),\n\t\t\t},\n\t\t\tFields: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ServiceID\"),\n\t\t\t\tpulumi.String(\"ConnectTimeStamp\"),\n\t\t\t\tpulumi.String(\"DisconnetTimeStamp\"),\n\t\t\t\tpulumi.String(\"DisconnetReason\"),\n\t\t\t\tpulumi.String(\"ClientRealIP\"),\n\t\t\t\tpulumi.String(\"ClientRegion\"),\n\t\t\t\tpulumi.String(\"EdgeIP\"),\n\t\t\t\tpulumi.String(\"ForwardProtocol\"),\n\t\t\t\tpulumi.String(\"ForwardPort\"),\n\t\t\t\tpulumi.String(\"SentBytes\"),\n\t\t\t\tpulumi.String(\"ReceivedBytes\"),\n\t\t\t\tpulumi.String(\"LogTimeStamp\"),\n\t\t\t},\n\t\t\tLogFormat: \u0026teo.RealtimeLogDeliveryLogFormatArgs{\n\t\t\t\tFieldDelimiter: pulumi.String(\",\"),\n\t\t\t\tFormatType: pulumi.String(\"json\"),\n\t\t\t\tRecordDelimiter: pulumi.String(\"\\n\\n\"),\n\t\t\t\tRecordPrefix: pulumi.String(\"{\"),\n\t\t\t\tRecordSuffix: pulumi.String(\"}\"),\n\t\t\t},\n\t\t\tLogType: pulumi.String(\"application\"),\n\t\t\tS3: \u0026teo.RealtimeLogDeliveryS3Args{\n\t\t\t\tAccessId: pulumi.String(\"xxxxxxxxxx\"),\n\t\t\t\tAccessKey: pulumi.String(\"xxxxxxxxxx\"),\n\t\t\t\tBucket: pulumi.String(\"test-1253833068\"),\n\t\t\t\tCompressType: pulumi.String(\"gzip\"),\n\t\t\t\tEndpoint: pulumi.String(\"https://test-1253833068.cos.ap-nanjing.myqcloud.com\"),\n\t\t\t\tRegion: pulumi.String(\"ap-nanjing\"),\n\t\t\t},\n\t\t\tSample: pulumi.Int(0),\n\t\t\tTaskName: pulumi.String(\"test\"),\n\t\t\tTaskType: pulumi.String(\"s3\"),\n\t\t\tZoneId: pulumi.String(\"zone-2qtuhspy7cr6\"),\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.tencentcloud.Teo.RealtimeLogDelivery;\nimport com.pulumi.tencentcloud.Teo.RealtimeLogDeliveryArgs;\nimport com.pulumi.tencentcloud.Teo.inputs.RealtimeLogDeliveryLogFormatArgs;\nimport com.pulumi.tencentcloud.Teo.inputs.RealtimeLogDeliveryS3Args;\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 teoRealtimeLogDelivery = new RealtimeLogDelivery(\"teoRealtimeLogDelivery\", RealtimeLogDeliveryArgs.builder() \n .area(\"overseas\")\n .deliveryStatus(\"disabled\")\n .entityLists(\"sid-2yvhjw98uaco\")\n .fields( \n \"ServiceID\",\n \"ConnectTimeStamp\",\n \"DisconnetTimeStamp\",\n \"DisconnetReason\",\n \"ClientRealIP\",\n \"ClientRegion\",\n \"EdgeIP\",\n \"ForwardProtocol\",\n \"ForwardPort\",\n \"SentBytes\",\n \"ReceivedBytes\",\n \"LogTimeStamp\")\n .logFormat(RealtimeLogDeliveryLogFormatArgs.builder()\n .fieldDelimiter(\",\")\n .formatType(\"json\")\n .recordDelimiter(\"\"\"\n\n\n \"\"\")\n .recordPrefix(\"{\")\n .recordSuffix(\"}\")\n .build())\n .logType(\"application\")\n .s3(RealtimeLogDeliveryS3Args.builder()\n .accessId(\"xxxxxxxxxx\")\n .accessKey(\"xxxxxxxxxx\")\n .bucket(\"test-1253833068\")\n .compressType(\"gzip\")\n .endpoint(\"https://test-1253833068.cos.ap-nanjing.myqcloud.com\")\n .region(\"ap-nanjing\")\n .build())\n .sample(0)\n .taskName(\"test\")\n .taskType(\"s3\")\n .zoneId(\"zone-2qtuhspy7cr6\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n teoRealtimeLogDelivery:\n type: tencentcloud:Teo:RealtimeLogDelivery\n properties:\n area: overseas\n deliveryStatus: disabled\n entityLists:\n - sid-2yvhjw98uaco\n fields:\n - ServiceID\n - ConnectTimeStamp\n - DisconnetTimeStamp\n - DisconnetReason\n - ClientRealIP\n - ClientRegion\n - EdgeIP\n - ForwardProtocol\n - ForwardPort\n - SentBytes\n - ReceivedBytes\n - LogTimeStamp\n logFormat:\n fieldDelimiter: ','\n formatType: json\n recordDelimiter: |2+\n\n recordPrefix: '{'\n recordSuffix: '}'\n logType: application\n s3:\n accessId: xxxxxxxxxx\n accessKey: xxxxxxxxxx\n bucket: test-1253833068\n compressType: gzip\n endpoint: https://test-1253833068.cos.ap-nanjing.myqcloud.com\n region: ap-nanjing\n sample: 0\n taskName: test\n taskType: s3\n zoneId: zone-2qtuhspy7cr6\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nteo teo_realtime_log_delivery can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Teo/realtimeLogDelivery:RealtimeLogDelivery teo_realtime_log_delivery zoneId#taskId\n```\n\n", + "properties": { + "area": { + "type": "string", + "description": "Data delivery area, possible values are: `mainland`: within mainland China; `overseas`: worldwide (excluding mainland China).\n" + }, + "cls": { + "$ref": "#/types/tencentcloud:Teo/RealtimeLogDeliveryCls:RealtimeLogDeliveryCls", + "description": "CLS configuration information. This parameter is required when TaskType is cls.\n" + }, + "customEndpoint": { + "$ref": "#/types/tencentcloud:Teo/RealtimeLogDeliveryCustomEndpoint:RealtimeLogDeliveryCustomEndpoint", + "description": "Customize the configuration information of the HTTP service. This parameter is required when TaskType is set to custom_endpoint.\n" + }, + "customFields": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Teo/RealtimeLogDeliveryCustomField:RealtimeLogDeliveryCustomField" + }, + "description": "The list of custom fields delivered supports extracting specified field values from HTTP request headers, response headers, and cookies. Custom field names cannot be repeated and cannot exceed 200 fields.\n" + }, + "deliveryConditions": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Teo/RealtimeLogDeliveryDeliveryCondition:RealtimeLogDeliveryDeliveryCondition" + }, + "description": "The filter condition for log delivery. If it is not filled, all logs will be delivered.\n" + }, + "deliveryStatus": { + "type": "string", + "description": "The status of the real-time log delivery task. The values are: `enabled`: enabled; `disabled`: disabled. Leave it blank to keep the original configuration. Not required when creating.\n" + }, + "entityLists": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of entities (seven-layer domain names or four-layer proxy instances) corresponding to real-time log delivery tasks. Example values are as follows: Seven-layer domain name: `domain.example.com`; four-layer proxy instance: sid-2s69eb5wcms7. For values, refer to: `https://cloud.tencent.com/document/api/1552/80690`, `https://cloud.tencent.com/document/api/1552/86336`.\n" + }, + "fields": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of preset fields for delivery.\n" + }, + "logFormat": { + "$ref": "#/types/tencentcloud:Teo/RealtimeLogDeliveryLogFormat:RealtimeLogDeliveryLogFormat", + "description": "The output format of log delivery. If it is not filled, it means the default format. The default format logic is as follows: when TaskType is `custom_endpoint`, the default format is an array of multiple JSON objects, each JSON object is a log; when TaskType is `s3`, the default format is JSON Lines; in particular, when TaskType is `cls`, the value of LogFormat.FormatType can only be json, and other parameters in LogFormat will be ignored. It is recommended not to pass LogFormat.\n" + }, + "logType": { + "type": "string", + "description": "Data delivery type, the values are: `domain`: site acceleration log; `application`: four-layer proxy log; `web-rateLiming`: rate limit and CC attack protection log; `web-attack`: managed rule log; `web-rule`: custom rule log; `web-bot`: Bot management log.\n" + }, + "s3": { + "$ref": "#/types/tencentcloud:Teo/RealtimeLogDeliveryS3:RealtimeLogDeliveryS3", + "description": "Configuration information of AWS S3 compatible storage bucket. This parameter is required when TaskType is s3.\n" + }, + "sample": { + "type": "integer", + "description": "The sampling ratio is in thousandths, with a value range of 1-1000. For example, filling in 605 means the sampling ratio is 60.5%. Leaving it blank means the sampling ratio is 100%.\n" + }, + "taskId": { + "type": "string", + "description": "Real-time log delivery task ID.\n" + }, + "taskName": { + "type": "string", + "description": "The name of the real-time log delivery task. The format is a combination of numbers, English, -, and _. The maximum length is 200 characters.\n" + }, + "taskType": { + "type": "string", + "description": "The real-time log delivery task type. The possible values are: `cls`: push to Tencent Cloud CLS; `custom_endpoint`: push to a custom HTTP(S) address; `s3`: push to an AWS S3 compatible storage bucket address.\n" + }, + "zoneId": { + "type": "string", + "description": "ID of the site.\n" + } + }, + "required": [ + "area", + "cls", + "customEndpoint", + "customFields", + "deliveryConditions", + "deliveryStatus", + "entityLists", + "fields", + "logFormat", + "logType", + "s3", + "sample", + "taskId", + "taskName", + "taskType", + "zoneId" + ], + "inputProperties": { + "area": { + "type": "string", + "description": "Data delivery area, possible values are: `mainland`: within mainland China; `overseas`: worldwide (excluding mainland China).\n" + }, + "cls": { + "$ref": "#/types/tencentcloud:Teo/RealtimeLogDeliveryCls:RealtimeLogDeliveryCls", + "description": "CLS configuration information. This parameter is required when TaskType is cls.\n" + }, + "customEndpoint": { + "$ref": "#/types/tencentcloud:Teo/RealtimeLogDeliveryCustomEndpoint:RealtimeLogDeliveryCustomEndpoint", + "description": "Customize the configuration information of the HTTP service. This parameter is required when TaskType is set to custom_endpoint.\n" + }, + "customFields": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Teo/RealtimeLogDeliveryCustomField:RealtimeLogDeliveryCustomField" + }, + "description": "The list of custom fields delivered supports extracting specified field values from HTTP request headers, response headers, and cookies. Custom field names cannot be repeated and cannot exceed 200 fields.\n" + }, + "deliveryConditions": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Teo/RealtimeLogDeliveryDeliveryCondition:RealtimeLogDeliveryDeliveryCondition" + }, + "description": "The filter condition for log delivery. If it is not filled, all logs will be delivered.\n" + }, + "deliveryStatus": { + "type": "string", + "description": "The status of the real-time log delivery task. The values are: `enabled`: enabled; `disabled`: disabled. Leave it blank to keep the original configuration. Not required when creating.\n" + }, + "entityLists": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of entities (seven-layer domain names or four-layer proxy instances) corresponding to real-time log delivery tasks. Example values are as follows: Seven-layer domain name: `domain.example.com`; four-layer proxy instance: sid-2s69eb5wcms7. For values, refer to: `https://cloud.tencent.com/document/api/1552/80690`, `https://cloud.tencent.com/document/api/1552/86336`.\n" + }, + "fields": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of preset fields for delivery.\n" + }, + "logFormat": { + "$ref": "#/types/tencentcloud:Teo/RealtimeLogDeliveryLogFormat:RealtimeLogDeliveryLogFormat", + "description": "The output format of log delivery. If it is not filled, it means the default format. The default format logic is as follows: when TaskType is `custom_endpoint`, the default format is an array of multiple JSON objects, each JSON object is a log; when TaskType is `s3`, the default format is JSON Lines; in particular, when TaskType is `cls`, the value of LogFormat.FormatType can only be json, and other parameters in LogFormat will be ignored. It is recommended not to pass LogFormat.\n" + }, + "logType": { + "type": "string", + "description": "Data delivery type, the values are: `domain`: site acceleration log; `application`: four-layer proxy log; `web-rateLiming`: rate limit and CC attack protection log; `web-attack`: managed rule log; `web-rule`: custom rule log; `web-bot`: Bot management log.\n" + }, + "s3": { + "$ref": "#/types/tencentcloud:Teo/RealtimeLogDeliveryS3:RealtimeLogDeliveryS3", + "description": "Configuration information of AWS S3 compatible storage bucket. This parameter is required when TaskType is s3.\n" + }, + "sample": { + "type": "integer", + "description": "The sampling ratio is in thousandths, with a value range of 1-1000. For example, filling in 605 means the sampling ratio is 60.5%. Leaving it blank means the sampling ratio is 100%.\n" + }, + "taskName": { + "type": "string", + "description": "The name of the real-time log delivery task. The format is a combination of numbers, English, -, and _. The maximum length is 200 characters.\n" + }, + "taskType": { + "type": "string", + "description": "The real-time log delivery task type. The possible values are: `cls`: push to Tencent Cloud CLS; `custom_endpoint`: push to a custom HTTP(S) address; `s3`: push to an AWS S3 compatible storage bucket address.\n" + }, + "zoneId": { + "type": "string", + "description": "ID of the site.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "area", + "entityLists", + "fields", + "logType", + "sample", + "taskName", + "taskType", + "zoneId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering RealtimeLogDelivery resources.\n", + "properties": { + "area": { + "type": "string", + "description": "Data delivery area, possible values are: `mainland`: within mainland China; `overseas`: worldwide (excluding mainland China).\n" + }, + "cls": { + "$ref": "#/types/tencentcloud:Teo/RealtimeLogDeliveryCls:RealtimeLogDeliveryCls", + "description": "CLS configuration information. This parameter is required when TaskType is cls.\n" + }, + "customEndpoint": { + "$ref": "#/types/tencentcloud:Teo/RealtimeLogDeliveryCustomEndpoint:RealtimeLogDeliveryCustomEndpoint", + "description": "Customize the configuration information of the HTTP service. This parameter is required when TaskType is set to custom_endpoint.\n" + }, + "customFields": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Teo/RealtimeLogDeliveryCustomField:RealtimeLogDeliveryCustomField" + }, + "description": "The list of custom fields delivered supports extracting specified field values from HTTP request headers, response headers, and cookies. Custom field names cannot be repeated and cannot exceed 200 fields.\n" + }, + "deliveryConditions": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Teo/RealtimeLogDeliveryDeliveryCondition:RealtimeLogDeliveryDeliveryCondition" + }, + "description": "The filter condition for log delivery. If it is not filled, all logs will be delivered.\n" + }, + "deliveryStatus": { + "type": "string", + "description": "The status of the real-time log delivery task. The values are: `enabled`: enabled; `disabled`: disabled. Leave it blank to keep the original configuration. Not required when creating.\n" + }, + "entityLists": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of entities (seven-layer domain names or four-layer proxy instances) corresponding to real-time log delivery tasks. Example values are as follows: Seven-layer domain name: `domain.example.com`; four-layer proxy instance: sid-2s69eb5wcms7. For values, refer to: `https://cloud.tencent.com/document/api/1552/80690`, `https://cloud.tencent.com/document/api/1552/86336`.\n" + }, + "fields": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of preset fields for delivery.\n" + }, + "logFormat": { + "$ref": "#/types/tencentcloud:Teo/RealtimeLogDeliveryLogFormat:RealtimeLogDeliveryLogFormat", + "description": "The output format of log delivery. If it is not filled, it means the default format. The default format logic is as follows: when TaskType is `custom_endpoint`, the default format is an array of multiple JSON objects, each JSON object is a log; when TaskType is `s3`, the default format is JSON Lines; in particular, when TaskType is `cls`, the value of LogFormat.FormatType can only be json, and other parameters in LogFormat will be ignored. It is recommended not to pass LogFormat.\n" + }, + "logType": { + "type": "string", + "description": "Data delivery type, the values are: `domain`: site acceleration log; `application`: four-layer proxy log; `web-rateLiming`: rate limit and CC attack protection log; `web-attack`: managed rule log; `web-rule`: custom rule log; `web-bot`: Bot management log.\n" + }, + "s3": { + "$ref": "#/types/tencentcloud:Teo/RealtimeLogDeliveryS3:RealtimeLogDeliveryS3", + "description": "Configuration information of AWS S3 compatible storage bucket. This parameter is required when TaskType is s3.\n" + }, + "sample": { + "type": "integer", + "description": "The sampling ratio is in thousandths, with a value range of 1-1000. For example, filling in 605 means the sampling ratio is 60.5%. Leaving it blank means the sampling ratio is 100%.\n" + }, + "taskId": { + "type": "string", + "description": "Real-time log delivery task ID.\n" + }, + "taskName": { + "type": "string", + "description": "The name of the real-time log delivery task. The format is a combination of numbers, English, -, and _. The maximum length is 200 characters.\n" + }, + "taskType": { + "type": "string", + "description": "The real-time log delivery task type. The possible values are: `cls`: push to Tencent Cloud CLS; `custom_endpoint`: push to a custom HTTP(S) address; `s3`: push to an AWS S3 compatible storage bucket address.\n" + }, + "zoneId": { + "type": "string", + "description": "ID of the site.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, "tencentcloud:Teo/ruleEngine:RuleEngine": { "description": "Provides a resource to create a teo rule_engine\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst rule1 = new tencentcloud.teo.RuleEngine(\"rule1\", {\n zoneId: tencentcloud_teo_zone.example.id,\n ruleName: \"test-rule\",\n status: \"disable\",\n rules: [{\n actions: [{\n normalAction: {\n action: \"UpstreamUrlRedirect\",\n parameters: [\n {\n name: \"Type\",\n values: [\"Path\"],\n },\n {\n name: \"Action\",\n values: [\"addPrefix\"],\n },\n {\n name: \"Value\",\n values: [\"/sss\"],\n },\n ],\n },\n }],\n ors: [\n {\n ands: [\n {\n operator: \"equal\",\n target: \"host\",\n ignoreCase: false,\n values: [\"a.tf-teo-t.xyz\"],\n },\n {\n operator: \"equal\",\n target: \"extension\",\n ignoreCase: false,\n values: [\"jpg\"],\n },\n ],\n },\n {\n ands: [{\n operator: \"equal\",\n target: \"filename\",\n ignoreCase: false,\n values: [\"test.txt\"],\n }],\n },\n ],\n subRules: [{\n tags: [\"png\"],\n rules: [{\n ors: [\n {\n ands: [\n {\n operator: \"notequal\",\n target: \"host\",\n ignoreCase: false,\n values: [\"a.tf-teo-t.xyz\"],\n },\n {\n operator: \"equal\",\n target: \"extension\",\n ignoreCase: false,\n values: [\"png\"],\n },\n ],\n },\n {\n ands: [{\n operator: \"notequal\",\n target: \"filename\",\n ignoreCase: false,\n values: [\"test.txt\"],\n }],\n },\n ],\n actions: [{\n normalAction: {\n action: \"UpstreamUrlRedirect\",\n parameters: [\n {\n name: \"Type\",\n values: [\"Path\"],\n },\n {\n name: \"Action\",\n values: [\"addPrefix\"],\n },\n {\n name: \"Value\",\n values: [\"/www\"],\n },\n ],\n },\n }],\n }],\n }],\n }],\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nrule1 = tencentcloud.teo.RuleEngine(\"rule1\",\n zone_id=tencentcloud_teo_zone[\"example\"][\"id\"],\n rule_name=\"test-rule\",\n status=\"disable\",\n rules=[tencentcloud.teo.RuleEngineRuleArgs(\n actions=[tencentcloud.teo.RuleEngineRuleActionArgs(\n normal_action=tencentcloud.teo.RuleEngineRuleActionNormalActionArgs(\n action=\"UpstreamUrlRedirect\",\n parameters=[\n tencentcloud.teo.RuleEngineRuleActionNormalActionParameterArgs(\n name=\"Type\",\n values=[\"Path\"],\n ),\n tencentcloud.teo.RuleEngineRuleActionNormalActionParameterArgs(\n name=\"Action\",\n values=[\"addPrefix\"],\n ),\n tencentcloud.teo.RuleEngineRuleActionNormalActionParameterArgs(\n name=\"Value\",\n values=[\"/sss\"],\n ),\n ],\n ),\n )],\n ors=[\n tencentcloud.teo.RuleEngineRuleOrArgs(\n ands=[\n tencentcloud.teo.RuleEngineRuleOrAndArgs(\n operator=\"equal\",\n target=\"host\",\n ignore_case=False,\n values=[\"a.tf-teo-t.xyz\"],\n ),\n tencentcloud.teo.RuleEngineRuleOrAndArgs(\n operator=\"equal\",\n target=\"extension\",\n ignore_case=False,\n values=[\"jpg\"],\n ),\n ],\n ),\n tencentcloud.teo.RuleEngineRuleOrArgs(\n ands=[tencentcloud.teo.RuleEngineRuleOrAndArgs(\n operator=\"equal\",\n target=\"filename\",\n ignore_case=False,\n values=[\"test.txt\"],\n )],\n ),\n ],\n sub_rules=[tencentcloud.teo.RuleEngineRuleSubRuleArgs(\n tags=[\"png\"],\n rules=[tencentcloud.teo.RuleEngineRuleSubRuleRuleArgs(\n ors=[\n tencentcloud.teo.RuleEngineRuleSubRuleRuleOrArgs(\n ands=[\n tencentcloud.teo.RuleEngineRuleSubRuleRuleOrAndArgs(\n operator=\"notequal\",\n target=\"host\",\n ignore_case=False,\n values=[\"a.tf-teo-t.xyz\"],\n ),\n tencentcloud.teo.RuleEngineRuleSubRuleRuleOrAndArgs(\n operator=\"equal\",\n target=\"extension\",\n ignore_case=False,\n values=[\"png\"],\n ),\n ],\n ),\n tencentcloud.teo.RuleEngineRuleSubRuleRuleOrArgs(\n ands=[tencentcloud.teo.RuleEngineRuleSubRuleRuleOrAndArgs(\n operator=\"notequal\",\n target=\"filename\",\n ignore_case=False,\n values=[\"test.txt\"],\n )],\n ),\n ],\n actions=[tencentcloud.teo.RuleEngineRuleSubRuleRuleActionArgs(\n normal_action=tencentcloud.teo.RuleEngineRuleSubRuleRuleActionNormalActionArgs(\n action=\"UpstreamUrlRedirect\",\n parameters=[\n tencentcloud.teo.RuleEngineRuleSubRuleRuleActionNormalActionParameterArgs(\n name=\"Type\",\n values=[\"Path\"],\n ),\n tencentcloud.teo.RuleEngineRuleSubRuleRuleActionNormalActionParameterArgs(\n name=\"Action\",\n values=[\"addPrefix\"],\n ),\n tencentcloud.teo.RuleEngineRuleSubRuleRuleActionNormalActionParameterArgs(\n name=\"Value\",\n values=[\"/www\"],\n ),\n ],\n ),\n )],\n )],\n )],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var rule1 = new Tencentcloud.Teo.RuleEngine(\"rule1\", new()\n {\n ZoneId = tencentcloud_teo_zone.Example.Id,\n RuleName = \"test-rule\",\n Status = \"disable\",\n Rules = new[]\n {\n new Tencentcloud.Teo.Inputs.RuleEngineRuleArgs\n {\n Actions = new[]\n {\n new Tencentcloud.Teo.Inputs.RuleEngineRuleActionArgs\n {\n NormalAction = new Tencentcloud.Teo.Inputs.RuleEngineRuleActionNormalActionArgs\n {\n Action = \"UpstreamUrlRedirect\",\n Parameters = new[]\n {\n new Tencentcloud.Teo.Inputs.RuleEngineRuleActionNormalActionParameterArgs\n {\n Name = \"Type\",\n Values = new[]\n {\n \"Path\",\n },\n },\n new Tencentcloud.Teo.Inputs.RuleEngineRuleActionNormalActionParameterArgs\n {\n Name = \"Action\",\n Values = new[]\n {\n \"addPrefix\",\n },\n },\n new Tencentcloud.Teo.Inputs.RuleEngineRuleActionNormalActionParameterArgs\n {\n Name = \"Value\",\n Values = new[]\n {\n \"/sss\",\n },\n },\n },\n },\n },\n },\n Ors = new[]\n {\n new Tencentcloud.Teo.Inputs.RuleEngineRuleOrArgs\n {\n Ands = new[]\n {\n new Tencentcloud.Teo.Inputs.RuleEngineRuleOrAndArgs\n {\n Operator = \"equal\",\n Target = \"host\",\n IgnoreCase = false,\n Values = new[]\n {\n \"a.tf-teo-t.xyz\",\n },\n },\n new Tencentcloud.Teo.Inputs.RuleEngineRuleOrAndArgs\n {\n Operator = \"equal\",\n Target = \"extension\",\n IgnoreCase = false,\n Values = new[]\n {\n \"jpg\",\n },\n },\n },\n },\n new Tencentcloud.Teo.Inputs.RuleEngineRuleOrArgs\n {\n Ands = new[]\n {\n new Tencentcloud.Teo.Inputs.RuleEngineRuleOrAndArgs\n {\n Operator = \"equal\",\n Target = \"filename\",\n IgnoreCase = false,\n Values = new[]\n {\n \"test.txt\",\n },\n },\n },\n },\n },\n SubRules = new[]\n {\n new Tencentcloud.Teo.Inputs.RuleEngineRuleSubRuleArgs\n {\n Tags = new[]\n {\n \"png\",\n },\n Rules = new[]\n {\n new Tencentcloud.Teo.Inputs.RuleEngineRuleSubRuleRuleArgs\n {\n Ors = new[]\n {\n new Tencentcloud.Teo.Inputs.RuleEngineRuleSubRuleRuleOrArgs\n {\n Ands = new[]\n {\n new Tencentcloud.Teo.Inputs.RuleEngineRuleSubRuleRuleOrAndArgs\n {\n Operator = \"notequal\",\n Target = \"host\",\n IgnoreCase = false,\n Values = new[]\n {\n \"a.tf-teo-t.xyz\",\n },\n },\n new Tencentcloud.Teo.Inputs.RuleEngineRuleSubRuleRuleOrAndArgs\n {\n Operator = \"equal\",\n Target = \"extension\",\n IgnoreCase = false,\n Values = new[]\n {\n \"png\",\n },\n },\n },\n },\n new Tencentcloud.Teo.Inputs.RuleEngineRuleSubRuleRuleOrArgs\n {\n Ands = new[]\n {\n new Tencentcloud.Teo.Inputs.RuleEngineRuleSubRuleRuleOrAndArgs\n {\n Operator = \"notequal\",\n Target = \"filename\",\n IgnoreCase = false,\n Values = new[]\n {\n \"test.txt\",\n },\n },\n },\n },\n },\n Actions = new[]\n {\n new Tencentcloud.Teo.Inputs.RuleEngineRuleSubRuleRuleActionArgs\n {\n NormalAction = new Tencentcloud.Teo.Inputs.RuleEngineRuleSubRuleRuleActionNormalActionArgs\n {\n Action = \"UpstreamUrlRedirect\",\n Parameters = new[]\n {\n new Tencentcloud.Teo.Inputs.RuleEngineRuleSubRuleRuleActionNormalActionParameterArgs\n {\n Name = \"Type\",\n Values = new[]\n {\n \"Path\",\n },\n },\n new Tencentcloud.Teo.Inputs.RuleEngineRuleSubRuleRuleActionNormalActionParameterArgs\n {\n Name = \"Action\",\n Values = new[]\n {\n \"addPrefix\",\n },\n },\n new Tencentcloud.Teo.Inputs.RuleEngineRuleSubRuleRuleActionNormalActionParameterArgs\n {\n Name = \"Value\",\n Values = new[]\n {\n \"/www\",\n },\n },\n },\n },\n },\n },\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Teo\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Teo.NewRuleEngine(ctx, \"rule1\", \u0026Teo.RuleEngineArgs{\n\t\t\tZoneId: pulumi.Any(tencentcloud_teo_zone.Example.Id),\n\t\t\tRuleName: pulumi.String(\"test-rule\"),\n\t\t\tStatus: pulumi.String(\"disable\"),\n\t\t\tRules: teo.RuleEngineRuleArray{\n\t\t\t\t\u0026teo.RuleEngineRuleArgs{\n\t\t\t\t\tActions: teo.RuleEngineRuleActionArray{\n\t\t\t\t\t\t\u0026teo.RuleEngineRuleActionArgs{\n\t\t\t\t\t\t\tNormalAction: \u0026teo.RuleEngineRuleActionNormalActionArgs{\n\t\t\t\t\t\t\t\tAction: pulumi.String(\"UpstreamUrlRedirect\"),\n\t\t\t\t\t\t\t\tParameters: teo.RuleEngineRuleActionNormalActionParameterArray{\n\t\t\t\t\t\t\t\t\t\u0026teo.RuleEngineRuleActionNormalActionParameterArgs{\n\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"Type\"),\n\t\t\t\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"Path\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\u0026teo.RuleEngineRuleActionNormalActionParameterArgs{\n\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"Action\"),\n\t\t\t\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"addPrefix\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\u0026teo.RuleEngineRuleActionNormalActionParameterArgs{\n\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"Value\"),\n\t\t\t\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"/sss\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tOrs: teo.RuleEngineRuleOrArray{\n\t\t\t\t\t\t\u0026teo.RuleEngineRuleOrArgs{\n\t\t\t\t\t\t\tAnds: teo.RuleEngineRuleOrAndArray{\n\t\t\t\t\t\t\t\t\u0026teo.RuleEngineRuleOrAndArgs{\n\t\t\t\t\t\t\t\t\tOperator: pulumi.String(\"equal\"),\n\t\t\t\t\t\t\t\t\tTarget: pulumi.String(\"host\"),\n\t\t\t\t\t\t\t\t\tIgnoreCase: pulumi.Bool(false),\n\t\t\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"a.tf-teo-t.xyz\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026teo.RuleEngineRuleOrAndArgs{\n\t\t\t\t\t\t\t\t\tOperator: pulumi.String(\"equal\"),\n\t\t\t\t\t\t\t\t\tTarget: pulumi.String(\"extension\"),\n\t\t\t\t\t\t\t\t\tIgnoreCase: pulumi.Bool(false),\n\t\t\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"jpg\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026teo.RuleEngineRuleOrArgs{\n\t\t\t\t\t\t\tAnds: teo.RuleEngineRuleOrAndArray{\n\t\t\t\t\t\t\t\t\u0026teo.RuleEngineRuleOrAndArgs{\n\t\t\t\t\t\t\t\t\tOperator: pulumi.String(\"equal\"),\n\t\t\t\t\t\t\t\t\tTarget: pulumi.String(\"filename\"),\n\t\t\t\t\t\t\t\t\tIgnoreCase: pulumi.Bool(false),\n\t\t\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"test.txt\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tSubRules: teo.RuleEngineRuleSubRuleArray{\n\t\t\t\t\t\t\u0026teo.RuleEngineRuleSubRuleArgs{\n\t\t\t\t\t\t\tTags: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"png\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tRules: teo.RuleEngineRuleSubRuleRuleArray{\n\t\t\t\t\t\t\t\t\u0026teo.RuleEngineRuleSubRuleRuleArgs{\n\t\t\t\t\t\t\t\t\tOrs: teo.RuleEngineRuleSubRuleRuleOrArray{\n\t\t\t\t\t\t\t\t\t\t\u0026teo.RuleEngineRuleSubRuleRuleOrArgs{\n\t\t\t\t\t\t\t\t\t\t\tAnds: teo.RuleEngineRuleSubRuleRuleOrAndArray{\n\t\t\t\t\t\t\t\t\t\t\t\t\u0026teo.RuleEngineRuleSubRuleRuleOrAndArgs{\n\t\t\t\t\t\t\t\t\t\t\t\t\tOperator: pulumi.String(\"notequal\"),\n\t\t\t\t\t\t\t\t\t\t\t\t\tTarget: pulumi.String(\"host\"),\n\t\t\t\t\t\t\t\t\t\t\t\t\tIgnoreCase: pulumi.Bool(false),\n\t\t\t\t\t\t\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"a.tf-teo-t.xyz\"),\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\u0026teo.RuleEngineRuleSubRuleRuleOrAndArgs{\n\t\t\t\t\t\t\t\t\t\t\t\t\tOperator: pulumi.String(\"equal\"),\n\t\t\t\t\t\t\t\t\t\t\t\t\tTarget: pulumi.String(\"extension\"),\n\t\t\t\t\t\t\t\t\t\t\t\t\tIgnoreCase: pulumi.Bool(false),\n\t\t\t\t\t\t\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"png\"),\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\u0026teo.RuleEngineRuleSubRuleRuleOrArgs{\n\t\t\t\t\t\t\t\t\t\t\tAnds: teo.RuleEngineRuleSubRuleRuleOrAndArray{\n\t\t\t\t\t\t\t\t\t\t\t\t\u0026teo.RuleEngineRuleSubRuleRuleOrAndArgs{\n\t\t\t\t\t\t\t\t\t\t\t\t\tOperator: pulumi.String(\"notequal\"),\n\t\t\t\t\t\t\t\t\t\t\t\t\tTarget: pulumi.String(\"filename\"),\n\t\t\t\t\t\t\t\t\t\t\t\t\tIgnoreCase: pulumi.Bool(false),\n\t\t\t\t\t\t\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"test.txt\"),\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tActions: teo.RuleEngineRuleSubRuleRuleActionArray{\n\t\t\t\t\t\t\t\t\t\t\u0026teo.RuleEngineRuleSubRuleRuleActionArgs{\n\t\t\t\t\t\t\t\t\t\t\tNormalAction: \u0026teo.RuleEngineRuleSubRuleRuleActionNormalActionArgs{\n\t\t\t\t\t\t\t\t\t\t\t\tAction: pulumi.String(\"UpstreamUrlRedirect\"),\n\t\t\t\t\t\t\t\t\t\t\t\tParameters: teo.RuleEngineRuleSubRuleRuleActionNormalActionParameterArray{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\u0026teo.RuleEngineRuleSubRuleRuleActionNormalActionParameterArgs{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"Type\"),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"Path\"),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\u0026teo.RuleEngineRuleSubRuleRuleActionNormalActionParameterArgs{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"Action\"),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"addPrefix\"),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\u0026teo.RuleEngineRuleSubRuleRuleActionNormalActionParameterArgs{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tName: pulumi.String(\"Value\"),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"/www\"),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\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\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.tencentcloud.Teo.RuleEngine;\nimport com.pulumi.tencentcloud.Teo.RuleEngineArgs;\nimport com.pulumi.tencentcloud.Teo.inputs.RuleEngineRuleArgs;\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 rule1 = new RuleEngine(\"rule1\", RuleEngineArgs.builder() \n .zoneId(tencentcloud_teo_zone.example().id())\n .ruleName(\"test-rule\")\n .status(\"disable\")\n .rules(RuleEngineRuleArgs.builder()\n .actions(RuleEngineRuleActionArgs.builder()\n .normalAction(RuleEngineRuleActionNormalActionArgs.builder()\n .action(\"UpstreamUrlRedirect\")\n .parameters( \n RuleEngineRuleActionNormalActionParameterArgs.builder()\n .name(\"Type\")\n .values(\"Path\")\n .build(),\n RuleEngineRuleActionNormalActionParameterArgs.builder()\n .name(\"Action\")\n .values(\"addPrefix\")\n .build(),\n RuleEngineRuleActionNormalActionParameterArgs.builder()\n .name(\"Value\")\n .values(\"/sss\")\n .build())\n .build())\n .build())\n .ors( \n RuleEngineRuleOrArgs.builder()\n .ands( \n RuleEngineRuleOrAndArgs.builder()\n .operator(\"equal\")\n .target(\"host\")\n .ignoreCase(false)\n .values(\"a.tf-teo-t.xyz\")\n .build(),\n RuleEngineRuleOrAndArgs.builder()\n .operator(\"equal\")\n .target(\"extension\")\n .ignoreCase(false)\n .values(\"jpg\")\n .build())\n .build(),\n RuleEngineRuleOrArgs.builder()\n .ands(RuleEngineRuleOrAndArgs.builder()\n .operator(\"equal\")\n .target(\"filename\")\n .ignoreCase(false)\n .values(\"test.txt\")\n .build())\n .build())\n .subRules(RuleEngineRuleSubRuleArgs.builder()\n .tags(\"png\")\n .rules(RuleEngineRuleSubRuleRuleArgs.builder()\n .ors( \n RuleEngineRuleSubRuleRuleOrArgs.builder()\n .ands( \n RuleEngineRuleSubRuleRuleOrAndArgs.builder()\n .operator(\"notequal\")\n .target(\"host\")\n .ignoreCase(false)\n .values(\"a.tf-teo-t.xyz\")\n .build(),\n RuleEngineRuleSubRuleRuleOrAndArgs.builder()\n .operator(\"equal\")\n .target(\"extension\")\n .ignoreCase(false)\n .values(\"png\")\n .build())\n .build(),\n RuleEngineRuleSubRuleRuleOrArgs.builder()\n .ands(RuleEngineRuleSubRuleRuleOrAndArgs.builder()\n .operator(\"notequal\")\n .target(\"filename\")\n .ignoreCase(false)\n .values(\"test.txt\")\n .build())\n .build())\n .actions(RuleEngineRuleSubRuleRuleActionArgs.builder()\n .normalAction(RuleEngineRuleSubRuleRuleActionNormalActionArgs.builder()\n .action(\"UpstreamUrlRedirect\")\n .parameters( \n RuleEngineRuleSubRuleRuleActionNormalActionParameterArgs.builder()\n .name(\"Type\")\n .values(\"Path\")\n .build(),\n RuleEngineRuleSubRuleRuleActionNormalActionParameterArgs.builder()\n .name(\"Action\")\n .values(\"addPrefix\")\n .build(),\n RuleEngineRuleSubRuleRuleActionNormalActionParameterArgs.builder()\n .name(\"Value\")\n .values(\"/www\")\n .build())\n .build())\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n rule1:\n type: tencentcloud:Teo:RuleEngine\n properties:\n zoneId: ${tencentcloud_teo_zone.example.id}\n ruleName: test-rule\n status: disable\n rules:\n - actions:\n - normalAction:\n action: UpstreamUrlRedirect\n parameters:\n - name: Type\n values:\n - Path\n - name: Action\n values:\n - addPrefix\n - name: Value\n values:\n - /sss\n ors:\n - ands:\n - operator: equal\n target: host\n ignoreCase: false\n values:\n - a.tf-teo-t.xyz\n - operator: equal\n target: extension\n ignoreCase: false\n values:\n - jpg\n - ands:\n - operator: equal\n target: filename\n ignoreCase: false\n values:\n - test.txt\n subRules:\n - tags:\n - png\n rules:\n - ors:\n - ands:\n - operator: notequal\n target: host\n ignoreCase: false\n values:\n - a.tf-teo-t.xyz\n - operator: equal\n target: extension\n ignoreCase: false\n values:\n - png\n - ands:\n - operator: notequal\n target: filename\n ignoreCase: false\n values:\n - test.txt\n actions:\n - normalAction:\n action: UpstreamUrlRedirect\n parameters:\n - name: Type\n values:\n - Path\n - name: Action\n values:\n - addPrefix\n - name: Value\n values:\n - /www\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nteo rule_engine can be imported using the id#rule_id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Teo/ruleEngine:RuleEngine rule_engine zone-297z8rf93cfw#rule-ajol584a\n```\n\n", "properties": { @@ -209481,7 +211423,7 @@ } }, "tencentcloud:Trocket/rocketmqInstance:RocketmqInstance": { - "description": "Provides a resource to create a rocketmq 5.x instance\n\n\u003e **NOTE:** It only support create postpaid rocketmq 5.x instance.\n\n## Example Usage\n\n### Basic Instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst rocketmqInstance = new tencentcloud.trocket.RocketmqInstance(\"rocketmqInstance\", {\n instanceType: \"EXPERIMENT\",\n remark: \"remark\",\n skuCode: \"experiment_500\",\n subnetId: \"subnet-xxxxxx\",\n tags: {\n tag_key: \"rocketmq\",\n tag_value: \"5.x\",\n },\n vpcId: \"vpc-xxxxxx\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nrocketmq_instance = tencentcloud.trocket.RocketmqInstance(\"rocketmqInstance\",\n instance_type=\"EXPERIMENT\",\n remark=\"remark\",\n sku_code=\"experiment_500\",\n subnet_id=\"subnet-xxxxxx\",\n tags={\n \"tag_key\": \"rocketmq\",\n \"tag_value\": \"5.x\",\n },\n vpc_id=\"vpc-xxxxxx\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var rocketmqInstance = new Tencentcloud.Trocket.RocketmqInstance(\"rocketmqInstance\", new()\n {\n InstanceType = \"EXPERIMENT\",\n Remark = \"remark\",\n SkuCode = \"experiment_500\",\n SubnetId = \"subnet-xxxxxx\",\n Tags = \n {\n { \"tag_key\", \"rocketmq\" },\n { \"tag_value\", \"5.x\" },\n },\n VpcId = \"vpc-xxxxxx\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Trocket\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Trocket.NewRocketmqInstance(ctx, \"rocketmqInstance\", \u0026Trocket.RocketmqInstanceArgs{\n\t\t\tInstanceType: pulumi.String(\"EXPERIMENT\"),\n\t\t\tRemark: pulumi.String(\"remark\"),\n\t\t\tSkuCode: pulumi.String(\"experiment_500\"),\n\t\t\tSubnetId: pulumi.String(\"subnet-xxxxxx\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"tag_key\": pulumi.Any(\"rocketmq\"),\n\t\t\t\t\"tag_value\": pulumi.Any(\"5.x\"),\n\t\t\t},\n\t\t\tVpcId: pulumi.String(\"vpc-xxxxxx\"),\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.tencentcloud.Trocket.RocketmqInstance;\nimport com.pulumi.tencentcloud.Trocket.RocketmqInstanceArgs;\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 rocketmqInstance = new RocketmqInstance(\"rocketmqInstance\", RocketmqInstanceArgs.builder() \n .instanceType(\"EXPERIMENT\")\n .remark(\"remark\")\n .skuCode(\"experiment_500\")\n .subnetId(\"subnet-xxxxxx\")\n .tags(Map.ofEntries(\n Map.entry(\"tag_key\", \"rocketmq\"),\n Map.entry(\"tag_value\", \"5.x\")\n ))\n .vpcId(\"vpc-xxxxxx\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n rocketmqInstance:\n type: tencentcloud:Trocket:RocketmqInstance\n properties:\n instanceType: EXPERIMENT\n remark: remark\n skuCode: experiment_500\n subnetId: subnet-xxxxxx\n tags:\n tag_key: rocketmq\n tag_value: 5.x\n vpcId: vpc-xxxxxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Enable Public Instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst rocketmqInstancePublic = new tencentcloud.trocket.RocketmqInstance(\"rocketmqInstancePublic\", {\n bandwidth: 1,\n enablePublic: true,\n instanceType: \"EXPERIMENT\",\n remark: \"remark\",\n skuCode: \"experiment_500\",\n subnetId: \"subnet-xxxxxx\",\n tags: {\n tag_key: \"rocketmq\",\n tag_value: \"5.x\",\n },\n vpcId: \"vpc-xxxxxx\",\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\nrocketmq_instance_public = tencentcloud.trocket.RocketmqInstance(\"rocketmqInstancePublic\",\n bandwidth=1,\n enable_public=True,\n instance_type=\"EXPERIMENT\",\n remark=\"remark\",\n sku_code=\"experiment_500\",\n subnet_id=\"subnet-xxxxxx\",\n tags={\n \"tag_key\": \"rocketmq\",\n \"tag_value\": \"5.x\",\n },\n vpc_id=\"vpc-xxxxxx\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var rocketmqInstancePublic = new Tencentcloud.Trocket.RocketmqInstance(\"rocketmqInstancePublic\", new()\n {\n Bandwidth = 1,\n EnablePublic = true,\n InstanceType = \"EXPERIMENT\",\n Remark = \"remark\",\n SkuCode = \"experiment_500\",\n SubnetId = \"subnet-xxxxxx\",\n Tags = \n {\n { \"tag_key\", \"rocketmq\" },\n { \"tag_value\", \"5.x\" },\n },\n VpcId = \"vpc-xxxxxx\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Trocket\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Trocket.NewRocketmqInstance(ctx, \"rocketmqInstancePublic\", \u0026Trocket.RocketmqInstanceArgs{\n\t\t\tBandwidth: pulumi.Int(1),\n\t\t\tEnablePublic: pulumi.Bool(true),\n\t\t\tInstanceType: pulumi.String(\"EXPERIMENT\"),\n\t\t\tRemark: pulumi.String(\"remark\"),\n\t\t\tSkuCode: pulumi.String(\"experiment_500\"),\n\t\t\tSubnetId: pulumi.String(\"subnet-xxxxxx\"),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"tag_key\": pulumi.Any(\"rocketmq\"),\n\t\t\t\t\"tag_value\": pulumi.Any(\"5.x\"),\n\t\t\t},\n\t\t\tVpcId: pulumi.String(\"vpc-xxxxxx\"),\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.tencentcloud.Trocket.RocketmqInstance;\nimport com.pulumi.tencentcloud.Trocket.RocketmqInstanceArgs;\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 rocketmqInstancePublic = new RocketmqInstance(\"rocketmqInstancePublic\", RocketmqInstanceArgs.builder() \n .bandwidth(1)\n .enablePublic(true)\n .instanceType(\"EXPERIMENT\")\n .remark(\"remark\")\n .skuCode(\"experiment_500\")\n .subnetId(\"subnet-xxxxxx\")\n .tags(Map.ofEntries(\n Map.entry(\"tag_key\", \"rocketmq\"),\n Map.entry(\"tag_value\", \"5.x\")\n ))\n .vpcId(\"vpc-xxxxxx\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n rocketmqInstancePublic:\n type: tencentcloud:Trocket:RocketmqInstance\n properties:\n bandwidth: 1\n enablePublic: true\n instanceType: EXPERIMENT\n remark: remark\n skuCode: experiment_500\n subnetId: subnet-xxxxxx\n tags:\n tag_key: rocketmq\n tag_value: 5.x\n vpcId: vpc-xxxxxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\ntrocket rocketmq_instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Trocket/rocketmqInstance:RocketmqInstance rocketmq_instance rocketmq_instance_id\n```\n\n", + "description": "Provides a resource to create a rocketmq 5.x instance\n\n\u003e **NOTE:** It only supports create postpaid rocketmq 5.x instance.\n\n## Example Usage\n\n### Create Basic Instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\n// create vpc\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\n// create vpc subnet\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n vpcId: vpc.id,\n availabilityZone: \"ap-guangzhou-6\",\n cidrBlock: \"10.0.20.0/28\",\n isMulticast: false,\n});\n// create rocketmq instance\nconst example = new tencentcloud.trocket.RocketmqInstance(\"example\", {\n instanceType: \"PRO\",\n skuCode: \"pro_4k\",\n remark: \"remark\",\n vpcId: vpc.id,\n subnetId: subnet.id,\n tags: {\n tag_key: \"rocketmq\",\n tag_value: \"5.x\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\n# create vpc\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\n# create vpc subnet\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n vpc_id=vpc.id,\n availability_zone=\"ap-guangzhou-6\",\n cidr_block=\"10.0.20.0/28\",\n is_multicast=False)\n# create rocketmq instance\nexample = tencentcloud.trocket.RocketmqInstance(\"example\",\n instance_type=\"PRO\",\n sku_code=\"pro_4k\",\n remark=\"remark\",\n vpc_id=vpc.id,\n subnet_id=subnet.id,\n tags={\n \"tag_key\": \"rocketmq\",\n \"tag_value\": \"5.x\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // create vpc\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n // create vpc subnet\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n VpcId = vpc.Id,\n AvailabilityZone = \"ap-guangzhou-6\",\n CidrBlock = \"10.0.20.0/28\",\n IsMulticast = false,\n });\n\n // create rocketmq instance\n var example = new Tencentcloud.Trocket.RocketmqInstance(\"example\", new()\n {\n InstanceType = \"PRO\",\n SkuCode = \"pro_4k\",\n Remark = \"remark\",\n VpcId = vpc.Id,\n SubnetId = subnet.Id,\n Tags = \n {\n { \"tag_key\", \"rocketmq\" },\n { \"tag_value\", \"5.x\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Trocket\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// create vpc\n\t\tvpc, err := Vpc.NewInstance(ctx, \"vpc\", \u0026Vpc.InstanceArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create vpc subnet\n\t\tsubnet, err := Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(\"ap-guangzhou-6\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.20.0/28\"),\n\t\t\tIsMulticast: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create rocketmq instance\n\t\t_, err = Trocket.NewRocketmqInstance(ctx, \"example\", \u0026Trocket.RocketmqInstanceArgs{\n\t\t\tInstanceType: pulumi.String(\"PRO\"),\n\t\t\tSkuCode: pulumi.String(\"pro_4k\"),\n\t\t\tRemark: pulumi.String(\"remark\"),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetId: subnet.ID(),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"tag_key\": pulumi.Any(\"rocketmq\"),\n\t\t\t\t\"tag_value\": pulumi.Any(\"5.x\"),\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.tencentcloud.Vpc.Instance;\nimport com.pulumi.tencentcloud.Vpc.InstanceArgs;\nimport com.pulumi.tencentcloud.Subnet.Instance;\nimport com.pulumi.tencentcloud.Subnet.InstanceArgs;\nimport com.pulumi.tencentcloud.Trocket.RocketmqInstance;\nimport com.pulumi.tencentcloud.Trocket.RocketmqInstanceArgs;\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 vpc\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n // create vpc subnet\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .vpcId(vpc.id())\n .availabilityZone(\"ap-guangzhou-6\")\n .cidrBlock(\"10.0.20.0/28\")\n .isMulticast(false)\n .build());\n\n // create rocketmq instance\n var example = new RocketmqInstance(\"example\", RocketmqInstanceArgs.builder() \n .instanceType(\"PRO\")\n .skuCode(\"pro_4k\")\n .remark(\"remark\")\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .tags(Map.ofEntries(\n Map.entry(\"tag_key\", \"rocketmq\"),\n Map.entry(\"tag_value\", \"5.x\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # create vpc\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n # create vpc subnet\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n vpcId: ${vpc.id}\n availabilityZone: ap-guangzhou-6\n cidrBlock: 10.0.20.0/28\n isMulticast: false\n # create rocketmq instance\n example:\n type: tencentcloud:Trocket:RocketmqInstance\n properties:\n instanceType: PRO\n skuCode: pro_4k\n remark: remark\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n tags:\n tag_key: rocketmq\n tag_value: 5.x\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create Enable Public Network Instance\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\n// create vpc\nconst vpc = new tencentcloud.vpc.Instance(\"vpc\", {cidrBlock: \"10.0.0.0/16\"});\n// create vpc subnet\nconst subnet = new tencentcloud.subnet.Instance(\"subnet\", {\n vpcId: vpc.id,\n availabilityZone: \"ap-guangzhou-6\",\n cidrBlock: \"10.0.20.0/28\",\n isMulticast: false,\n});\n// create rocketmq instance\nconst example = new tencentcloud.trocket.RocketmqInstance(\"example\", {\n instanceType: \"PRO\",\n skuCode: \"pro_4k\",\n remark: \"remark\",\n vpcId: vpc.id,\n subnetId: subnet.id,\n enablePublic: true,\n bandwidth: 10,\n tags: {\n tag_key: \"rocketmq\",\n tag_value: \"5.x\",\n },\n});\n```\n```python\nimport pulumi\nimport tencentcloud_iac_pulumi as tencentcloud\n\n# create vpc\nvpc = tencentcloud.vpc.Instance(\"vpc\", cidr_block=\"10.0.0.0/16\")\n# create vpc subnet\nsubnet = tencentcloud.subnet.Instance(\"subnet\",\n vpc_id=vpc.id,\n availability_zone=\"ap-guangzhou-6\",\n cidr_block=\"10.0.20.0/28\",\n is_multicast=False)\n# create rocketmq instance\nexample = tencentcloud.trocket.RocketmqInstance(\"example\",\n instance_type=\"PRO\",\n sku_code=\"pro_4k\",\n remark=\"remark\",\n vpc_id=vpc.id,\n subnet_id=subnet.id,\n enable_public=True,\n bandwidth=10,\n tags={\n \"tag_key\": \"rocketmq\",\n \"tag_value\": \"5.x\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // create vpc\n var vpc = new Tencentcloud.Vpc.Instance(\"vpc\", new()\n {\n CidrBlock = \"10.0.0.0/16\",\n });\n\n // create vpc subnet\n var subnet = new Tencentcloud.Subnet.Instance(\"subnet\", new()\n {\n VpcId = vpc.Id,\n AvailabilityZone = \"ap-guangzhou-6\",\n CidrBlock = \"10.0.20.0/28\",\n IsMulticast = false,\n });\n\n // create rocketmq instance\n var example = new Tencentcloud.Trocket.RocketmqInstance(\"example\", new()\n {\n InstanceType = \"PRO\",\n SkuCode = \"pro_4k\",\n Remark = \"remark\",\n VpcId = vpc.Id,\n SubnetId = subnet.Id,\n EnablePublic = true,\n Bandwidth = 10,\n Tags = \n {\n { \"tag_key\", \"rocketmq\" },\n { \"tag_value\", \"5.x\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Trocket\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// create vpc\n\t\tvpc, err := Vpc.NewInstance(ctx, \"vpc\", \u0026Vpc.InstanceArgs{\n\t\t\tCidrBlock: pulumi.String(\"10.0.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create vpc subnet\n\t\tsubnet, err := Subnet.NewInstance(ctx, \"subnet\", \u0026Subnet.InstanceArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t\tAvailabilityZone: pulumi.String(\"ap-guangzhou-6\"),\n\t\t\tCidrBlock: pulumi.String(\"10.0.20.0/28\"),\n\t\t\tIsMulticast: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// create rocketmq instance\n\t\t_, err = Trocket.NewRocketmqInstance(ctx, \"example\", \u0026Trocket.RocketmqInstanceArgs{\n\t\t\tInstanceType: pulumi.String(\"PRO\"),\n\t\t\tSkuCode: pulumi.String(\"pro_4k\"),\n\t\t\tRemark: pulumi.String(\"remark\"),\n\t\t\tVpcId: vpc.ID(),\n\t\t\tSubnetId: subnet.ID(),\n\t\t\tEnablePublic: pulumi.Bool(true),\n\t\t\tBandwidth: pulumi.Int(10),\n\t\t\tTags: pulumi.Map{\n\t\t\t\t\"tag_key\": pulumi.Any(\"rocketmq\"),\n\t\t\t\t\"tag_value\": pulumi.Any(\"5.x\"),\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.tencentcloud.Vpc.Instance;\nimport com.pulumi.tencentcloud.Vpc.InstanceArgs;\nimport com.pulumi.tencentcloud.Subnet.Instance;\nimport com.pulumi.tencentcloud.Subnet.InstanceArgs;\nimport com.pulumi.tencentcloud.Trocket.RocketmqInstance;\nimport com.pulumi.tencentcloud.Trocket.RocketmqInstanceArgs;\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 vpc\n var vpc = new Instance(\"vpc\", InstanceArgs.builder() \n .cidrBlock(\"10.0.0.0/16\")\n .build());\n\n // create vpc subnet\n var subnet = new Instance(\"subnet\", InstanceArgs.builder() \n .vpcId(vpc.id())\n .availabilityZone(\"ap-guangzhou-6\")\n .cidrBlock(\"10.0.20.0/28\")\n .isMulticast(false)\n .build());\n\n // create rocketmq instance\n var example = new RocketmqInstance(\"example\", RocketmqInstanceArgs.builder() \n .instanceType(\"PRO\")\n .skuCode(\"pro_4k\")\n .remark(\"remark\")\n .vpcId(vpc.id())\n .subnetId(subnet.id())\n .enablePublic(true)\n .bandwidth(10)\n .tags(Map.ofEntries(\n Map.entry(\"tag_key\", \"rocketmq\"),\n Map.entry(\"tag_value\", \"5.x\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # create vpc\n vpc:\n type: tencentcloud:Vpc:Instance\n properties:\n cidrBlock: 10.0.0.0/16\n # create vpc subnet\n subnet:\n type: tencentcloud:Subnet:Instance\n properties:\n vpcId: ${vpc.id}\n availabilityZone: ap-guangzhou-6\n cidrBlock: 10.0.20.0/28\n isMulticast: false\n # create rocketmq instance\n example:\n type: tencentcloud:Trocket:RocketmqInstance\n properties:\n instanceType: PRO\n skuCode: pro_4k\n remark: remark\n vpcId: ${vpc.id}\n subnetId: ${subnet.id}\n enablePublic: true\n bandwidth: 10\n tags:\n tag_key: rocketmq\n tag_value: 5.x\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\ntrocket rocketmq_instance can be imported using the id, e.g.\n\n```sh\n$ pulumi import tencentcloud:Trocket/rocketmqInstance:RocketmqInstance rocketmq_instance rmq-n5qado7m\n```\n\n", "properties": { "bandwidth": { "type": "integer", @@ -209520,7 +211462,7 @@ }, "skuCode": { "type": "string", - "description": "SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_4k, basic_6k.\n" + "description": "SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_3k, basic_4k, basic_5k, basic_6k, basic_7k, basic_8k, basic_9k, basic_10k, pro_4k, pro_6k, pro_8k, pro_1w, pro_15k, pro_2w, pro_25k, pro_3w, pro_35k, pro_4w, pro_45k, pro_5w, pro_55k, pro_60k, pro_65k, pro_70k, pro_75k, pro_80k, pro_85k, pro_90k, pro_95k, pro_100k, platinum_1w, platinum_2w, platinum_3w, platinum_4w, platinum_5w, platinum_6w, platinum_7w, platinum_8w, platinum_9w, platinum_10w, platinum_12w, platinum_14w, platinum_16w, platinum_18w, platinum_20w, platinum_25w, platinum_30w, platinum_35w, platinum_40w, platinum_45w, platinum_50w, platinum_60w, platinum_70w, platinum_80w, platinum_90w, platinum_100w.\n" }, "subnetId": { "type": "string", @@ -209590,7 +211532,7 @@ }, "skuCode": { "type": "string", - "description": "SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_4k, basic_6k.\n" + "description": "SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_3k, basic_4k, basic_5k, basic_6k, basic_7k, basic_8k, basic_9k, basic_10k, pro_4k, pro_6k, pro_8k, pro_1w, pro_15k, pro_2w, pro_25k, pro_3w, pro_35k, pro_4w, pro_45k, pro_5w, pro_55k, pro_60k, pro_65k, pro_70k, pro_75k, pro_80k, pro_85k, pro_90k, pro_95k, pro_100k, platinum_1w, platinum_2w, platinum_3w, platinum_4w, platinum_5w, platinum_6w, platinum_7w, platinum_8w, platinum_9w, platinum_10w, platinum_12w, platinum_14w, platinum_16w, platinum_18w, platinum_20w, platinum_25w, platinum_30w, platinum_35w, platinum_40w, platinum_45w, platinum_50w, platinum_60w, platinum_70w, platinum_80w, platinum_90w, platinum_100w.\n" }, "subnetId": { "type": "string", @@ -209654,7 +211596,7 @@ }, "skuCode": { "type": "string", - "description": "SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_4k, basic_6k.\n" + "description": "SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_3k, basic_4k, basic_5k, basic_6k, basic_7k, basic_8k, basic_9k, basic_10k, pro_4k, pro_6k, pro_8k, pro_1w, pro_15k, pro_2w, pro_25k, pro_3w, pro_35k, pro_4w, pro_45k, pro_5w, pro_55k, pro_60k, pro_65k, pro_70k, pro_75k, pro_80k, pro_85k, pro_90k, pro_95k, pro_100k, platinum_1w, platinum_2w, platinum_3w, platinum_4w, platinum_5w, platinum_6w, platinum_7w, platinum_8w, platinum_9w, platinum_10w, platinum_12w, platinum_14w, platinum_16w, platinum_18w, platinum_20w, platinum_25w, platinum_30w, platinum_35w, platinum_40w, platinum_45w, platinum_50w, platinum_60w, platinum_70w, platinum_80w, platinum_90w, platinum_100w.\n" }, "subnetId": { "type": "string", @@ -249373,6 +251315,68 @@ "type": "object" } }, + "tencentcloud:Kubernetes/getClusterNativeNodePools:getClusterNativeNodePools": { + "description": "Use this data source to query detailed information of tke kubernetes cluster_native_node_pools\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst kubernetesClusterNativeNodePools = tencentcloud.Kubernetes.getClusterNativeNodePools({\n clusterId: \"cls-eyi0erm0\",\n filters: [\n {\n name: \"NodePoolsName\",\n values: [\"native_node_pool\"],\n },\n {\n name: \"NodePoolsId\",\n values: [\"np-ngjwhdv4\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\nkubernetes_cluster_native_node_pools = tencentcloud.Kubernetes.get_cluster_native_node_pools(cluster_id=\"cls-eyi0erm0\",\n filters=[\n tencentcloud.kubernetes.GetClusterNativeNodePoolsFilterArgs(\n name=\"NodePoolsName\",\n values=[\"native_node_pool\"],\n ),\n tencentcloud.kubernetes.GetClusterNativeNodePoolsFilterArgs(\n name=\"NodePoolsId\",\n values=[\"np-ngjwhdv4\"],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = Pulumi.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var kubernetesClusterNativeNodePools = Tencentcloud.Kubernetes.GetClusterNativeNodePools.Invoke(new()\n {\n ClusterId = \"cls-eyi0erm0\",\n Filters = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.GetClusterNativeNodePoolsFilterInputArgs\n {\n Name = \"NodePoolsName\",\n Values = new[]\n {\n \"native_node_pool\",\n },\n },\n new Tencentcloud.Kubernetes.Inputs.GetClusterNativeNodePoolsFilterInputArgs\n {\n Name = \"NodePoolsId\",\n Values = new[]\n {\n \"np-ngjwhdv4\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Kubernetes\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Kubernetes.GetClusterNativeNodePools(ctx, \u0026kubernetes.GetClusterNativeNodePoolsArgs{\n\t\t\tClusterId: \"cls-eyi0erm0\",\n\t\t\tFilters: []kubernetes.GetClusterNativeNodePoolsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"NodePoolsName\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"native_node_pool\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"NodePoolsId\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"np-ngjwhdv4\",\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\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.tencentcloud.Kubernetes.KubernetesFunctions;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.GetClusterNativeNodePoolsArgs;\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 kubernetesClusterNativeNodePools = KubernetesFunctions.getClusterNativeNodePools(GetClusterNativeNodePoolsArgs.builder()\n .clusterId(\"cls-eyi0erm0\")\n .filters( \n GetClusterNativeNodePoolsFilterArgs.builder()\n .name(\"NodePoolsName\")\n .values(\"native_node_pool\")\n .build(),\n GetClusterNativeNodePoolsFilterArgs.builder()\n .name(\"NodePoolsId\")\n .values(\"np-ngjwhdv4\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n kubernetesClusterNativeNodePools:\n fn::invoke:\n Function: tencentcloud:Kubernetes:getClusterNativeNodePools\n Arguments:\n clusterId: cls-eyi0erm0\n filters:\n - name: NodePoolsName\n values:\n - native_node_pool\n - name: NodePoolsId\n values:\n - np-ngjwhdv4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getClusterNativeNodePools.\n", + "properties": { + "clusterId": { + "type": "string", + "description": "ID of the cluster.\n" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/getClusterNativeNodePoolsFilter:getClusterNativeNodePoolsFilter" + }, + "description": "Query filter conditions: NodePoolsName, Filter according to the node pool name, type: String, required: no. NodePoolsId, Filter according to the node pool ID, type: String, required: no. tags, Filter according to the label key value pairs, type: String, required: no. tag:tag-key, Filter according to the label key value pairs, type: String, required: no.\n" + }, + "resultOutputFile": { + "type": "string", + "description": "Used to save results.\n" + } + }, + "type": "object", + "required": [ + "clusterId" + ] + }, + "outputs": { + "description": "A collection of values returned by getClusterNativeNodePools.\n", + "properties": { + "clusterId": { + "description": "ID of the cluster.\n", + "type": "string" + }, + "filters": { + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/getClusterNativeNodePoolsFilter:getClusterNativeNodePoolsFilter" + }, + "type": "array" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.\n", + "type": "string" + }, + "nodePools": { + "description": "Node pool list.\n", + "items": { + "$ref": "#/types/tencentcloud:Kubernetes/getClusterNativeNodePoolsNodePool:getClusterNativeNodePoolsNodePool" + }, + "type": "array" + }, + "resultOutputFile": { + "type": "string" + } + }, + "required": [ + "clusterId", + "nodePools", + "id" + ], + "type": "object" + } + }, "tencentcloud:Kubernetes/getClusterNodePools:getClusterNodePools": { "description": "Use this data source to query detailed information of kubernetes cluster_node_pools\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as tencentcloud from \"@tencentcloud_iac/pulumi\";\n\nconst clusterNodePools = tencentcloud.Kubernetes.getClusterNodePools({\n clusterId: \"cls-kzilgv5m\",\n filters: [\n {\n name: \"NodePoolsName\",\n values: [\"mynodepool_xxxx\"],\n },\n {\n name: \"NodePoolsId\",\n values: [\"np-ngjwhdv4\"],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_tencentcloud as tencentcloud\n\ncluster_node_pools = tencentcloud.Kubernetes.get_cluster_node_pools(cluster_id=\"cls-kzilgv5m\",\n filters=[\n tencentcloud.kubernetes.GetClusterNodePoolsFilterArgs(\n name=\"NodePoolsName\",\n values=[\"mynodepool_xxxx\"],\n ),\n tencentcloud.kubernetes.GetClusterNodePoolsFilterArgs(\n name=\"NodePoolsId\",\n values=[\"np-ngjwhdv4\"],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Tencentcloud = Pulumi.Tencentcloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var clusterNodePools = Tencentcloud.Kubernetes.GetClusterNodePools.Invoke(new()\n {\n ClusterId = \"cls-kzilgv5m\",\n Filters = new[]\n {\n new Tencentcloud.Kubernetes.Inputs.GetClusterNodePoolsFilterInputArgs\n {\n Name = \"NodePoolsName\",\n Values = new[]\n {\n \"mynodepool_xxxx\",\n },\n },\n new Tencentcloud.Kubernetes.Inputs.GetClusterNodePoolsFilterInputArgs\n {\n Name = \"NodePoolsId\",\n Values = new[]\n {\n \"np-ngjwhdv4\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Kubernetes\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := Kubernetes.GetClusterNodePools(ctx, \u0026kubernetes.GetClusterNodePoolsArgs{\n\t\t\tClusterId: \"cls-kzilgv5m\",\n\t\t\tFilters: []kubernetes.GetClusterNodePoolsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"NodePoolsName\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"mynodepool_xxxx\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tName: \"NodePoolsId\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"np-ngjwhdv4\",\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\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.tencentcloud.Kubernetes.KubernetesFunctions;\nimport com.pulumi.tencentcloud.Kubernetes.inputs.GetClusterNodePoolsArgs;\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 clusterNodePools = KubernetesFunctions.getClusterNodePools(GetClusterNodePoolsArgs.builder()\n .clusterId(\"cls-kzilgv5m\")\n .filters( \n GetClusterNodePoolsFilterArgs.builder()\n .name(\"NodePoolsName\")\n .values(\"mynodepool_xxxx\")\n .build(),\n GetClusterNodePoolsFilterArgs.builder()\n .name(\"NodePoolsId\")\n .values(\"np-ngjwhdv4\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n clusterNodePools:\n fn::invoke:\n Function: tencentcloud:Kubernetes:getClusterNodePools\n Arguments:\n clusterId: cls-kzilgv5m\n filters:\n - name: NodePoolsName\n values:\n - mynodepool_xxxx\n - name: NodePoolsId\n values:\n - np-ngjwhdv4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { diff --git a/provider/go.mod b/provider/go.mod index 4da21b13d..c03537015 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -6,7 +6,7 @@ replace github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraf require ( github.com/pulumi/pulumi-terraform-bridge/v3 v3.80.0 - github.com/tencentcloudstack/terraform-provider-tencentcloud v1.81.100 + github.com/tencentcloudstack/terraform-provider-tencentcloud v1.81.106 ) require ( @@ -227,8 +227,8 @@ require ( github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ckafka v1.0.748 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.860 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.544 // indirect - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.860 // indirect - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.932 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.952 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.952 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/csip v1.0.860 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.624 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.762 // indirect @@ -250,7 +250,7 @@ require ( github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/lighthouse v1.0.729 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/live v1.0.777 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mariadb v1.0.672 // indirect - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb v1.0.828 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb v1.0.949 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.844 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mps v1.0.853 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/oceanus v1.0.831 // indirect @@ -277,8 +277,8 @@ require ( github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tdmq v1.0.932 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tem v1.0.578 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/teo v1.0.912 // indirect - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke v1.0.916 // indirect - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/trocket v1.0.756 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke v1.0.921 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/trocket v1.0.947 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tse v1.0.857 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tsf v1.0.674 // indirect github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod v1.0.860 // indirect diff --git a/provider/go.sum b/provider/go.sum index f21a8512e..2cf4b8903 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -3002,8 +3002,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.860 h1:P2TPFCB github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.860/go.mod h1:eTGN2Qz4NxaYl+CwMpcj4vNImNOr74NC8WTCLSJN8Ks= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.544 h1:ApY6rS7I9otgujOdAFy0+Epno1PNVCQmsOoWQxx724Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.544/go.mod h1:c37rIdL3LrJXYwrfp9c8L4MabTqKIZUe1xvnWhN75oc= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.860 h1:IU20AhNd0fEbgFzTTGB8cdMkUCrgB0FsLd0puC4QDzU= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.860/go.mod h1:RP3NkBvKio1dFmCNKozHX9qmef57sUCfsTcE0FnCvjk= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.952 h1:+4g+Wp3WKTf/QU814lF+kft4jP/NNUkggciB/n0joTM= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.952/go.mod h1:OW+FNkQgeQTesREQ7iPA4g9V81cEb/NcWSYO6bYe2Qo= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.414/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.486/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.524/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= @@ -3050,7 +3050,6 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.816/go.mod github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.822/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.824/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.825/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.828/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.831/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.833/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.841/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= @@ -3064,10 +3063,13 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.860/go.mod github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.873/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.910/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.912/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.916/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.920/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.932 h1:MB1+Ll6JxWTpZw/v0dMRvMEJhlcDKxK/JMQ8O5owRVc= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.921/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.932/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.947/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.949/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.952 h1:fqO77A01ayOji0F0ovFKRlbatbvVsDhyjO7h0MXJsFk= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.952/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/csip v1.0.860 h1:F3esKBIT3HW9+7Gt8cVgf8X06VdGIczpgLBUECzSEzU= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/csip v1.0.860/go.mod h1:NZo1WplQcC314kMlCRUoy8NQju2BnolIJj7NAWgsuhY= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.624 h1:nEZqsoqt1pEoaP9JjkHQy3/H00suCfzlHW1qOm2nYD8= @@ -3110,8 +3112,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/live v1.0.777 h1:8nSy6G github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/live v1.0.777/go.mod h1:Nsd3yEpXQqXrWbN3mJbrk+A2KcdxHVW5xIRFAyIvlAE= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mariadb v1.0.672 h1:sR3MyM9RBw1PNRdWoBrtK+2M9Qbb0i6DfQSrvZ4/4os= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mariadb v1.0.672/go.mod h1:o3rBKhtfIJfw4BG22M0CQVLQAc0WqIsbyRI/EW52Ka0= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb v1.0.828 h1:ck4fIo8e7HlMQmIh77r8rbUjZCiCuO4DJ7KYAjHQ/Ws= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb v1.0.828/go.mod h1:pnGYJR0EUzVMjcGdecYwsU+UUKrrHBM8kDgJHAwCOK4= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb v1.0.949 h1:GZGGul+VBoU6Ont/8/S5Ot0wXVrSYBDtk79tFSdvWQ0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mongodb v1.0.949/go.mod h1:75i/x1XqkqqqOgEBj31PdpnSeehsscgI5aj6aNgcsXE= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.844 h1:ZR7FSnv4k1j0BpJHg6JDbJ6YJ2YfLhX2xVIUcuweKm4= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/monitor v1.0.844/go.mod h1:a7PfDWl0B3QV+g99asQHumDNScEEMl+7lkXP0KXt8Xg= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mps v1.0.853 h1:abGpWsAtEuF2QIYKm2m9/hv9OqyHwWNLsd5+67z86BE= @@ -3164,10 +3166,10 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tem v1.0.578 h1:vBpQhUr github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tem v1.0.578/go.mod h1:UlojGQh/9wb7/uXPNi7PvMral1CNAskVDNgqJEV83l0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/teo v1.0.912 h1:XGOKd5umgbXDDTSOuLmoLDfNdh712lCIgIzw5SQItrA= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/teo v1.0.912/go.mod h1:iqTDU0pVTQ8RCeMJPk/PAWl9HeI1DFMd1h07yMH7RGU= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke v1.0.916 h1:/ERZ1hNzLfbtvOqjydV9291yC/try3gSJGsrnmT36Xs= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke v1.0.916/go.mod h1:fhRshMGZ9Y+yDte3knOAlXhUQApfhhq5reebRFHi6VA= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/trocket v1.0.756 h1:89M6uA8Y/FC1b88TFxvRManGW+i62Isqg1lW8HjHDvU= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/trocket v1.0.756/go.mod h1:AJAItBOTaarpDpUF7pNp0tuz2Y6H2oFuMcyKouPs1IE= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke v1.0.921 h1:jCrZDMDNNI5TFZEEk5AXMcNThDzxAHMKrQFspoqEdCA= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke v1.0.921/go.mod h1:waWKRKzVqvpXYIMuJvrXBEX9igTo5VntpP/Soi6O5Hc= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/trocket v1.0.947 h1:iZfuU8S86kfqFsAVT/LUApP8L5cpT90hl2wSKiUDVvw= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/trocket v1.0.947/go.mod h1:eAgJ+XUEhffMq79zjpgHoR3PBVcciSg+LuPDC8hLWsE= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tse v1.0.857 h1:TkJnvSeRSXsRCwOwcwXSvruSK9s/kw8LC3FLeccw+A0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tse v1.0.857/go.mod h1:CSGh7HSEzUoY09G67XTABi/aqNy3dSLCSuenb1i5x6k= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tsf v1.0.674 h1:VsMV1/vsgVzespG7jUzraZS/AbAUllVQjmtVAlA9W/M= @@ -3182,8 +3184,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wedata v1.0.792 h1:NLgK github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wedata v1.0.792/go.mod h1:Xz6vPV3gHlzPwtEcmWdWO1EUXJDgn2p7UMCXbJiVioQ= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wss v1.0.199 h1:hMBLtiJPnZ9GvA677cTB6ELBR6B68wCR2QY1sNoGQc4= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wss v1.0.199/go.mod h1:nnY91/H3j/Gu7V/oCA6Zeg8T5D3q36EUdBh4EjmHwqY= -github.com/tencentcloudstack/terraform-provider-tencentcloud v1.81.100 h1:9syR1lXF1kyebD1PmeI/dZ0HM8PLHY0qOfnh34MDeeY= -github.com/tencentcloudstack/terraform-provider-tencentcloud v1.81.100/go.mod h1:OmTVEtu73P9ZVTg4OKge6ksMTyMo+GzChwH6UCu8CMc= +github.com/tencentcloudstack/terraform-provider-tencentcloud v1.81.106 h1:cTCMXsXZKlZNzeiRLKMGLBE4qXDCc55ZHneiNQ54Xg8= +github.com/tencentcloudstack/terraform-provider-tencentcloud v1.81.106/go.mod h1:FEkTMaukDWuPyZyurJpXj2sFDCT1LfnZqWt6OWwWz8c= github.com/tencentyun/cos-go-sdk-v5 v0.7.42-0.20230629101357-7edd77448a0f h1:yTMDoBvFuXjZat10d98DIKbPnN9FQG+drt1SbNfMW5U= github.com/tencentyun/cos-go-sdk-v5 v0.7.42-0.20230629101357-7edd77448a0f/go.mod h1:LUFnaqRmGk6pEHOaRmdn2dCZR2j0cSsM5xowWFPTPao= github.com/texttheater/golang-levenshtein v1.0.1 h1:+cRNoVrfiwufQPhoMzB6N0Yf/Mqajr6t1lOv8GyGE2U= diff --git a/sdk/dotnet/Tencentcloud/Clb/Instance.cs b/sdk/dotnet/Tencentcloud/Clb/Instance.cs index a0fb25582..c85b2df44 100644 --- a/sdk/dotnet/Tencentcloud/Clb/Instance.cs +++ b/sdk/dotnet/Tencentcloud/Clb/Instance.cs @@ -96,6 +96,37 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Clb /// { /// { "test", "tf" }, /// }, + /// VpcId = "vpc-da7ffa61", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ### SUPPORT CORS + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var openClb = new Tencentcloud.Clb.Instance("openClb", new() + /// { + /// ClbName = "myclb", + /// NetworkType = "OPEN", + /// ProjectId = 0, + /// SecurityGroups = new[] + /// { + /// "sg-o0ek7r93", + /// }, + /// Tags = + /// { + /// { "test", "tf" }, + /// }, /// TargetRegionInfoRegion = "ap-guangzhou", /// TargetRegionInfoVpcId = "vpc-da7ffa61", /// VpcId = "vpc-da7ffa61", @@ -392,6 +423,12 @@ public partial class Instance : global::Pulumi.CustomResource [Output("addressIpVersion")] public Output AddressIpVersion { get; private set; } = null!; + /// + /// The IPv6 address of the load balancing instance. + /// + [Output("addressIpv6")] + public Output AddressIpv6 { get; private set; } = null!; + /// /// Bandwidth package id. If set, the `internet_charge_type` must be `BANDWIDTH_PACKAGE`. /// @@ -440,6 +477,12 @@ public partial class Instance : global::Pulumi.CustomResource [Output("internetChargeType")] public Output InternetChargeType { get; private set; } = null!; + /// + /// This field is meaningful when the IP address version is ipv6, `IPv6Nat64` | `IPv6FullChain`. + /// + [Output("ipv6Mode")] + public Output Ipv6Mode { get; private set; } = null!; + /// /// Whether the target allow flow come from clb. If value is true, only check security group of clb, or check both clb and backend instance security group. /// @@ -789,6 +832,12 @@ public sealed class InstanceState : global::Pulumi.ResourceArgs [Input("addressIpVersion")] public Input? AddressIpVersion { get; set; } + /// + /// The IPv6 address of the load balancing instance. + /// + [Input("addressIpv6")] + public Input? AddressIpv6 { get; set; } + /// /// Bandwidth package id. If set, the `internet_charge_type` must be `BANDWIDTH_PACKAGE`. /// @@ -843,6 +892,12 @@ public InputList ClbVips [Input("internetChargeType")] public Input? InternetChargeType { get; set; } + /// + /// This field is meaningful when the IP address version is ipv6, `IPv6Nat64` | `IPv6FullChain`. + /// + [Input("ipv6Mode")] + public Input? Ipv6Mode { get; set; } + /// /// Whether the target allow flow come from clb. If value is true, only check security group of clb, or check both clb and backend instance security group. /// diff --git a/sdk/dotnet/Tencentcloud/Cls/Alarm.cs b/sdk/dotnet/Tencentcloud/Cls/Alarm.cs index 66f2d5c67..95548994f 100644 --- a/sdk/dotnet/Tencentcloud/Cls/Alarm.cs +++ b/sdk/dotnet/Tencentcloud/Cls/Alarm.cs @@ -41,6 +41,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cls /// Number = 1, /// Query = "status:>500 | select count(*) as errorCounts", /// StartTimeOffset = -15, + /// SyntaxRule = 1, /// TopicId = "88735a07-bea4-4985-8763-e9deb6da4fad", /// }, /// }, diff --git a/sdk/dotnet/Tencentcloud/Cls/Inputs/AlarmAlarmTargetArgs.cs b/sdk/dotnet/Tencentcloud/Cls/Inputs/AlarmAlarmTargetArgs.cs index 697befc5d..d85252222 100644 --- a/sdk/dotnet/Tencentcloud/Cls/Inputs/AlarmAlarmTargetArgs.cs +++ b/sdk/dotnet/Tencentcloud/Cls/Inputs/AlarmAlarmTargetArgs.cs @@ -43,6 +43,12 @@ public sealed class AlarmAlarmTargetArgs : global::Pulumi.ResourceArgs [Input("startTimeOffset", required: true)] public Input StartTimeOffset { get; set; } = null!; + /// + /// Retrieve grammar rules, 0: Lucene syntax, 1: CQL syntax, Default value is 0. + /// + [Input("syntaxRule")] + public Input? SyntaxRule { get; set; } + /// /// topic id. /// diff --git a/sdk/dotnet/Tencentcloud/Cls/Inputs/AlarmAlarmTargetGetArgs.cs b/sdk/dotnet/Tencentcloud/Cls/Inputs/AlarmAlarmTargetGetArgs.cs index 62309c5b9..e2ae3a21c 100644 --- a/sdk/dotnet/Tencentcloud/Cls/Inputs/AlarmAlarmTargetGetArgs.cs +++ b/sdk/dotnet/Tencentcloud/Cls/Inputs/AlarmAlarmTargetGetArgs.cs @@ -43,6 +43,12 @@ public sealed class AlarmAlarmTargetGetArgs : global::Pulumi.ResourceArgs [Input("startTimeOffset", required: true)] public Input StartTimeOffset { get; set; } = null!; + /// + /// Retrieve grammar rules, 0: Lucene syntax, 1: CQL syntax, Default value is 0. + /// + [Input("syntaxRule")] + public Input? SyntaxRule { get; set; } + /// /// topic id. /// diff --git a/sdk/dotnet/Tencentcloud/Cls/Outputs/AlarmAlarmTarget.cs b/sdk/dotnet/Tencentcloud/Cls/Outputs/AlarmAlarmTarget.cs index 80a1461aa..a95586682 100644 --- a/sdk/dotnet/Tencentcloud/Cls/Outputs/AlarmAlarmTarget.cs +++ b/sdk/dotnet/Tencentcloud/Cls/Outputs/AlarmAlarmTarget.cs @@ -35,6 +35,10 @@ public sealed class AlarmAlarmTarget /// public readonly int StartTimeOffset; /// + /// Retrieve grammar rules, 0: Lucene syntax, 1: CQL syntax, Default value is 0. + /// + public readonly int? SyntaxRule; + /// /// topic id. /// public readonly string TopicId; @@ -51,6 +55,8 @@ private AlarmAlarmTarget( int startTimeOffset, + int? syntaxRule, + string topicId) { EndTimeOffset = endTimeOffset; @@ -58,6 +64,7 @@ private AlarmAlarmTarget( Number = number; Query = query; StartTimeOffset = startTimeOffset; + SyntaxRule = syntaxRule; TopicId = topicId; } } diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/AuthAttachment.cs b/sdk/dotnet/Tencentcloud/Kubernetes/AuthAttachment.cs index 6418c896b..6994709c7 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/AuthAttachment.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/AuthAttachment.cs @@ -213,6 +213,14 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes /// }); /// ``` /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// tke cluster authentication can be imported, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Kubernetes/authAttachment:AuthAttachment test cls-xxx + /// ``` /// [TencentcloudResourceType("tencentcloud:Kubernetes/authAttachment:AuthAttachment")] public partial class AuthAttachment : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Cluster.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Cluster.cs index 0779bc60f..e109f82b7 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/Cluster.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Cluster.cs @@ -202,6 +202,14 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes /// }); /// ``` /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// tke cluster can be imported, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Kubernetes/cluster:Cluster test cls-xxx + /// ``` /// [TencentcloudResourceType("tencentcloud:Kubernetes/cluster:Cluster")] public partial class Cluster : global::Pulumi.CustomResource @@ -288,7 +296,7 @@ public partial class Cluster : global::Pulumi.CustomResource /// Open internet access or not. If this field is set 'true', the field below `worker_config` must be set. Because only cluster with node is allowed enable access endpoint. You may open it through `tencentcloud.Kubernetes.ClusterEndpoint`. /// [Output("clusterInternet")] - public Output ClusterInternet { get; private set; } = null!; + public Output ClusterInternet { get; private set; } = null!; /// /// Domain name for cluster Kube-apiserver internet access. Be careful if you modify value of this parameter, the cluster_external_endpoint value may be changed automatically too. @@ -306,7 +314,7 @@ public partial class Cluster : global::Pulumi.CustomResource /// Open intranet access or not. If this field is set 'true', the field below `worker_config` must be set. Because only cluster with node is allowed enable access endpoint. You may open it through `tencentcloud.Kubernetes.ClusterEndpoint`. /// [Output("clusterIntranet")] - public Output ClusterIntranet { get; private set; } = null!; + public Output ClusterIntranet { get; private set; } = null!; /// /// Domain name for cluster Kube-apiserver intranet access. Be careful if you modify value of this parameter, the pgw_endpoint value may be changed automatically too. @@ -357,7 +365,7 @@ public partial class Cluster : global::Pulumi.CustomResource public Output ClusterNodeNum { get; private set; } = null!; /// - /// Operating system of the cluster, the available values include: 'centos7.6.0_x64','ubuntu18.04.1x86_64','tlinux2.4x86_64'. Default is 'tlinux2.4x86_64'. + /// Cluster operating system, supports setting public images (the field passes the corresponding image Name) and custom images (the field passes the corresponding image ID). For details, please refer to: https://cloud.tencent.com/document/product/457/68289. /// [Output("clusterOs")] public Output ClusterOs { get; private set; } = null!; @@ -597,7 +605,7 @@ public partial class Cluster : global::Pulumi.CustomResource public Output VpcId { get; private set; } = null!; /// - /// Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_worker'. + /// Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_scale_worker'. /// [Output("workerConfigs")] public Output> WorkerConfigs { get; private set; } = null!; @@ -782,7 +790,7 @@ public sealed class ClusterArgs : global::Pulumi.ResourceArgs public Input? ClusterName { get; set; } /// - /// Operating system of the cluster, the available values include: 'centos7.6.0_x64','ubuntu18.04.1x86_64','tlinux2.4x86_64'. Default is 'tlinux2.4x86_64'. + /// Cluster operating system, supports setting public images (the field passes the corresponding image Name) and custom images (the field passes the corresponding image ID). For details, please refer to: https://cloud.tencent.com/document/product/457/68289. /// [Input("clusterOs")] public Input? ClusterOs { get; set; } @@ -1038,7 +1046,7 @@ public InputMap Tags private InputList? _workerConfigs; /// - /// Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_worker'. + /// Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_scale_worker'. /// public InputList WorkerConfigs { @@ -1205,7 +1213,7 @@ public sealed class ClusterState : global::Pulumi.ResourceArgs public Input? ClusterNodeNum { get; set; } /// - /// Operating system of the cluster, the available values include: 'centos7.6.0_x64','ubuntu18.04.1x86_64','tlinux2.4x86_64'. Default is 'tlinux2.4x86_64'. + /// Cluster operating system, supports setting public images (the field passes the corresponding image Name) and custom images (the field passes the corresponding image ID). For details, please refer to: https://cloud.tencent.com/document/product/457/68289. /// [Input("clusterOs")] public Input? ClusterOs { get; set; } @@ -1509,7 +1517,7 @@ public InputMap Tags private InputList? _workerConfigs; /// - /// Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_worker'. + /// Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_scale_worker'. /// public InputList WorkerConfigs { diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/GetClusterNativeNodePools.cs b/sdk/dotnet/Tencentcloud/Kubernetes/GetClusterNativeNodePools.cs new file mode 100644 index 000000000..0da1fe794 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/GetClusterNativeNodePools.cs @@ -0,0 +1,209 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes +{ + public static class GetClusterNativeNodePools + { + /// + /// Use this data source to query detailed information of tke kubernetes cluster_native_node_pools + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var kubernetesClusterNativeNodePools = Tencentcloud.Kubernetes.GetClusterNativeNodePools.Invoke(new() + /// { + /// ClusterId = "cls-eyi0erm0", + /// Filters = new[] + /// { + /// new Tencentcloud.Kubernetes.Inputs.GetClusterNativeNodePoolsFilterInputArgs + /// { + /// Name = "NodePoolsName", + /// Values = new[] + /// { + /// "native_node_pool", + /// }, + /// }, + /// new Tencentcloud.Kubernetes.Inputs.GetClusterNativeNodePoolsFilterInputArgs + /// { + /// Name = "NodePoolsId", + /// Values = new[] + /// { + /// "np-ngjwhdv4", + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Task InvokeAsync(GetClusterNativeNodePoolsArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("tencentcloud:Kubernetes/getClusterNativeNodePools:getClusterNativeNodePools", args ?? new GetClusterNativeNodePoolsArgs(), options.WithDefaults()); + + /// + /// Use this data source to query detailed information of tke kubernetes cluster_native_node_pools + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = Pulumi.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var kubernetesClusterNativeNodePools = Tencentcloud.Kubernetes.GetClusterNativeNodePools.Invoke(new() + /// { + /// ClusterId = "cls-eyi0erm0", + /// Filters = new[] + /// { + /// new Tencentcloud.Kubernetes.Inputs.GetClusterNativeNodePoolsFilterInputArgs + /// { + /// Name = "NodePoolsName", + /// Values = new[] + /// { + /// "native_node_pool", + /// }, + /// }, + /// new Tencentcloud.Kubernetes.Inputs.GetClusterNativeNodePoolsFilterInputArgs + /// { + /// Name = "NodePoolsId", + /// Values = new[] + /// { + /// "np-ngjwhdv4", + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + public static Output Invoke(GetClusterNativeNodePoolsInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("tencentcloud:Kubernetes/getClusterNativeNodePools:getClusterNativeNodePools", args ?? new GetClusterNativeNodePoolsInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetClusterNativeNodePoolsArgs : global::Pulumi.InvokeArgs + { + /// + /// ID of the cluster. + /// + [Input("clusterId", required: true)] + public string ClusterId { get; set; } = null!; + + [Input("filters")] + private List? _filters; + + /// + /// Query filter conditions: NodePoolsName, Filter according to the node pool name, type: String, required: no. NodePoolsId, Filter according to the node pool ID, type: String, required: no. tags, Filter according to the label key value pairs, type: String, required: no. tag:tag-key, Filter according to the label key value pairs, type: String, required: no. + /// + public List Filters + { + get => _filters ?? (_filters = new List()); + set => _filters = value; + } + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public string? ResultOutputFile { get; set; } + + public GetClusterNativeNodePoolsArgs() + { + } + public static new GetClusterNativeNodePoolsArgs Empty => new GetClusterNativeNodePoolsArgs(); + } + + public sealed class GetClusterNativeNodePoolsInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// ID of the cluster. + /// + [Input("clusterId", required: true)] + public Input ClusterId { get; set; } = null!; + + [Input("filters")] + private InputList? _filters; + + /// + /// Query filter conditions: NodePoolsName, Filter according to the node pool name, type: String, required: no. NodePoolsId, Filter according to the node pool ID, type: String, required: no. tags, Filter according to the label key value pairs, type: String, required: no. tag:tag-key, Filter according to the label key value pairs, type: String, required: no. + /// + public InputList Filters + { + get => _filters ?? (_filters = new InputList()); + set => _filters = value; + } + + /// + /// Used to save results. + /// + [Input("resultOutputFile")] + public Input? ResultOutputFile { get; set; } + + public GetClusterNativeNodePoolsInvokeArgs() + { + } + public static new GetClusterNativeNodePoolsInvokeArgs Empty => new GetClusterNativeNodePoolsInvokeArgs(); + } + + + [OutputType] + public sealed class GetClusterNativeNodePoolsResult + { + /// + /// ID of the cluster. + /// + public readonly string ClusterId; + public readonly ImmutableArray Filters; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + /// + /// Node pool list. + /// + public readonly ImmutableArray NodePools; + public readonly string? ResultOutputFile; + + [OutputConstructor] + private GetClusterNativeNodePoolsResult( + string clusterId, + + ImmutableArray filters, + + string id, + + ImmutableArray nodePools, + + string? resultOutputFile) + { + ClusterId = clusterId; + Filters = filters; + Id = id; + NodePools = nodePools; + ResultOutputFile = resultOutputFile; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterConfigArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterConfigArgs.cs index 54fbc92f6..ec5714236 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterConfigArgs.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterConfigArgs.cs @@ -86,7 +86,7 @@ public InputList DataDisks public Input? HpcClusterId { get; set; } /// - /// The valid image id, format of img-xxx. + /// The valid image id, format of img-xxx. Note: `img_id` will be replaced with the image corresponding to TKE `cluster_os`. /// [Input("imgId")] public Input? ImgId { get; set; } @@ -192,7 +192,7 @@ public InputList SecurityGroupIds public Input? SystemDiskType { get; set; } /// - /// User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB. + /// ase64-encoded User Data text, the length limit is 16KB. /// [Input("userData")] public Input? UserData { get; set; } diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterConfigGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterConfigGetArgs.cs index 810f2a14d..1b0eba016 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterConfigGetArgs.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterMasterConfigGetArgs.cs @@ -86,7 +86,7 @@ public InputList DataDisks public Input? HpcClusterId { get; set; } /// - /// The valid image id, format of img-xxx. + /// The valid image id, format of img-xxx. Note: `img_id` will be replaced with the image corresponding to TKE `cluster_os`. /// [Input("imgId")] public Input? ImgId { get; set; } @@ -192,7 +192,7 @@ public InputList SecurityGroupIds public Input? SystemDiskType { get; set; } /// - /// User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB. + /// ase64-encoded User Data text, the length limit is 16KB. /// [Input("userData")] public Input? UserData { get; set; } diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterWorkerConfigArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterWorkerConfigArgs.cs index fc45ad222..8b9428e22 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterWorkerConfigArgs.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterWorkerConfigArgs.cs @@ -86,7 +86,7 @@ public InputList DataDisks public Input? HpcClusterId { get; set; } /// - /// The valid image id, format of img-xxx. + /// The valid image id, format of img-xxx. Note: `img_id` will be replaced with the image corresponding to TKE `cluster_os`. /// [Input("imgId")] public Input? ImgId { get; set; } @@ -192,7 +192,7 @@ public InputList SecurityGroupIds public Input? SystemDiskType { get; set; } /// - /// User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB. + /// ase64-encoded User Data text, the length limit is 16KB. /// [Input("userData")] public Input? UserData { get; set; } diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterWorkerConfigGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterWorkerConfigGetArgs.cs index e060dbed6..d1961e1ff 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterWorkerConfigGetArgs.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/ClusterWorkerConfigGetArgs.cs @@ -86,7 +86,7 @@ public InputList DataDisks public Input? HpcClusterId { get; set; } /// - /// The valid image id, format of img-xxx. + /// The valid image id, format of img-xxx. Note: `img_id` will be replaced with the image corresponding to TKE `cluster_os`. /// [Input("imgId")] public Input? ImgId { get; set; } @@ -192,7 +192,7 @@ public InputList SecurityGroupIds public Input? SystemDiskType { get; set; } /// - /// User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB. + /// ase64-encoded User Data text, the length limit is 16KB. /// [Input("userData")] public Input? UserData { get; set; } diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/GetClusterNativeNodePoolsFilter.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/GetClusterNativeNodePoolsFilter.cs new file mode 100644 index 000000000..9d2c01c81 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/GetClusterNativeNodePoolsFilter.cs @@ -0,0 +1,39 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class GetClusterNativeNodePoolsFilterArgs : global::Pulumi.InvokeArgs + { + /// + /// The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + /// + [Input("name", required: true)] + public string Name { get; set; } = null!; + + [Input("values", required: true)] + private List? _values; + + /// + /// Attribute values, if there are multiple values in the same filter, the relationship between values under the same filter is a logical OR relationship. + /// + public List Values + { + get => _values ?? (_values = new List()); + set => _values = value; + } + + public GetClusterNativeNodePoolsFilterArgs() + { + } + public static new GetClusterNativeNodePoolsFilterArgs Empty => new GetClusterNativeNodePoolsFilterArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/GetClusterNativeNodePoolsFilterArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/GetClusterNativeNodePoolsFilterArgs.cs new file mode 100644 index 000000000..ce958d194 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/GetClusterNativeNodePoolsFilterArgs.cs @@ -0,0 +1,39 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class GetClusterNativeNodePoolsFilterInputArgs : global::Pulumi.ResourceArgs + { + /// + /// The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("values", required: true)] + private InputList? _values; + + /// + /// Attribute values, if there are multiple values in the same filter, the relationship between values under the same filter is a logical OR relationship. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public GetClusterNativeNodePoolsFilterInputArgs() + { + } + public static new GetClusterNativeNodePoolsFilterInputArgs Empty => new GetClusterNativeNodePoolsFilterInputArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolAnnotationArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolAnnotationArgs.cs new file mode 100644 index 000000000..7cb908ecf --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolAnnotationArgs.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class NativeNodePoolAnnotationArgs : global::Pulumi.ResourceArgs + { + /// + /// Name in the map table. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Value in the map table. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public NativeNodePoolAnnotationArgs() + { + } + public static new NativeNodePoolAnnotationArgs Empty => new NativeNodePoolAnnotationArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolAnnotationGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolAnnotationGetArgs.cs new file mode 100644 index 000000000..2082561ce --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolAnnotationGetArgs.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class NativeNodePoolAnnotationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Name in the map table. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Value in the map table. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public NativeNodePoolAnnotationGetArgs() + { + } + public static new NativeNodePoolAnnotationGetArgs Empty => new NativeNodePoolAnnotationGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolLabelArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolLabelArgs.cs new file mode 100644 index 000000000..6e8a50097 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolLabelArgs.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class NativeNodePoolLabelArgs : global::Pulumi.ResourceArgs + { + /// + /// Name in the map table. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Value in map table. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public NativeNodePoolLabelArgs() + { + } + public static new NativeNodePoolLabelArgs Empty => new NativeNodePoolLabelArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolLabelGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolLabelGetArgs.cs new file mode 100644 index 000000000..f4eaae700 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolLabelGetArgs.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class NativeNodePoolLabelGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Name in the map table. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Value in map table. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public NativeNodePoolLabelGetArgs() + { + } + public static new NativeNodePoolLabelGetArgs Empty => new NativeNodePoolLabelGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeArgs.cs new file mode 100644 index 000000000..4c81f6c5a --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeArgs.cs @@ -0,0 +1,171 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class NativeNodePoolNativeArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether to enable self-healing ability. + /// + [Input("autoRepair")] + public Input? AutoRepair { get; set; } + + [Input("dataDisks")] + private InputList? _dataDisks; + + /// + /// Native node pool data disk list. + /// + public InputList DataDisks + { + get => _dataDisks ?? (_dataDisks = new InputList()); + set => _dataDisks = value; + } + + /// + /// Whether to enable elastic scaling. + /// + [Input("enableAutoscaling")] + public Input? EnableAutoscaling { get; set; } + + /// + /// Fault self-healing rule name. + /// + [Input("healthCheckPolicyName")] + public Input? HealthCheckPolicyName { get; set; } + + /// + /// Native node pool hostName pattern string. + /// + [Input("hostNamePattern")] + public Input? HostNamePattern { get; set; } + + /// + /// Billing configuration for yearly and monthly models. + /// + [Input("instanceChargePrepaid")] + public Input? InstanceChargePrepaid { get; set; } + + /// + /// Node billing type. `PREPAID` is a yearly and monthly subscription, `POSTPAID_BY_HOUR` is a pay-as-you-go plan. The default is `POSTPAID_BY_HOUR`. + /// + [Input("instanceChargeType", required: true)] + public Input InstanceChargeType { get; set; } = null!; + + [Input("instanceTypes", required: true)] + private InputList? _instanceTypes; + + /// + /// Model list. + /// + public InputList InstanceTypes + { + get => _instanceTypes ?? (_instanceTypes = new InputList()); + set => _instanceTypes = value; + } + + /// + /// Public network bandwidth settings. + /// + [Input("internetAccessible")] + public Input? InternetAccessible { get; set; } + + [Input("keyIds")] + private InputList? _keyIds; + + /// + /// Node pool ssh public key id array. + /// + public InputList KeyIds + { + get => _keyIds ?? (_keyIds = new InputList()); + set => _keyIds = value; + } + + [Input("kubeletArgs")] + private InputList? _kubeletArgs; + + /// + /// Kubelet custom parameters. + /// + public InputList KubeletArgs + { + get => _kubeletArgs ?? (_kubeletArgs = new InputList()); + set => _kubeletArgs = value; + } + + /// + /// Predefined scripts. + /// + [Input("lifecycle")] + public Input? Lifecycle { get; set; } + + /// + /// Node pool management parameter settings. + /// + [Input("management")] + public Input? Management { get; set; } + + /// + /// Desired number of nodes. + /// + [Input("replicas")] + public Input? Replicas { get; set; } + + /// + /// Runtime root directory. + /// + [Input("runtimeRootDir")] + public Input? RuntimeRootDir { get; set; } + + /// + /// Node pool scaling configuration. + /// + [Input("scaling")] + public Input? Scaling { get; set; } + + [Input("securityGroupIds", required: true)] + private InputList? _securityGroupIds; + + /// + /// Security group list. + /// + public InputList SecurityGroupIds + { + get => _securityGroupIds ?? (_securityGroupIds = new InputList()); + set => _securityGroupIds = value; + } + + [Input("subnetIds", required: true)] + private InputList? _subnetIds; + + /// + /// Subnet list. + /// + public InputList SubnetIds + { + get => _subnetIds ?? (_subnetIds = new InputList()); + set => _subnetIds = value; + } + + /// + /// System disk configuration. + /// + [Input("systemDisk", required: true)] + public Input SystemDisk { get; set; } = null!; + + public NativeNodePoolNativeArgs() + { + } + public static new NativeNodePoolNativeArgs Empty => new NativeNodePoolNativeArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeDataDiskArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeDataDiskArgs.cs new file mode 100644 index 000000000..7e3513824 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeDataDiskArgs.cs @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class NativeNodePoolNativeDataDiskArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether to automatically format the disk and mount it. + /// + [Input("autoFormatAndMount", required: true)] + public Input AutoFormatAndMount { get; set; } = null!; + + /// + /// Mount device name or partition name. + /// + [Input("diskPartition")] + public Input? DiskPartition { get; set; } + + /// + /// Cloud disk size (G). + /// + [Input("diskSize", required: true)] + public Input DiskSize { get; set; } = null!; + + /// + /// Cloud disk type. Valid values: `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_SSD`: cloud SSD disk, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD, `LOCAL_NVME`: local NVME disk. + /// + [Input("diskType", required: true)] + public Input DiskType { get; set; } = null!; + + /// + /// Pass in this parameter to create an encrypted cloud disk. The value is fixed to `ENCRYPT`. + /// + [Input("encrypt")] + public Input? Encrypt { get; set; } + + /// + /// File system (ext3/ext4/xfs). + /// + [Input("fileSystem")] + public Input? FileSystem { get; set; } + + /// + /// Customize the key when purchasing an encrypted disk. When this parameter is passed in, the Encrypt parameter is not empty. + /// + [Input("kmsKeyId")] + public Input? KmsKeyId { get; set; } + + /// + /// Mount directory. + /// + [Input("mountTarget")] + public Input? MountTarget { get; set; } + + /// + /// Snapshot ID. If passed in, the cloud disk will be created based on this snapshot. The snapshot type must be a data disk snapshot. + /// + [Input("snapshotId")] + public Input? SnapshotId { get; set; } + + /// + /// Cloud disk performance, unit: MB/s. Use this parameter to purchase additional performance for the cloud disk. + /// + [Input("throughputPerformance")] + public Input? ThroughputPerformance { get; set; } + + public NativeNodePoolNativeDataDiskArgs() + { + } + public static new NativeNodePoolNativeDataDiskArgs Empty => new NativeNodePoolNativeDataDiskArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeDataDiskGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeDataDiskGetArgs.cs new file mode 100644 index 000000000..64291efc6 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeDataDiskGetArgs.cs @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class NativeNodePoolNativeDataDiskGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether to automatically format the disk and mount it. + /// + [Input("autoFormatAndMount", required: true)] + public Input AutoFormatAndMount { get; set; } = null!; + + /// + /// Mount device name or partition name. + /// + [Input("diskPartition")] + public Input? DiskPartition { get; set; } + + /// + /// Cloud disk size (G). + /// + [Input("diskSize", required: true)] + public Input DiskSize { get; set; } = null!; + + /// + /// Cloud disk type. Valid values: `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_SSD`: cloud SSD disk, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD, `LOCAL_NVME`: local NVME disk. + /// + [Input("diskType", required: true)] + public Input DiskType { get; set; } = null!; + + /// + /// Pass in this parameter to create an encrypted cloud disk. The value is fixed to `ENCRYPT`. + /// + [Input("encrypt")] + public Input? Encrypt { get; set; } + + /// + /// File system (ext3/ext4/xfs). + /// + [Input("fileSystem")] + public Input? FileSystem { get; set; } + + /// + /// Customize the key when purchasing an encrypted disk. When this parameter is passed in, the Encrypt parameter is not empty. + /// + [Input("kmsKeyId")] + public Input? KmsKeyId { get; set; } + + /// + /// Mount directory. + /// + [Input("mountTarget")] + public Input? MountTarget { get; set; } + + /// + /// Snapshot ID. If passed in, the cloud disk will be created based on this snapshot. The snapshot type must be a data disk snapshot. + /// + [Input("snapshotId")] + public Input? SnapshotId { get; set; } + + /// + /// Cloud disk performance, unit: MB/s. Use this parameter to purchase additional performance for the cloud disk. + /// + [Input("throughputPerformance")] + public Input? ThroughputPerformance { get; set; } + + public NativeNodePoolNativeDataDiskGetArgs() + { + } + public static new NativeNodePoolNativeDataDiskGetArgs Empty => new NativeNodePoolNativeDataDiskGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeGetArgs.cs new file mode 100644 index 000000000..ba8fa76e4 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeGetArgs.cs @@ -0,0 +1,171 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class NativeNodePoolNativeGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether to enable self-healing ability. + /// + [Input("autoRepair")] + public Input? AutoRepair { get; set; } + + [Input("dataDisks")] + private InputList? _dataDisks; + + /// + /// Native node pool data disk list. + /// + public InputList DataDisks + { + get => _dataDisks ?? (_dataDisks = new InputList()); + set => _dataDisks = value; + } + + /// + /// Whether to enable elastic scaling. + /// + [Input("enableAutoscaling")] + public Input? EnableAutoscaling { get; set; } + + /// + /// Fault self-healing rule name. + /// + [Input("healthCheckPolicyName")] + public Input? HealthCheckPolicyName { get; set; } + + /// + /// Native node pool hostName pattern string. + /// + [Input("hostNamePattern")] + public Input? HostNamePattern { get; set; } + + /// + /// Billing configuration for yearly and monthly models. + /// + [Input("instanceChargePrepaid")] + public Input? InstanceChargePrepaid { get; set; } + + /// + /// Node billing type. `PREPAID` is a yearly and monthly subscription, `POSTPAID_BY_HOUR` is a pay-as-you-go plan. The default is `POSTPAID_BY_HOUR`. + /// + [Input("instanceChargeType", required: true)] + public Input InstanceChargeType { get; set; } = null!; + + [Input("instanceTypes", required: true)] + private InputList? _instanceTypes; + + /// + /// Model list. + /// + public InputList InstanceTypes + { + get => _instanceTypes ?? (_instanceTypes = new InputList()); + set => _instanceTypes = value; + } + + /// + /// Public network bandwidth settings. + /// + [Input("internetAccessible")] + public Input? InternetAccessible { get; set; } + + [Input("keyIds")] + private InputList? _keyIds; + + /// + /// Node pool ssh public key id array. + /// + public InputList KeyIds + { + get => _keyIds ?? (_keyIds = new InputList()); + set => _keyIds = value; + } + + [Input("kubeletArgs")] + private InputList? _kubeletArgs; + + /// + /// Kubelet custom parameters. + /// + public InputList KubeletArgs + { + get => _kubeletArgs ?? (_kubeletArgs = new InputList()); + set => _kubeletArgs = value; + } + + /// + /// Predefined scripts. + /// + [Input("lifecycle")] + public Input? Lifecycle { get; set; } + + /// + /// Node pool management parameter settings. + /// + [Input("management")] + public Input? Management { get; set; } + + /// + /// Desired number of nodes. + /// + [Input("replicas")] + public Input? Replicas { get; set; } + + /// + /// Runtime root directory. + /// + [Input("runtimeRootDir")] + public Input? RuntimeRootDir { get; set; } + + /// + /// Node pool scaling configuration. + /// + [Input("scaling")] + public Input? Scaling { get; set; } + + [Input("securityGroupIds", required: true)] + private InputList? _securityGroupIds; + + /// + /// Security group list. + /// + public InputList SecurityGroupIds + { + get => _securityGroupIds ?? (_securityGroupIds = new InputList()); + set => _securityGroupIds = value; + } + + [Input("subnetIds", required: true)] + private InputList? _subnetIds; + + /// + /// Subnet list. + /// + public InputList SubnetIds + { + get => _subnetIds ?? (_subnetIds = new InputList()); + set => _subnetIds = value; + } + + /// + /// System disk configuration. + /// + [Input("systemDisk", required: true)] + public Input SystemDisk { get; set; } = null!; + + public NativeNodePoolNativeGetArgs() + { + } + public static new NativeNodePoolNativeGetArgs Empty => new NativeNodePoolNativeGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeInstanceChargePrepaidArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeInstanceChargePrepaidArgs.cs new file mode 100644 index 000000000..3d17eb8d2 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeInstanceChargePrepaidArgs.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class NativeNodePoolNativeInstanceChargePrepaidArgs : global::Pulumi.ResourceArgs + { + /// + /// Postpaid billing cycle, unit (month): 1, 2, 3, 4, 5,, 6, 7, 8, 9, 10, 11, 12, 24, 36, 48, 60. + /// + [Input("period", required: true)] + public Input Period { get; set; } = null!; + + /// + /// Prepaid renewal method: + /// + [Input("renewFlag")] + public Input? RenewFlag { get; set; } + + public NativeNodePoolNativeInstanceChargePrepaidArgs() + { + } + public static new NativeNodePoolNativeInstanceChargePrepaidArgs Empty => new NativeNodePoolNativeInstanceChargePrepaidArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeInstanceChargePrepaidGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeInstanceChargePrepaidGetArgs.cs new file mode 100644 index 000000000..aaddb3612 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeInstanceChargePrepaidGetArgs.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class NativeNodePoolNativeInstanceChargePrepaidGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Postpaid billing cycle, unit (month): 1, 2, 3, 4, 5,, 6, 7, 8, 9, 10, 11, 12, 24, 36, 48, 60. + /// + [Input("period", required: true)] + public Input Period { get; set; } = null!; + + /// + /// Prepaid renewal method: + /// + [Input("renewFlag")] + public Input? RenewFlag { get; set; } + + public NativeNodePoolNativeInstanceChargePrepaidGetArgs() + { + } + public static new NativeNodePoolNativeInstanceChargePrepaidGetArgs Empty => new NativeNodePoolNativeInstanceChargePrepaidGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeInternetAccessibleArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeInternetAccessibleArgs.cs new file mode 100644 index 000000000..08bb2ce99 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeInternetAccessibleArgs.cs @@ -0,0 +1,39 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class NativeNodePoolNativeInternetAccessibleArgs : global::Pulumi.ResourceArgs + { + /// + /// Bandwidth package ID. Note: When ChargeType is BANDWIDTH_PACKAG, the value cannot be empty; otherwise, the value must be empty. + /// + [Input("bandwidthPackageId")] + public Input? BandwidthPackageId { get; set; } + + /// + /// Network billing method. Optional value is `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. + /// + [Input("chargeType", required: true)] + public Input ChargeType { get; set; } = null!; + + /// + /// Maximum bandwidth output. Note: When chargeType is `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_POSTPAID_BY_HOUR`, the valid range is 1~100. When chargeType is `BANDWIDTH_PACKAG`, the valid range is 1~2000. + /// + [Input("maxBandwidthOut", required: true)] + public Input MaxBandwidthOut { get; set; } = null!; + + public NativeNodePoolNativeInternetAccessibleArgs() + { + } + public static new NativeNodePoolNativeInternetAccessibleArgs Empty => new NativeNodePoolNativeInternetAccessibleArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeInternetAccessibleGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeInternetAccessibleGetArgs.cs new file mode 100644 index 000000000..d8f8169cb --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeInternetAccessibleGetArgs.cs @@ -0,0 +1,39 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class NativeNodePoolNativeInternetAccessibleGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Bandwidth package ID. Note: When ChargeType is BANDWIDTH_PACKAG, the value cannot be empty; otherwise, the value must be empty. + /// + [Input("bandwidthPackageId")] + public Input? BandwidthPackageId { get; set; } + + /// + /// Network billing method. Optional value is `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. + /// + [Input("chargeType", required: true)] + public Input ChargeType { get; set; } = null!; + + /// + /// Maximum bandwidth output. Note: When chargeType is `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_POSTPAID_BY_HOUR`, the valid range is 1~100. When chargeType is `BANDWIDTH_PACKAG`, the valid range is 1~2000. + /// + [Input("maxBandwidthOut", required: true)] + public Input MaxBandwidthOut { get; set; } = null!; + + public NativeNodePoolNativeInternetAccessibleGetArgs() + { + } + public static new NativeNodePoolNativeInternetAccessibleGetArgs Empty => new NativeNodePoolNativeInternetAccessibleGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeLifecycleArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeLifecycleArgs.cs new file mode 100644 index 000000000..c05dd51ce --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeLifecycleArgs.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class NativeNodePoolNativeLifecycleArgs : global::Pulumi.ResourceArgs + { + /// + /// Custom script after node initialization. + /// + [Input("postInit")] + public Input? PostInit { get; set; } + + /// + /// Custom script before node initialization. + /// + [Input("preInit")] + public Input? PreInit { get; set; } + + public NativeNodePoolNativeLifecycleArgs() + { + } + public static new NativeNodePoolNativeLifecycleArgs Empty => new NativeNodePoolNativeLifecycleArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeLifecycleGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeLifecycleGetArgs.cs new file mode 100644 index 000000000..7e20ba5f0 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeLifecycleGetArgs.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class NativeNodePoolNativeLifecycleGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Custom script after node initialization. + /// + [Input("postInit")] + public Input? PostInit { get; set; } + + /// + /// Custom script before node initialization. + /// + [Input("preInit")] + public Input? PreInit { get; set; } + + public NativeNodePoolNativeLifecycleGetArgs() + { + } + public static new NativeNodePoolNativeLifecycleGetArgs Empty => new NativeNodePoolNativeLifecycleGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeManagementArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeManagementArgs.cs new file mode 100644 index 000000000..5b0ef1f47 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeManagementArgs.cs @@ -0,0 +1,57 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class NativeNodePoolNativeManagementArgs : global::Pulumi.ResourceArgs + { + [Input("hosts")] + private InputList? _hosts; + + /// + /// Hosts configuration. + /// + public InputList Hosts + { + get => _hosts ?? (_hosts = new InputList()); + set => _hosts = value; + } + + [Input("kernelArgs")] + private InputList? _kernelArgs; + + /// + /// Kernel parameter configuration. + /// + public InputList KernelArgs + { + get => _kernelArgs ?? (_kernelArgs = new InputList()); + set => _kernelArgs = value; + } + + [Input("nameservers")] + private InputList? _nameservers; + + /// + /// Dns configuration. + /// + public InputList Nameservers + { + get => _nameservers ?? (_nameservers = new InputList()); + set => _nameservers = value; + } + + public NativeNodePoolNativeManagementArgs() + { + } + public static new NativeNodePoolNativeManagementArgs Empty => new NativeNodePoolNativeManagementArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeManagementGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeManagementGetArgs.cs new file mode 100644 index 000000000..b24d06a2b --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeManagementGetArgs.cs @@ -0,0 +1,57 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class NativeNodePoolNativeManagementGetArgs : global::Pulumi.ResourceArgs + { + [Input("hosts")] + private InputList? _hosts; + + /// + /// Hosts configuration. + /// + public InputList Hosts + { + get => _hosts ?? (_hosts = new InputList()); + set => _hosts = value; + } + + [Input("kernelArgs")] + private InputList? _kernelArgs; + + /// + /// Kernel parameter configuration. + /// + public InputList KernelArgs + { + get => _kernelArgs ?? (_kernelArgs = new InputList()); + set => _kernelArgs = value; + } + + [Input("nameservers")] + private InputList? _nameservers; + + /// + /// Dns configuration. + /// + public InputList Nameservers + { + get => _nameservers ?? (_nameservers = new InputList()); + set => _nameservers = value; + } + + public NativeNodePoolNativeManagementGetArgs() + { + } + public static new NativeNodePoolNativeManagementGetArgs Empty => new NativeNodePoolNativeManagementGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeScalingArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeScalingArgs.cs new file mode 100644 index 000000000..5d19e149d --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeScalingArgs.cs @@ -0,0 +1,39 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class NativeNodePoolNativeScalingArgs : global::Pulumi.ResourceArgs + { + /// + /// Node pool expansion strategy. `ZoneEquality`: multiple availability zones are broken up; `ZonePriority`: the preferred availability zone takes precedence. + /// + [Input("createPolicy")] + public Input? CreatePolicy { get; set; } + + /// + /// Maximum number of replicas in node pool. + /// + [Input("maxReplicas")] + public Input? MaxReplicas { get; set; } + + /// + /// Minimum number of replicas in node pool. + /// + [Input("minReplicas")] + public Input? MinReplicas { get; set; } + + public NativeNodePoolNativeScalingArgs() + { + } + public static new NativeNodePoolNativeScalingArgs Empty => new NativeNodePoolNativeScalingArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeScalingGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeScalingGetArgs.cs new file mode 100644 index 000000000..543c32642 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeScalingGetArgs.cs @@ -0,0 +1,39 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class NativeNodePoolNativeScalingGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Node pool expansion strategy. `ZoneEquality`: multiple availability zones are broken up; `ZonePriority`: the preferred availability zone takes precedence. + /// + [Input("createPolicy")] + public Input? CreatePolicy { get; set; } + + /// + /// Maximum number of replicas in node pool. + /// + [Input("maxReplicas")] + public Input? MaxReplicas { get; set; } + + /// + /// Minimum number of replicas in node pool. + /// + [Input("minReplicas")] + public Input? MinReplicas { get; set; } + + public NativeNodePoolNativeScalingGetArgs() + { + } + public static new NativeNodePoolNativeScalingGetArgs Empty => new NativeNodePoolNativeScalingGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeSystemDiskArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeSystemDiskArgs.cs new file mode 100644 index 000000000..1bc0eb626 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeSystemDiskArgs.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class NativeNodePoolNativeSystemDiskArgs : global::Pulumi.ResourceArgs + { + /// + /// Cloud disk size (G). + /// + [Input("diskSize", required: true)] + public Input DiskSize { get; set; } = null!; + + /// + /// Cloud disk type. Valid values: `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_SSD`: cloud SSD disk, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD. + /// + [Input("diskType", required: true)] + public Input DiskType { get; set; } = null!; + + public NativeNodePoolNativeSystemDiskArgs() + { + } + public static new NativeNodePoolNativeSystemDiskArgs Empty => new NativeNodePoolNativeSystemDiskArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeSystemDiskGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeSystemDiskGetArgs.cs new file mode 100644 index 000000000..eb5f83b8e --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolNativeSystemDiskGetArgs.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class NativeNodePoolNativeSystemDiskGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Cloud disk size (G). + /// + [Input("diskSize", required: true)] + public Input DiskSize { get; set; } = null!; + + /// + /// Cloud disk type. Valid values: `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_SSD`: cloud SSD disk, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD. + /// + [Input("diskType", required: true)] + public Input DiskType { get; set; } = null!; + + public NativeNodePoolNativeSystemDiskGetArgs() + { + } + public static new NativeNodePoolNativeSystemDiskGetArgs Empty => new NativeNodePoolNativeSystemDiskGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolTagArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolTagArgs.cs new file mode 100644 index 000000000..4724ce5fb --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolTagArgs.cs @@ -0,0 +1,39 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class NativeNodePoolTagArgs : global::Pulumi.ResourceArgs + { + /// + /// The resource type bound to the label. + /// + [Input("resourceType")] + public Input? ResourceType { get; set; } + + [Input("tags")] + private InputList? _tags; + + /// + /// Tag pair list. + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + public NativeNodePoolTagArgs() + { + } + public static new NativeNodePoolTagArgs Empty => new NativeNodePoolTagArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolTagGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolTagGetArgs.cs new file mode 100644 index 000000000..ff8e2829f --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolTagGetArgs.cs @@ -0,0 +1,39 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class NativeNodePoolTagGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The resource type bound to the label. + /// + [Input("resourceType")] + public Input? ResourceType { get; set; } + + [Input("tags")] + private InputList? _tags; + + /// + /// Tag pair list. + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + public NativeNodePoolTagGetArgs() + { + } + public static new NativeNodePoolTagGetArgs Empty => new NativeNodePoolTagGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolTagTagArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolTagTagArgs.cs new file mode 100644 index 000000000..abb0414d6 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolTagTagArgs.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class NativeNodePoolTagTagArgs : global::Pulumi.ResourceArgs + { + /// + /// Tag Key. + /// + [Input("key")] + public Input? Key { get; set; } + + /// + /// Tag Value. + /// + [Input("value")] + public Input? Value { get; set; } + + public NativeNodePoolTagTagArgs() + { + } + public static new NativeNodePoolTagTagArgs Empty => new NativeNodePoolTagTagArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolTagTagGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolTagTagGetArgs.cs new file mode 100644 index 000000000..953296c60 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolTagTagGetArgs.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class NativeNodePoolTagTagGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Tag Key. + /// + [Input("key")] + public Input? Key { get; set; } + + /// + /// Tag Value. + /// + [Input("value")] + public Input? Value { get; set; } + + public NativeNodePoolTagTagGetArgs() + { + } + public static new NativeNodePoolTagTagGetArgs Empty => new NativeNodePoolTagTagGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolTaintArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolTaintArgs.cs new file mode 100644 index 000000000..b512374ab --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolTaintArgs.cs @@ -0,0 +1,39 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class NativeNodePoolTaintArgs : global::Pulumi.ResourceArgs + { + /// + /// Effect of the taint. + /// + [Input("effect")] + public Input? Effect { get; set; } + + /// + /// Key of the taint. + /// + [Input("key")] + public Input? Key { get; set; } + + /// + /// Value of the taint. + /// + [Input("value")] + public Input? Value { get; set; } + + public NativeNodePoolTaintArgs() + { + } + public static new NativeNodePoolTaintArgs Empty => new NativeNodePoolTaintArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolTaintGetArgs.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolTaintGetArgs.cs new file mode 100644 index 000000000..6713c7bf4 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Inputs/NativeNodePoolTaintGetArgs.cs @@ -0,0 +1,39 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs +{ + + public sealed class NativeNodePoolTaintGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Effect of the taint. + /// + [Input("effect")] + public Input? Effect { get; set; } + + /// + /// Key of the taint. + /// + [Input("key")] + public Input? Key { get; set; } + + /// + /// Value of the taint. + /// + [Input("value")] + public Input? Value { get; set; } + + public NativeNodePoolTaintGetArgs() + { + } + public static new NativeNodePoolTaintGetArgs Empty => new NativeNodePoolTaintGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/NativeNodePool.cs b/sdk/dotnet/Tencentcloud/Kubernetes/NativeNodePool.cs new file mode 100644 index 000000000..d0633a064 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/NativeNodePool.cs @@ -0,0 +1,497 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes +{ + /// + /// Provides a resource to create a tke kubernetes_native_node_pool + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var kubernetesNativeNodePool = new Tencentcloud.Kubernetes.NativeNodePool("kubernetesNativeNodePool", new() + /// { + /// Annotations = new[] + /// { + /// new Tencentcloud.Kubernetes.Inputs.NativeNodePoolAnnotationArgs + /// { + /// Name = "node.tke.cloud.tencent.com/test-anno", + /// Value = "test", + /// }, + /// new Tencentcloud.Kubernetes.Inputs.NativeNodePoolAnnotationArgs + /// { + /// Name = "node.tke.cloud.tencent.com/test-label", + /// Value = "test", + /// }, + /// }, + /// ClusterId = "cls-eyier120", + /// DeletionProtection = false, + /// Labels = new[] + /// { + /// new Tencentcloud.Kubernetes.Inputs.NativeNodePoolLabelArgs + /// { + /// Name = "test11", + /// Value = "test21", + /// }, + /// }, + /// Native = new Tencentcloud.Kubernetes.Inputs.NativeNodePoolNativeArgs + /// { + /// AutoRepair = false, + /// DataDisks = new[] + /// { + /// new Tencentcloud.Kubernetes.Inputs.NativeNodePoolNativeDataDiskArgs + /// { + /// AutoFormatAndMount = true, + /// DiskSize = 60, + /// DiskType = "CLOUD_PREMIUM", + /// FileSystem = "ext4", + /// MountTarget = "/var/lib/containerd", + /// }, + /// }, + /// EnableAutoscaling = true, + /// HostNamePattern = "aaa{R:3}", + /// InstanceChargePrepaid = new Tencentcloud.Kubernetes.Inputs.NativeNodePoolNativeInstanceChargePrepaidArgs + /// { + /// Period = 1, + /// RenewFlag = "NOTIFY_AND_MANUAL_RENEW", + /// }, + /// InstanceChargeType = "PREPAID", + /// InstanceTypes = new[] + /// { + /// "SA2.MEDIUM2", + /// }, + /// InternetAccessible = new Tencentcloud.Kubernetes.Inputs.NativeNodePoolNativeInternetAccessibleArgs + /// { + /// ChargeType = "TRAFFIC_POSTPAID_BY_HOUR", + /// MaxBandwidthOut = 50, + /// }, + /// KeyIds = new[] + /// { + /// "skey-9pcs2100", + /// }, + /// KubeletArgs = new[] + /// { + /// "allowed-unsafe-sysctls=net.core.somaxconn", + /// "root-dir=/var/lib/test", + /// }, + /// Lifecycle = new Tencentcloud.Kubernetes.Inputs.NativeNodePoolNativeLifecycleArgs + /// { + /// PostInit = "ZWNobyBoZWxsb3dvcmxk", + /// PreInit = "ZWNobyBoZWxsb3dvcmxk", + /// }, + /// Management = new Tencentcloud.Kubernetes.Inputs.NativeNodePoolNativeManagementArgs + /// { + /// Hosts = new[] + /// { + /// "192.168.2.42 static.fake.com", + /// "192.168.2.42 static.fake.com2", + /// }, + /// KernelArgs = new[] + /// { + /// "kernel.pid_max=65535", + /// "fs.file-max=400000", + /// }, + /// Nameservers = new[] + /// { + /// "183.60.83.19", + /// "183.60.82.98", + /// }, + /// }, + /// Replicas = 2, + /// RuntimeRootDir = "/var/lib/docker", + /// Scaling = new Tencentcloud.Kubernetes.Inputs.NativeNodePoolNativeScalingArgs + /// { + /// CreatePolicy = "ZoneEquality", + /// MaxReplicas = 10, + /// MinReplicas = 1, + /// }, + /// SecurityGroupIds = new[] + /// { + /// "sg-7tum9120", + /// }, + /// SubnetIds = new[] + /// { + /// "subnet-itb6d123", + /// }, + /// SystemDisk = new Tencentcloud.Kubernetes.Inputs.NativeNodePoolNativeSystemDiskArgs + /// { + /// DiskSize = 50, + /// DiskType = "CLOUD_SSD", + /// }, + /// }, + /// Tags = new[] + /// { + /// new Tencentcloud.Kubernetes.Inputs.NativeNodePoolTagArgs + /// { + /// ResourceType = "machine", + /// Tags = new[] + /// { + /// new Tencentcloud.Kubernetes.Inputs.NativeNodePoolTagTagArgs + /// { + /// Key = "keep-test-np1", + /// Value = "test1", + /// }, + /// new Tencentcloud.Kubernetes.Inputs.NativeNodePoolTagTagArgs + /// { + /// Key = "keep-test-np3", + /// Value = "test3", + /// }, + /// }, + /// }, + /// }, + /// Taints = new[] + /// { + /// new Tencentcloud.Kubernetes.Inputs.NativeNodePoolTaintArgs + /// { + /// Effect = "NoExecute", + /// Key = "product", + /// Value = "coderider", + /// }, + /// }, + /// Type = "Native", + /// Unschedulable = false, + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// tke kubernetes_native_node_pool can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Kubernetes/nativeNodePool:NativeNodePool kubernetes_native_node_pool cls-xxx#np-xxx + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Kubernetes/nativeNodePool:NativeNodePool")] + public partial class NativeNodePool : global::Pulumi.CustomResource + { + /// + /// Node Annotation List. + /// + [Output("annotations")] + public Output> Annotations { get; private set; } = null!; + + /// + /// ID of the cluster. + /// + [Output("clusterId")] + public Output ClusterId { get; private set; } = null!; + + /// + /// Creation time. + /// + [Output("createdAt")] + public Output CreatedAt { get; private set; } = null!; + + /// + /// Whether to enable deletion protection. + /// + [Output("deletionProtection")] + public Output DeletionProtection { get; private set; } = null!; + + /// + /// Node Labels. + /// + [Output("labels")] + public Output> Labels { get; private set; } = null!; + + /// + /// Node pool status. + /// + [Output("lifeState")] + public Output LifeState { get; private set; } = null!; + + /// + /// Node pool name. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Native node pool creation parameters. + /// + [Output("native")] + public Output Native { get; private set; } = null!; + + /// + /// Node tags. + /// + [Output("tags")] + public Output> Tags { get; private set; } = null!; + + /// + /// Node taint. + /// + [Output("taints")] + public Output> Taints { get; private set; } = null!; + + /// + /// Node pool type. Optional value is `Native`. + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// Whether the node is not schedulable by default. The native node is not aware of it and passes false by default. + /// + [Output("unschedulable")] + public Output Unschedulable { get; private set; } = null!; + + + /// + /// Create a NativeNodePool resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public NativeNodePool(string name, NativeNodePoolArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Kubernetes/nativeNodePool:NativeNodePool", name, args ?? new NativeNodePoolArgs(), MakeResourceOptions(options, "")) + { + } + + private NativeNodePool(string name, Input id, NativeNodePoolState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Kubernetes/nativeNodePool:NativeNodePool", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "github://api.github.com/tencentcloudstack", + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing NativeNodePool resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static NativeNodePool Get(string name, Input id, NativeNodePoolState? state = null, CustomResourceOptions? options = null) + { + return new NativeNodePool(name, id, state, options); + } + } + + public sealed class NativeNodePoolArgs : global::Pulumi.ResourceArgs + { + [Input("annotations")] + private InputList? _annotations; + + /// + /// Node Annotation List. + /// + public InputList Annotations + { + get => _annotations ?? (_annotations = new InputList()); + set => _annotations = value; + } + + /// + /// ID of the cluster. + /// + [Input("clusterId", required: true)] + public Input ClusterId { get; set; } = null!; + + /// + /// Whether to enable deletion protection. + /// + [Input("deletionProtection")] + public Input? DeletionProtection { get; set; } + + [Input("labels")] + private InputList? _labels; + + /// + /// Node Labels. + /// + public InputList Labels + { + get => _labels ?? (_labels = new InputList()); + set => _labels = value; + } + + /// + /// Node pool name. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Native node pool creation parameters. + /// + [Input("native", required: true)] + public Input Native { get; set; } = null!; + + [Input("tags")] + private InputList? _tags; + + /// + /// Node tags. + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + [Input("taints")] + private InputList? _taints; + + /// + /// Node taint. + /// + public InputList Taints + { + get => _taints ?? (_taints = new InputList()); + set => _taints = value; + } + + /// + /// Node pool type. Optional value is `Native`. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + /// + /// Whether the node is not schedulable by default. The native node is not aware of it and passes false by default. + /// + [Input("unschedulable")] + public Input? Unschedulable { get; set; } + + public NativeNodePoolArgs() + { + } + public static new NativeNodePoolArgs Empty => new NativeNodePoolArgs(); + } + + public sealed class NativeNodePoolState : global::Pulumi.ResourceArgs + { + [Input("annotations")] + private InputList? _annotations; + + /// + /// Node Annotation List. + /// + public InputList Annotations + { + get => _annotations ?? (_annotations = new InputList()); + set => _annotations = value; + } + + /// + /// ID of the cluster. + /// + [Input("clusterId")] + public Input? ClusterId { get; set; } + + /// + /// Creation time. + /// + [Input("createdAt")] + public Input? CreatedAt { get; set; } + + /// + /// Whether to enable deletion protection. + /// + [Input("deletionProtection")] + public Input? DeletionProtection { get; set; } + + [Input("labels")] + private InputList? _labels; + + /// + /// Node Labels. + /// + public InputList Labels + { + get => _labels ?? (_labels = new InputList()); + set => _labels = value; + } + + /// + /// Node pool status. + /// + [Input("lifeState")] + public Input? LifeState { get; set; } + + /// + /// Node pool name. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Native node pool creation parameters. + /// + [Input("native")] + public Input? Native { get; set; } + + [Input("tags")] + private InputList? _tags; + + /// + /// Node tags. + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + [Input("taints")] + private InputList? _taints; + + /// + /// Node taint. + /// + public InputList Taints + { + get => _taints ?? (_taints = new InputList()); + set => _taints = value; + } + + /// + /// Node pool type. Optional value is `Native`. + /// + [Input("type")] + public Input? Type { get; set; } + + /// + /// Whether the node is not schedulable by default. The native node is not aware of it and passes false by default. + /// + [Input("unschedulable")] + public Input? Unschedulable { get; set; } + + public NativeNodePoolState() + { + } + public static new NativeNodePoolState Empty => new NativeNodePoolState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterMasterConfig.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterMasterConfig.cs index 03800591c..a543a1234 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterMasterConfig.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterMasterConfig.cs @@ -59,7 +59,7 @@ public sealed class ClusterMasterConfig /// public readonly string? HpcClusterId; /// - /// The valid image id, format of img-xxx. + /// The valid image id, format of img-xxx. Note: `img_id` will be replaced with the image corresponding to TKE `cluster_os`. /// public readonly string? ImgId; /// @@ -119,7 +119,7 @@ public sealed class ClusterMasterConfig /// public readonly string? SystemDiskType; /// - /// User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB. + /// ase64-encoded User Data text, the length limit is 16KB. /// public readonly string? UserData; diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterWorkerConfig.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterWorkerConfig.cs index 6506a3022..d5d00ea57 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterWorkerConfig.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/ClusterWorkerConfig.cs @@ -59,7 +59,7 @@ public sealed class ClusterWorkerConfig /// public readonly string? HpcClusterId; /// - /// The valid image id, format of img-xxx. + /// The valid image id, format of img-xxx. Note: `img_id` will be replaced with the image corresponding to TKE `cluster_os`. /// public readonly string? ImgId; /// @@ -119,7 +119,7 @@ public sealed class ClusterWorkerConfig /// public readonly string? SystemDiskType; /// - /// User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB. + /// ase64-encoded User Data text, the length limit is 16KB. /// public readonly string? UserData; diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsFilterResult.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsFilterResult.cs new file mode 100644 index 000000000..951486e78 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsFilterResult.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs +{ + + [OutputType] + public sealed class GetClusterNativeNodePoolsFilterResult + { + /// + /// The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + /// + public readonly string Name; + /// + /// Attribute values, if there are multiple values in the same filter, the relationship between values under the same filter is a logical OR relationship. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetClusterNativeNodePoolsFilterResult( + string name, + + ImmutableArray values) + { + Name = name; + Values = values; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolAnnotationResult.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolAnnotationResult.cs new file mode 100644 index 000000000..619464168 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolAnnotationResult.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs +{ + + [OutputType] + public sealed class GetClusterNativeNodePoolsNodePoolAnnotationResult + { + /// + /// The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + /// + public readonly string Name; + /// + /// Value of the taint. + /// + public readonly string Value; + + [OutputConstructor] + private GetClusterNativeNodePoolsNodePoolAnnotationResult( + string name, + + string value) + { + Name = name; + Value = value; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolLabelResult.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolLabelResult.cs new file mode 100644 index 000000000..22a6b5c93 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolLabelResult.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs +{ + + [OutputType] + public sealed class GetClusterNativeNodePoolsNodePoolLabelResult + { + /// + /// The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + /// + public readonly string Name; + /// + /// Value of the taint. + /// + public readonly string Value; + + [OutputConstructor] + private GetClusterNativeNodePoolsNodePoolLabelResult( + string name, + + string value) + { + Name = name; + Value = value; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolNativeDataDiskResult.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolNativeDataDiskResult.cs new file mode 100644 index 000000000..33acbe725 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolNativeDataDiskResult.cs @@ -0,0 +1,92 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs +{ + + [OutputType] + public sealed class GetClusterNativeNodePoolsNodePoolNativeDataDiskResult + { + /// + /// Whether to automatically format the disk and mount it. + /// + public readonly bool AutoFormatAndMount; + /// + /// Mount device name or partition name. + /// + public readonly string DiskPartition; + /// + /// Cloud disk size (G). + /// + public readonly int DiskSize; + /// + /// Cloud disk type. + /// + public readonly string DiskType; + /// + /// Pass in this parameter to create an encrypted cloud disk. The value is fixed to `ENCRYPT`. + /// + public readonly string Encrypt; + /// + /// File system (ext3/ext4/xfs). + /// + public readonly string FileSystem; + /// + /// Customize the key when purchasing an encrypted disk. When this parameter is passed in, the Encrypt parameter is not empty. + /// + public readonly string KmsKeyId; + /// + /// Mount directory. + /// + public readonly string MountTarget; + /// + /// Snapshot ID. If passed in, the cloud disk will be created based on this snapshot. The snapshot type must be a data disk snapshot. + /// + public readonly string SnapshotId; + /// + /// Cloud disk performance, unit: MB/s. Use this parameter to purchase additional performance for the cloud disk. + /// + public readonly int ThroughputPerformance; + + [OutputConstructor] + private GetClusterNativeNodePoolsNodePoolNativeDataDiskResult( + bool autoFormatAndMount, + + string diskPartition, + + int diskSize, + + string diskType, + + string encrypt, + + string fileSystem, + + string kmsKeyId, + + string mountTarget, + + string snapshotId, + + int throughputPerformance) + { + AutoFormatAndMount = autoFormatAndMount; + DiskPartition = diskPartition; + DiskSize = diskSize; + DiskType = diskType; + Encrypt = encrypt; + FileSystem = fileSystem; + KmsKeyId = kmsKeyId; + MountTarget = mountTarget; + SnapshotId = snapshotId; + ThroughputPerformance = throughputPerformance; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidResult.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidResult.cs new file mode 100644 index 000000000..2acf8cacc --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidResult.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs +{ + + [OutputType] + public sealed class GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidResult + { + /// + /// Postpaid billing cycle, unit (month): 1, 2, 3, 4, 5,, 6, 7, 8, 9, 10, 11, 12, 24, 36, 48, 60. + /// + public readonly int Period; + /// + /// Prepaid renewal method: + /// + public readonly string RenewFlag; + + [OutputConstructor] + private GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidResult( + int period, + + string renewFlag) + { + Period = period; + RenewFlag = renewFlag; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleResult.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleResult.cs new file mode 100644 index 000000000..f4faea4b2 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleResult.cs @@ -0,0 +1,43 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs +{ + + [OutputType] + public sealed class GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleResult + { + /// + /// Bandwidth package ID. Note: When ChargeType is BANDWIDTH_PACKAG, the value cannot be empty; otherwise, the value must be empty. + /// + public readonly string BandwidthPackageId; + /// + /// Network billing method. Optional value is `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. + /// + public readonly string ChargeType; + /// + /// Maximum bandwidth output. Note: When chargeType is `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_POSTPAID_BY_HOUR`, the valid range is 1~100. When chargeType is `BANDWIDTH_PACKAG`, the valid range is 1~2000. + /// + public readonly int MaxBandwidthOut; + + [OutputConstructor] + private GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleResult( + string bandwidthPackageId, + + string chargeType, + + int maxBandwidthOut) + { + BandwidthPackageId = bandwidthPackageId; + ChargeType = chargeType; + MaxBandwidthOut = maxBandwidthOut; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolNativeLifecycleResult.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolNativeLifecycleResult.cs new file mode 100644 index 000000000..9dce62fac --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolNativeLifecycleResult.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs +{ + + [OutputType] + public sealed class GetClusterNativeNodePoolsNodePoolNativeLifecycleResult + { + /// + /// Custom script after node initialization. + /// + public readonly string PostInit; + /// + /// Custom script before node initialization. + /// + public readonly string PreInit; + + [OutputConstructor] + private GetClusterNativeNodePoolsNodePoolNativeLifecycleResult( + string postInit, + + string preInit) + { + PostInit = postInit; + PreInit = preInit; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolNativeManagementResult.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolNativeManagementResult.cs new file mode 100644 index 000000000..f7cbdfdc5 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolNativeManagementResult.cs @@ -0,0 +1,43 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs +{ + + [OutputType] + public sealed class GetClusterNativeNodePoolsNodePoolNativeManagementResult + { + /// + /// Hosts configuration. + /// + public readonly ImmutableArray Hosts; + /// + /// Kernel parameter configuration. + /// + public readonly ImmutableArray KernelArgs; + /// + /// Dns configuration. + /// + public readonly ImmutableArray Nameservers; + + [OutputConstructor] + private GetClusterNativeNodePoolsNodePoolNativeManagementResult( + ImmutableArray hosts, + + ImmutableArray kernelArgs, + + ImmutableArray nameservers) + { + Hosts = hosts; + KernelArgs = kernelArgs; + Nameservers = nameservers; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolNativeResult.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolNativeResult.cs new file mode 100644 index 000000000..cd0ba02da --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolNativeResult.cs @@ -0,0 +1,155 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs +{ + + [OutputType] + public sealed class GetClusterNativeNodePoolsNodePoolNativeResult + { + /// + /// Whether to enable self-healing ability. + /// + public readonly bool AutoRepair; + /// + /// Native node pool data disk list. + /// + public readonly ImmutableArray DataDisks; + /// + /// Whether to enable elastic scaling. + /// + public readonly bool EnableAutoscaling; + /// + /// Fault self-healing rule name. + /// + public readonly string HealthCheckPolicyName; + /// + /// Native node pool hostName pattern string. + /// + public readonly string HostNamePattern; + /// + /// Billing configuration for yearly and monthly models. + /// + public readonly ImmutableArray InstanceChargePrepaids; + /// + /// Node billing type. `PREPAID` is a yearly and monthly subscription, `POSTPAID_BY_HOUR` is a pay-as-you-go plan. The default is `POSTPAID_BY_HOUR`. + /// + public readonly string InstanceChargeType; + /// + /// Model list. + /// + public readonly ImmutableArray InstanceTypes; + /// + /// Public network bandwidth settings. + /// + public readonly ImmutableArray InternetAccessibles; + /// + /// Node pool ssh public key id array. + /// + public readonly ImmutableArray KeyIds; + /// + /// Kubelet custom parameters. + /// + public readonly ImmutableArray KubeletArgs; + /// + /// Predefined scripts. + /// + public readonly ImmutableArray Lifecycles; + /// + /// Node pool management parameter settings. + /// + public readonly ImmutableArray Managements; + /// + /// Desired number of nodes. + /// + public readonly int Replicas; + /// + /// Runtime root directory. + /// + public readonly string RuntimeRootDir; + /// + /// Node pool scaling configuration. + /// + public readonly ImmutableArray Scalings; + /// + /// Security group list. + /// + public readonly ImmutableArray SecurityGroupIds; + /// + /// Subnet list. + /// + public readonly ImmutableArray SubnetIds; + /// + /// System disk configuration. + /// + public readonly ImmutableArray SystemDisks; + + [OutputConstructor] + private GetClusterNativeNodePoolsNodePoolNativeResult( + bool autoRepair, + + ImmutableArray dataDisks, + + bool enableAutoscaling, + + string healthCheckPolicyName, + + string hostNamePattern, + + ImmutableArray instanceChargePrepaids, + + string instanceChargeType, + + ImmutableArray instanceTypes, + + ImmutableArray internetAccessibles, + + ImmutableArray keyIds, + + ImmutableArray kubeletArgs, + + ImmutableArray lifecycles, + + ImmutableArray managements, + + int replicas, + + string runtimeRootDir, + + ImmutableArray scalings, + + ImmutableArray securityGroupIds, + + ImmutableArray subnetIds, + + ImmutableArray systemDisks) + { + AutoRepair = autoRepair; + DataDisks = dataDisks; + EnableAutoscaling = enableAutoscaling; + HealthCheckPolicyName = healthCheckPolicyName; + HostNamePattern = hostNamePattern; + InstanceChargePrepaids = instanceChargePrepaids; + InstanceChargeType = instanceChargeType; + InstanceTypes = instanceTypes; + InternetAccessibles = internetAccessibles; + KeyIds = keyIds; + KubeletArgs = kubeletArgs; + Lifecycles = lifecycles; + Managements = managements; + Replicas = replicas; + RuntimeRootDir = runtimeRootDir; + Scalings = scalings; + SecurityGroupIds = securityGroupIds; + SubnetIds = subnetIds; + SystemDisks = systemDisks; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolNativeScalingResult.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolNativeScalingResult.cs new file mode 100644 index 000000000..d7ed1a6d4 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolNativeScalingResult.cs @@ -0,0 +1,43 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs +{ + + [OutputType] + public sealed class GetClusterNativeNodePoolsNodePoolNativeScalingResult + { + /// + /// Node pool expansion strategy. `ZoneEquality`: multiple availability zones are broken up; `ZonePriority`: the preferred availability zone takes precedence. + /// + public readonly string CreatePolicy; + /// + /// Maximum number of replicas in node pool. + /// + public readonly int MaxReplicas; + /// + /// Minimum number of replicas in node pool. + /// + public readonly int MinReplicas; + + [OutputConstructor] + private GetClusterNativeNodePoolsNodePoolNativeScalingResult( + string createPolicy, + + int maxReplicas, + + int minReplicas) + { + CreatePolicy = createPolicy; + MaxReplicas = maxReplicas; + MinReplicas = minReplicas; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolNativeSystemDiskResult.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolNativeSystemDiskResult.cs new file mode 100644 index 000000000..3fca996d4 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolNativeSystemDiskResult.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs +{ + + [OutputType] + public sealed class GetClusterNativeNodePoolsNodePoolNativeSystemDiskResult + { + /// + /// Cloud disk size (G). + /// + public readonly int DiskSize; + /// + /// Cloud disk type. + /// + public readonly string DiskType; + + [OutputConstructor] + private GetClusterNativeNodePoolsNodePoolNativeSystemDiskResult( + int diskSize, + + string diskType) + { + DiskSize = diskSize; + DiskType = diskType; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolResult.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolResult.cs new file mode 100644 index 000000000..855cff6b2 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolResult.cs @@ -0,0 +1,113 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs +{ + + [OutputType] + public sealed class GetClusterNativeNodePoolsNodePoolResult + { + /// + /// Node Annotation List. + /// + public readonly ImmutableArray Annotations; + /// + /// ID of the cluster. + /// + public readonly string ClusterId; + /// + /// Creation time. + /// + public readonly string CreatedAt; + /// + /// Whether to enable deletion protection. + /// + public readonly bool DeletionProtection; + /// + /// Node Labels. + /// + public readonly ImmutableArray Labels; + /// + /// Node pool status. + /// + public readonly string LifeState; + /// + /// The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + /// + public readonly string Name; + /// + /// Native node pool creation parameters. + /// + public readonly ImmutableArray Natives; + /// + /// ID of the node pool. + /// + public readonly string NodePoolId; + /// + /// Tag pair list. + /// + public readonly ImmutableArray Tags; + /// + /// node taint. + /// + public readonly ImmutableArray Taints; + /// + /// Node pool type. Optional value is `Native`. + /// + public readonly string Type; + /// + /// Whether the node is not schedulable by default. + /// + public readonly bool Unschedulable; + + [OutputConstructor] + private GetClusterNativeNodePoolsNodePoolResult( + ImmutableArray annotations, + + string clusterId, + + string createdAt, + + bool deletionProtection, + + ImmutableArray labels, + + string lifeState, + + string name, + + ImmutableArray natives, + + string nodePoolId, + + ImmutableArray tags, + + ImmutableArray taints, + + string type, + + bool unschedulable) + { + Annotations = annotations; + ClusterId = clusterId; + CreatedAt = createdAt; + DeletionProtection = deletionProtection; + Labels = labels; + LifeState = lifeState; + Name = name; + Natives = natives; + NodePoolId = nodePoolId; + Tags = tags; + Taints = taints; + Type = type; + Unschedulable = unschedulable; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolTagResult.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolTagResult.cs new file mode 100644 index 000000000..e90aa1358 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolTagResult.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs +{ + + [OutputType] + public sealed class GetClusterNativeNodePoolsNodePoolTagResult + { + /// + /// The resource type bound to the label. + /// + public readonly string ResourceType; + /// + /// Tag pair list. + /// + public readonly ImmutableArray Tags; + + [OutputConstructor] + private GetClusterNativeNodePoolsNodePoolTagResult( + string resourceType, + + ImmutableArray tags) + { + ResourceType = resourceType; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolTagTagResult.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolTagTagResult.cs new file mode 100644 index 000000000..a3c5a89d4 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolTagTagResult.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs +{ + + [OutputType] + public sealed class GetClusterNativeNodePoolsNodePoolTagTagResult + { + /// + /// Key of the taint. + /// + public readonly string Key; + /// + /// Value of the taint. + /// + public readonly string Value; + + [OutputConstructor] + private GetClusterNativeNodePoolsNodePoolTagTagResult( + string key, + + string value) + { + Key = key; + Value = value; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolTaintResult.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolTaintResult.cs new file mode 100644 index 000000000..64c3133d3 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/GetClusterNativeNodePoolsNodePoolTaintResult.cs @@ -0,0 +1,43 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs +{ + + [OutputType] + public sealed class GetClusterNativeNodePoolsNodePoolTaintResult + { + /// + /// Effect of the taint. + /// + public readonly string Effect; + /// + /// Key of the taint. + /// + public readonly string Key; + /// + /// Value of the taint. + /// + public readonly string Value; + + [OutputConstructor] + private GetClusterNativeNodePoolsNodePoolTaintResult( + string effect, + + string key, + + string value) + { + Effect = effect; + Key = key; + Value = value; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolAnnotation.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolAnnotation.cs new file mode 100644 index 000000000..bed2556a3 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolAnnotation.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs +{ + + [OutputType] + public sealed class NativeNodePoolAnnotation + { + /// + /// Name in the map table. + /// + public readonly string Name; + /// + /// Value in the map table. + /// + public readonly string Value; + + [OutputConstructor] + private NativeNodePoolAnnotation( + string name, + + string value) + { + Name = name; + Value = value; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolLabel.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolLabel.cs new file mode 100644 index 000000000..5a6352380 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolLabel.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs +{ + + [OutputType] + public sealed class NativeNodePoolLabel + { + /// + /// Name in the map table. + /// + public readonly string Name; + /// + /// Value in map table. + /// + public readonly string Value; + + [OutputConstructor] + private NativeNodePoolLabel( + string name, + + string value) + { + Name = name; + Value = value; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolNative.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolNative.cs new file mode 100644 index 000000000..3c9ede756 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolNative.cs @@ -0,0 +1,155 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs +{ + + [OutputType] + public sealed class NativeNodePoolNative + { + /// + /// Whether to enable self-healing ability. + /// + public readonly bool? AutoRepair; + /// + /// Native node pool data disk list. + /// + public readonly ImmutableArray DataDisks; + /// + /// Whether to enable elastic scaling. + /// + public readonly bool? EnableAutoscaling; + /// + /// Fault self-healing rule name. + /// + public readonly string? HealthCheckPolicyName; + /// + /// Native node pool hostName pattern string. + /// + public readonly string? HostNamePattern; + /// + /// Billing configuration for yearly and monthly models. + /// + public readonly Outputs.NativeNodePoolNativeInstanceChargePrepaid? InstanceChargePrepaid; + /// + /// Node billing type. `PREPAID` is a yearly and monthly subscription, `POSTPAID_BY_HOUR` is a pay-as-you-go plan. The default is `POSTPAID_BY_HOUR`. + /// + public readonly string InstanceChargeType; + /// + /// Model list. + /// + public readonly ImmutableArray InstanceTypes; + /// + /// Public network bandwidth settings. + /// + public readonly Outputs.NativeNodePoolNativeInternetAccessible? InternetAccessible; + /// + /// Node pool ssh public key id array. + /// + public readonly ImmutableArray KeyIds; + /// + /// Kubelet custom parameters. + /// + public readonly ImmutableArray KubeletArgs; + /// + /// Predefined scripts. + /// + public readonly Outputs.NativeNodePoolNativeLifecycle? Lifecycle; + /// + /// Node pool management parameter settings. + /// + public readonly Outputs.NativeNodePoolNativeManagement? Management; + /// + /// Desired number of nodes. + /// + public readonly int? Replicas; + /// + /// Runtime root directory. + /// + public readonly string? RuntimeRootDir; + /// + /// Node pool scaling configuration. + /// + public readonly Outputs.NativeNodePoolNativeScaling? Scaling; + /// + /// Security group list. + /// + public readonly ImmutableArray SecurityGroupIds; + /// + /// Subnet list. + /// + public readonly ImmutableArray SubnetIds; + /// + /// System disk configuration. + /// + public readonly Outputs.NativeNodePoolNativeSystemDisk SystemDisk; + + [OutputConstructor] + private NativeNodePoolNative( + bool? autoRepair, + + ImmutableArray dataDisks, + + bool? enableAutoscaling, + + string? healthCheckPolicyName, + + string? hostNamePattern, + + Outputs.NativeNodePoolNativeInstanceChargePrepaid? instanceChargePrepaid, + + string instanceChargeType, + + ImmutableArray instanceTypes, + + Outputs.NativeNodePoolNativeInternetAccessible? internetAccessible, + + ImmutableArray keyIds, + + ImmutableArray kubeletArgs, + + Outputs.NativeNodePoolNativeLifecycle? lifecycle, + + Outputs.NativeNodePoolNativeManagement? management, + + int? replicas, + + string? runtimeRootDir, + + Outputs.NativeNodePoolNativeScaling? scaling, + + ImmutableArray securityGroupIds, + + ImmutableArray subnetIds, + + Outputs.NativeNodePoolNativeSystemDisk systemDisk) + { + AutoRepair = autoRepair; + DataDisks = dataDisks; + EnableAutoscaling = enableAutoscaling; + HealthCheckPolicyName = healthCheckPolicyName; + HostNamePattern = hostNamePattern; + InstanceChargePrepaid = instanceChargePrepaid; + InstanceChargeType = instanceChargeType; + InstanceTypes = instanceTypes; + InternetAccessible = internetAccessible; + KeyIds = keyIds; + KubeletArgs = kubeletArgs; + Lifecycle = lifecycle; + Management = management; + Replicas = replicas; + RuntimeRootDir = runtimeRootDir; + Scaling = scaling; + SecurityGroupIds = securityGroupIds; + SubnetIds = subnetIds; + SystemDisk = systemDisk; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolNativeDataDisk.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolNativeDataDisk.cs new file mode 100644 index 000000000..90ae7adbd --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolNativeDataDisk.cs @@ -0,0 +1,92 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs +{ + + [OutputType] + public sealed class NativeNodePoolNativeDataDisk + { + /// + /// Whether to automatically format the disk and mount it. + /// + public readonly bool AutoFormatAndMount; + /// + /// Mount device name or partition name. + /// + public readonly string? DiskPartition; + /// + /// Cloud disk size (G). + /// + public readonly int DiskSize; + /// + /// Cloud disk type. Valid values: `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_SSD`: cloud SSD disk, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD, `LOCAL_NVME`: local NVME disk. + /// + public readonly string DiskType; + /// + /// Pass in this parameter to create an encrypted cloud disk. The value is fixed to `ENCRYPT`. + /// + public readonly string? Encrypt; + /// + /// File system (ext3/ext4/xfs). + /// + public readonly string? FileSystem; + /// + /// Customize the key when purchasing an encrypted disk. When this parameter is passed in, the Encrypt parameter is not empty. + /// + public readonly string? KmsKeyId; + /// + /// Mount directory. + /// + public readonly string? MountTarget; + /// + /// Snapshot ID. If passed in, the cloud disk will be created based on this snapshot. The snapshot type must be a data disk snapshot. + /// + public readonly string? SnapshotId; + /// + /// Cloud disk performance, unit: MB/s. Use this parameter to purchase additional performance for the cloud disk. + /// + public readonly int? ThroughputPerformance; + + [OutputConstructor] + private NativeNodePoolNativeDataDisk( + bool autoFormatAndMount, + + string? diskPartition, + + int diskSize, + + string diskType, + + string? encrypt, + + string? fileSystem, + + string? kmsKeyId, + + string? mountTarget, + + string? snapshotId, + + int? throughputPerformance) + { + AutoFormatAndMount = autoFormatAndMount; + DiskPartition = diskPartition; + DiskSize = diskSize; + DiskType = diskType; + Encrypt = encrypt; + FileSystem = fileSystem; + KmsKeyId = kmsKeyId; + MountTarget = mountTarget; + SnapshotId = snapshotId; + ThroughputPerformance = throughputPerformance; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolNativeInstanceChargePrepaid.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolNativeInstanceChargePrepaid.cs new file mode 100644 index 000000000..25bc79c8c --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolNativeInstanceChargePrepaid.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs +{ + + [OutputType] + public sealed class NativeNodePoolNativeInstanceChargePrepaid + { + /// + /// Postpaid billing cycle, unit (month): 1, 2, 3, 4, 5,, 6, 7, 8, 9, 10, 11, 12, 24, 36, 48, 60. + /// + public readonly int Period; + /// + /// Prepaid renewal method: + /// + public readonly string? RenewFlag; + + [OutputConstructor] + private NativeNodePoolNativeInstanceChargePrepaid( + int period, + + string? renewFlag) + { + Period = period; + RenewFlag = renewFlag; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolNativeInternetAccessible.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolNativeInternetAccessible.cs new file mode 100644 index 000000000..a0d7e3e81 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolNativeInternetAccessible.cs @@ -0,0 +1,43 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs +{ + + [OutputType] + public sealed class NativeNodePoolNativeInternetAccessible + { + /// + /// Bandwidth package ID. Note: When ChargeType is BANDWIDTH_PACKAG, the value cannot be empty; otherwise, the value must be empty. + /// + public readonly string? BandwidthPackageId; + /// + /// Network billing method. Optional value is `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. + /// + public readonly string ChargeType; + /// + /// Maximum bandwidth output. Note: When chargeType is `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_POSTPAID_BY_HOUR`, the valid range is 1~100. When chargeType is `BANDWIDTH_PACKAG`, the valid range is 1~2000. + /// + public readonly int MaxBandwidthOut; + + [OutputConstructor] + private NativeNodePoolNativeInternetAccessible( + string? bandwidthPackageId, + + string chargeType, + + int maxBandwidthOut) + { + BandwidthPackageId = bandwidthPackageId; + ChargeType = chargeType; + MaxBandwidthOut = maxBandwidthOut; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolNativeLifecycle.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolNativeLifecycle.cs new file mode 100644 index 000000000..f4223cf88 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolNativeLifecycle.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs +{ + + [OutputType] + public sealed class NativeNodePoolNativeLifecycle + { + /// + /// Custom script after node initialization. + /// + public readonly string? PostInit; + /// + /// Custom script before node initialization. + /// + public readonly string? PreInit; + + [OutputConstructor] + private NativeNodePoolNativeLifecycle( + string? postInit, + + string? preInit) + { + PostInit = postInit; + PreInit = preInit; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolNativeManagement.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolNativeManagement.cs new file mode 100644 index 000000000..d8564b769 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolNativeManagement.cs @@ -0,0 +1,43 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs +{ + + [OutputType] + public sealed class NativeNodePoolNativeManagement + { + /// + /// Hosts configuration. + /// + public readonly ImmutableArray Hosts; + /// + /// Kernel parameter configuration. + /// + public readonly ImmutableArray KernelArgs; + /// + /// Dns configuration. + /// + public readonly ImmutableArray Nameservers; + + [OutputConstructor] + private NativeNodePoolNativeManagement( + ImmutableArray hosts, + + ImmutableArray kernelArgs, + + ImmutableArray nameservers) + { + Hosts = hosts; + KernelArgs = kernelArgs; + Nameservers = nameservers; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolNativeScaling.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolNativeScaling.cs new file mode 100644 index 000000000..ce9dfbf3d --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolNativeScaling.cs @@ -0,0 +1,43 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs +{ + + [OutputType] + public sealed class NativeNodePoolNativeScaling + { + /// + /// Node pool expansion strategy. `ZoneEquality`: multiple availability zones are broken up; `ZonePriority`: the preferred availability zone takes precedence. + /// + public readonly string? CreatePolicy; + /// + /// Maximum number of replicas in node pool. + /// + public readonly int? MaxReplicas; + /// + /// Minimum number of replicas in node pool. + /// + public readonly int? MinReplicas; + + [OutputConstructor] + private NativeNodePoolNativeScaling( + string? createPolicy, + + int? maxReplicas, + + int? minReplicas) + { + CreatePolicy = createPolicy; + MaxReplicas = maxReplicas; + MinReplicas = minReplicas; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolNativeSystemDisk.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolNativeSystemDisk.cs new file mode 100644 index 000000000..496c4f4c4 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolNativeSystemDisk.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs +{ + + [OutputType] + public sealed class NativeNodePoolNativeSystemDisk + { + /// + /// Cloud disk size (G). + /// + public readonly int DiskSize; + /// + /// Cloud disk type. Valid values: `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_SSD`: cloud SSD disk, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD. + /// + public readonly string DiskType; + + [OutputConstructor] + private NativeNodePoolNativeSystemDisk( + int diskSize, + + string diskType) + { + DiskSize = diskSize; + DiskType = diskType; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolTag.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolTag.cs new file mode 100644 index 000000000..5864f497d --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolTag.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs +{ + + [OutputType] + public sealed class NativeNodePoolTag + { + /// + /// The resource type bound to the label. + /// + public readonly string? ResourceType; + /// + /// Tag pair list. + /// + public readonly ImmutableArray Tags; + + [OutputConstructor] + private NativeNodePoolTag( + string? resourceType, + + ImmutableArray tags) + { + ResourceType = resourceType; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolTagTag.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolTagTag.cs new file mode 100644 index 000000000..3881bde8e --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolTagTag.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs +{ + + [OutputType] + public sealed class NativeNodePoolTagTag + { + /// + /// Tag Key. + /// + public readonly string? Key; + /// + /// Tag Value. + /// + public readonly string? Value; + + [OutputConstructor] + private NativeNodePoolTagTag( + string? key, + + string? value) + { + Key = key; + Value = value; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolTaint.cs b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolTaint.cs new file mode 100644 index 000000000..56dee6a79 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Kubernetes/Outputs/NativeNodePoolTaint.cs @@ -0,0 +1,43 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Outputs +{ + + [OutputType] + public sealed class NativeNodePoolTaint + { + /// + /// Effect of the taint. + /// + public readonly string? Effect; + /// + /// Key of the taint. + /// + public readonly string? Key; + /// + /// Value of the taint. + /// + public readonly string? Value; + + [OutputConstructor] + private NativeNodePoolTaint( + string? effect, + + string? key, + + string? value) + { + Effect = effect; + Key = key; + Value = value; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Kubernetes/ScaleWorker.cs b/sdk/dotnet/Tencentcloud/Kubernetes/ScaleWorker.cs index 1c128758b..0b284cdd5 100644 --- a/sdk/dotnet/Tencentcloud/Kubernetes/ScaleWorker.cs +++ b/sdk/dotnet/Tencentcloud/Kubernetes/ScaleWorker.cs @@ -127,6 +127,14 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes /// }); /// ``` /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// tke scale worker can be imported, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Kubernetes/scaleWorker:ScaleWorker test cls-xxx#ins-xxx + /// ``` /// [TencentcloudResourceType("tencentcloud:Kubernetes/scaleWorker:ScaleWorker")] public partial class ScaleWorker : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Tencentcloud/Mongodb/Inputs/InstanceTransparentDataEncryptionKeyInfoListArgs.cs b/sdk/dotnet/Tencentcloud/Mongodb/Inputs/InstanceTransparentDataEncryptionKeyInfoListArgs.cs new file mode 100644 index 000000000..f3487e0fd --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Mongodb/Inputs/InstanceTransparentDataEncryptionKeyInfoListArgs.cs @@ -0,0 +1,57 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Mongodb.Inputs +{ + + public sealed class InstanceTransparentDataEncryptionKeyInfoListArgs : global::Pulumi.ResourceArgs + { + /// + /// Instance and key binding time. + /// + [Input("createTime")] + public Input? CreateTime { get; set; } + + /// + /// Master Key ID. + /// + [Input("keyId")] + public Input? KeyId { get; set; } + + /// + /// Master key name. + /// + [Input("keyName")] + public Input? KeyName { get; set; } + + /// + /// Key origin. + /// + [Input("keyOrigin")] + public Input? KeyOrigin { get; set; } + + /// + /// Purpose of the key. + /// + [Input("keyUsage")] + public Input? KeyUsage { get; set; } + + /// + /// Key status. + /// + [Input("status")] + public Input? Status { get; set; } + + public InstanceTransparentDataEncryptionKeyInfoListArgs() + { + } + public static new InstanceTransparentDataEncryptionKeyInfoListArgs Empty => new InstanceTransparentDataEncryptionKeyInfoListArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Mongodb/Inputs/InstanceTransparentDataEncryptionKeyInfoListGetArgs.cs b/sdk/dotnet/Tencentcloud/Mongodb/Inputs/InstanceTransparentDataEncryptionKeyInfoListGetArgs.cs new file mode 100644 index 000000000..c0ec0a9a5 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Mongodb/Inputs/InstanceTransparentDataEncryptionKeyInfoListGetArgs.cs @@ -0,0 +1,57 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Mongodb.Inputs +{ + + public sealed class InstanceTransparentDataEncryptionKeyInfoListGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Instance and key binding time. + /// + [Input("createTime")] + public Input? CreateTime { get; set; } + + /// + /// Master Key ID. + /// + [Input("keyId")] + public Input? KeyId { get; set; } + + /// + /// Master key name. + /// + [Input("keyName")] + public Input? KeyName { get; set; } + + /// + /// Key origin. + /// + [Input("keyOrigin")] + public Input? KeyOrigin { get; set; } + + /// + /// Purpose of the key. + /// + [Input("keyUsage")] + public Input? KeyUsage { get; set; } + + /// + /// Key status. + /// + [Input("status")] + public Input? Status { get; set; } + + public InstanceTransparentDataEncryptionKeyInfoListGetArgs() + { + } + public static new InstanceTransparentDataEncryptionKeyInfoListGetArgs Empty => new InstanceTransparentDataEncryptionKeyInfoListGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Mongodb/InstanceBackupRule.cs b/sdk/dotnet/Tencentcloud/Mongodb/InstanceBackupRule.cs new file mode 100644 index 000000000..1c9cbad49 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Mongodb/InstanceBackupRule.cs @@ -0,0 +1,168 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Mongodb +{ + /// + /// Provides a resource to create mongodb backup rule + /// + /// ## Import + /// + /// mongodb backup_rule can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Mongodb/instanceBackupRule:InstanceBackupRule backup_rule ${instanceId} + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Mongodb/instanceBackupRule:InstanceBackupRule")] + public partial class InstanceBackupRule : global::Pulumi.CustomResource + { + /// + /// Set automatic backup method. Valid values: + /// - 0: Logical backup; + /// - 1: Physical backup; + /// - 3: Snapshot backup (supported only in cloud disk version). + /// + [Output("backupMethod")] + public Output BackupMethod { get; private set; } = null!; + + /// + /// Specify the number of days to save backup data. The default is 7 days, and the support settings are 7, 30, 90, 180, 365. + /// + [Output("backupRetentionPeriod")] + public Output BackupRetentionPeriod { get; private set; } = null!; + + /// + /// Set the start time for automatic backup. The value range is: [0,23]. For example, setting this parameter to 2 means that backup starts at 02:00. + /// + [Output("backupTime")] + public Output BackupTime { get; private set; } = null!; + + /// + /// Instance id. + /// + [Output("instanceId")] + public Output InstanceId { get; private set; } = null!; + + + /// + /// Create a InstanceBackupRule resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public InstanceBackupRule(string name, InstanceBackupRuleArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Mongodb/instanceBackupRule:InstanceBackupRule", name, args ?? new InstanceBackupRuleArgs(), MakeResourceOptions(options, "")) + { + } + + private InstanceBackupRule(string name, Input id, InstanceBackupRuleState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Mongodb/instanceBackupRule:InstanceBackupRule", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "github://api.github.com/tencentcloudstack", + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing InstanceBackupRule resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static InstanceBackupRule Get(string name, Input id, InstanceBackupRuleState? state = null, CustomResourceOptions? options = null) + { + return new InstanceBackupRule(name, id, state, options); + } + } + + public sealed class InstanceBackupRuleArgs : global::Pulumi.ResourceArgs + { + /// + /// Set automatic backup method. Valid values: + /// - 0: Logical backup; + /// - 1: Physical backup; + /// - 3: Snapshot backup (supported only in cloud disk version). + /// + [Input("backupMethod", required: true)] + public Input BackupMethod { get; set; } = null!; + + /// + /// Specify the number of days to save backup data. The default is 7 days, and the support settings are 7, 30, 90, 180, 365. + /// + [Input("backupRetentionPeriod")] + public Input? BackupRetentionPeriod { get; set; } + + /// + /// Set the start time for automatic backup. The value range is: [0,23]. For example, setting this parameter to 2 means that backup starts at 02:00. + /// + [Input("backupTime", required: true)] + public Input BackupTime { get; set; } = null!; + + /// + /// Instance id. + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; + + public InstanceBackupRuleArgs() + { + } + public static new InstanceBackupRuleArgs Empty => new InstanceBackupRuleArgs(); + } + + public sealed class InstanceBackupRuleState : global::Pulumi.ResourceArgs + { + /// + /// Set automatic backup method. Valid values: + /// - 0: Logical backup; + /// - 1: Physical backup; + /// - 3: Snapshot backup (supported only in cloud disk version). + /// + [Input("backupMethod")] + public Input? BackupMethod { get; set; } + + /// + /// Specify the number of days to save backup data. The default is 7 days, and the support settings are 7, 30, 90, 180, 365. + /// + [Input("backupRetentionPeriod")] + public Input? BackupRetentionPeriod { get; set; } + + /// + /// Set the start time for automatic backup. The value range is: [0,23]. For example, setting this parameter to 2 means that backup starts at 02:00. + /// + [Input("backupTime")] + public Input? BackupTime { get; set; } + + /// + /// Instance id. + /// + [Input("instanceId")] + public Input? InstanceId { get; set; } + + public InstanceBackupRuleState() + { + } + public static new InstanceBackupRuleState Empty => new InstanceBackupRuleState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Mongodb/InstanceTransparentDataEncryption.cs b/sdk/dotnet/Tencentcloud/Mongodb/InstanceTransparentDataEncryption.cs new file mode 100644 index 000000000..801f8b66a --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Mongodb/InstanceTransparentDataEncryption.cs @@ -0,0 +1,199 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Mongodb +{ + /// + /// Provides a resource to enable mongodb transparent data encryption + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var encryption = new Tencentcloud.Mongodb.InstanceTransparentDataEncryption("encryption", new() + /// { + /// InstanceId = "cmgo-xxxxxx", + /// KmsRegion = "ap-guangzhou", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// mongodb transparent data encryption can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Mongodb/instanceTransparentDataEncryption:InstanceTransparentDataEncryption encryption ${instanceId} + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Mongodb/instanceTransparentDataEncryption:InstanceTransparentDataEncryption")] + public partial class InstanceTransparentDataEncryption : global::Pulumi.CustomResource + { + /// + /// Instance ID, for example: cmgo-p8vn ***. Currently supported general versions include: 4.4 and 5.0, but the cloud disk version is not currently supported. + /// + [Output("instanceId")] + public Output InstanceId { get; private set; } = null!; + + /// + /// Key ID. If this parameter is not set and the specific key ID is not specified, Tencent Cloud will automatically generate + /// the key and this key will be beyond the control of Terraform. + /// + [Output("keyId")] + public Output KeyId { get; private set; } = null!; + + /// + /// List of bound keys. + /// + [Output("keyInfoLists")] + public Output> KeyInfoLists { get; private set; } = null!; + + /// + /// The region where the Key Management Service (KMS) serves, such as ap-shanghai. + /// + [Output("kmsRegion")] + public Output KmsRegion { get; private set; } = null!; + + /// + /// Represents whether transparent encryption is turned on. Valid values: + /// - close: Not opened; + /// - open: It has been opened. + /// + [Output("transparentDataEncryptionStatus")] + public Output TransparentDataEncryptionStatus { get; private set; } = null!; + + + /// + /// Create a InstanceTransparentDataEncryption resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public InstanceTransparentDataEncryption(string name, InstanceTransparentDataEncryptionArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Mongodb/instanceTransparentDataEncryption:InstanceTransparentDataEncryption", name, args ?? new InstanceTransparentDataEncryptionArgs(), MakeResourceOptions(options, "")) + { + } + + private InstanceTransparentDataEncryption(string name, Input id, InstanceTransparentDataEncryptionState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Mongodb/instanceTransparentDataEncryption:InstanceTransparentDataEncryption", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "github://api.github.com/tencentcloudstack", + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing InstanceTransparentDataEncryption resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static InstanceTransparentDataEncryption Get(string name, Input id, InstanceTransparentDataEncryptionState? state = null, CustomResourceOptions? options = null) + { + return new InstanceTransparentDataEncryption(name, id, state, options); + } + } + + public sealed class InstanceTransparentDataEncryptionArgs : global::Pulumi.ResourceArgs + { + /// + /// Instance ID, for example: cmgo-p8vn ***. Currently supported general versions include: 4.4 and 5.0, but the cloud disk version is not currently supported. + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; + + /// + /// Key ID. If this parameter is not set and the specific key ID is not specified, Tencent Cloud will automatically generate + /// the key and this key will be beyond the control of Terraform. + /// + [Input("keyId")] + public Input? KeyId { get; set; } + + /// + /// The region where the Key Management Service (KMS) serves, such as ap-shanghai. + /// + [Input("kmsRegion", required: true)] + public Input KmsRegion { get; set; } = null!; + + public InstanceTransparentDataEncryptionArgs() + { + } + public static new InstanceTransparentDataEncryptionArgs Empty => new InstanceTransparentDataEncryptionArgs(); + } + + public sealed class InstanceTransparentDataEncryptionState : global::Pulumi.ResourceArgs + { + /// + /// Instance ID, for example: cmgo-p8vn ***. Currently supported general versions include: 4.4 and 5.0, but the cloud disk version is not currently supported. + /// + [Input("instanceId")] + public Input? InstanceId { get; set; } + + /// + /// Key ID. If this parameter is not set and the specific key ID is not specified, Tencent Cloud will automatically generate + /// the key and this key will be beyond the control of Terraform. + /// + [Input("keyId")] + public Input? KeyId { get; set; } + + [Input("keyInfoLists")] + private InputList? _keyInfoLists; + + /// + /// List of bound keys. + /// + public InputList KeyInfoLists + { + get => _keyInfoLists ?? (_keyInfoLists = new InputList()); + set => _keyInfoLists = value; + } + + /// + /// The region where the Key Management Service (KMS) serves, such as ap-shanghai. + /// + [Input("kmsRegion")] + public Input? KmsRegion { get; set; } + + /// + /// Represents whether transparent encryption is turned on. Valid values: + /// - close: Not opened; + /// - open: It has been opened. + /// + [Input("transparentDataEncryptionStatus")] + public Input? TransparentDataEncryptionStatus { get; set; } + + public InstanceTransparentDataEncryptionState() + { + } + public static new InstanceTransparentDataEncryptionState Empty => new InstanceTransparentDataEncryptionState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Mongodb/Outputs/InstanceTransparentDataEncryptionKeyInfoList.cs b/sdk/dotnet/Tencentcloud/Mongodb/Outputs/InstanceTransparentDataEncryptionKeyInfoList.cs new file mode 100644 index 000000000..8bfa35b10 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Mongodb/Outputs/InstanceTransparentDataEncryptionKeyInfoList.cs @@ -0,0 +1,64 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Mongodb.Outputs +{ + + [OutputType] + public sealed class InstanceTransparentDataEncryptionKeyInfoList + { + /// + /// Instance and key binding time. + /// + public readonly string? CreateTime; + /// + /// Master Key ID. + /// + public readonly string? KeyId; + /// + /// Master key name. + /// + public readonly string? KeyName; + /// + /// Key origin. + /// + public readonly string? KeyOrigin; + /// + /// Purpose of the key. + /// + public readonly string? KeyUsage; + /// + /// Key status. + /// + public readonly string? Status; + + [OutputConstructor] + private InstanceTransparentDataEncryptionKeyInfoList( + string? createTime, + + string? keyId, + + string? keyName, + + string? keyOrigin, + + string? keyUsage, + + string? status) + { + CreateTime = createTime; + KeyId = keyId; + KeyName = keyName; + KeyOrigin = keyOrigin; + KeyUsage = keyUsage; + Status = status; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Postgresql/Instance.cs b/sdk/dotnet/Tencentcloud/Postgresql/Instance.cs index 43358eeef..85bfe2383 100644 --- a/sdk/dotnet/Tencentcloud/Postgresql/Instance.cs +++ b/sdk/dotnet/Tencentcloud/Postgresql/Instance.cs @@ -14,6 +14,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Postgresql /// Use this resource to create postgresql instance. /// /// > **Note:** To update the charge type, please update the `charge_type` and specify the `period` for the charging period. It only supports updating from `POSTPAID_BY_HOUR` to `PREPAID`, and the `period` field only valid in that upgrading case. + /// **Note:** If no values are set for the two parameters: `db_major_version` and `engine_version`, then `engine_version` is set to `10.4` by default. Suggest using parameter `db_major_version` to create an instance /// /// ## Example Usage /// @@ -27,7 +28,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Postgresql /// return await Deployment.RunAsync(() => /// { /// var config = new Config(); - /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-1"; + /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-3"; /// // create vpc /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() /// { @@ -44,17 +45,19 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Postgresql /// }); /// /// // create postgresql - /// var foo = new Tencentcloud.Postgresql.Instance("foo", new() + /// var example = new Tencentcloud.Postgresql.Instance("example", new() /// { /// AvailabilityZone = availabilityZone, /// ChargeType = "POSTPAID_BY_HOUR", /// VpcId = vpc.Id, /// SubnetId = subnet.Id, - /// EngineVersion = "10.4", + /// DbMajorVersion = "10", + /// EngineVersion = "10.23", /// RootUser = "root123", /// RootPassword = "Root123$", /// Charset = "UTF8", /// ProjectId = 0, + /// Cpu = 1, /// Memory = 2, /// Storage = 10, /// Tags = @@ -97,13 +100,13 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Postgresql /// }); /// /// // create postgresql - /// var foo = new Tencentcloud.Postgresql.Instance("foo", new() + /// var example = new Tencentcloud.Postgresql.Instance("example", new() /// { /// AvailabilityZone = availabilityZone, /// ChargeType = "POSTPAID_BY_HOUR", /// VpcId = vpc.Id, /// SubnetId = subnet.Id, - /// EngineVersion = "10.4", + /// DbMajorVersion = "10", /// RootUser = "root123", /// RootPassword = "Root123$", /// Charset = "UTF8", @@ -144,37 +147,40 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Postgresql /// /// return await Deployment.RunAsync(() => /// { - /// var pg = new Tencentcloud.Postgresql.Instance("pg", new() + /// var config = new Config(); + /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-6"; + /// var example = new Tencentcloud.Postgresql.Instance("example", new() /// { - /// AvailabilityZone = "ap-guangzhou-6", + /// AvailabilityZone = availabilityZone, + /// ChargeType = "POSTPAID_BY_HOUR", + /// VpcId = "vpc-86v957zb", + /// SubnetId = "subnet-enm92y0m", + /// DbMajorVersion = "11", + /// EngineVersion = "11.12", + /// DbKernelVersion = "v11.12_r1.3", + /// NeedSupportTde = 1, + /// KmsKeyId = "788c606a-c7b7-11ec-82d1-5254001e5c4e", + /// KmsRegion = "ap-guangzhou", + /// RootPassword = "Root123$", + /// Charset = "LATIN1", + /// ProjectId = 0, + /// Memory = 4, + /// Storage = 100, /// BackupPlan = new Tencentcloud.Postgresql.Inputs.InstanceBackupPlanArgs /// { + /// MinBackupStartTime = "00:10:11", + /// MaxBackupStartTime = "01:10:11", + /// BaseBackupRetentionPeriod = 7, /// BackupPeriods = new[] /// { /// "tuesday", /// "wednesday", /// }, - /// BaseBackupRetentionPeriod = 7, - /// MaxBackupStartTime = "01:10:11", - /// MinBackupStartTime = "00:10:11", /// }, - /// ChargeType = "POSTPAID_BY_HOUR", - /// Charset = "LATIN1", - /// DbKernelVersion = "v11.12_r1.3", - /// EngineVersion = "11.12", - /// KmsKeyId = "788c606a-c7b7-11ec-82d1-5254001e5c4e", - /// KmsRegion = "ap-guangzhou", - /// Memory = 4, - /// NeedSupportTde = 1, - /// ProjectId = 0, - /// RootPassword = "xxxxxxxxxx", - /// Storage = 100, - /// SubnetId = "subnet-enm92y0m", /// Tags = /// { /// { "tf", "test" }, /// }, - /// VpcId = "vpc-86v957zb", /// }); /// /// }); @@ -192,20 +198,22 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Postgresql /// /// return await Deployment.RunAsync(() => /// { - /// var test = new Tencentcloud.Postgresql.Instance("test", new() + /// var config = new Config(); + /// var availabilityZone = config.Get("availabilityZone") ?? "ap-guangzhou-6"; + /// var example = new Tencentcloud.Postgresql.Instance("example", new() /// { - /// AvailabilityZone = data.Tencentcloud_availability_zones_by_product.Zone.Zones[5].Name, + /// AvailabilityZone = availabilityZone, /// ChargeType = "POSTPAID_BY_HOUR", - /// VpcId = local.Vpc_id, - /// SubnetId = local.Subnet_id, + /// VpcId = "vpc-86v957zb", + /// SubnetId = "subnet-enm92y0m", /// EngineVersion = "13.3", - /// RootPassword = "*", + /// RootPassword = "Root123$", /// Charset = "LATIN1", /// ProjectId = 0, /// PublicAccessSwitch = false, /// SecurityGroups = new[] /// { - /// local.Sg_id, + /// "sg-cm7fbbf3", /// }, /// Memory = 4, /// Storage = 250, @@ -224,7 +232,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Postgresql /// DbKernelVersion = "v13.3_r1.4", /// Tags = /// { - /// { "tf", "teest" }, + /// { "tf", "test" }, /// }, /// }); /// @@ -237,7 +245,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Postgresql /// postgresql instance can be imported using the id, e.g. /// /// ```sh - /// $ pulumi import tencentcloud:Postgresql/instance:Instance foo postgres-cda1iex1 + /// $ pulumi import tencentcloud:Postgresql/instance:Instance example postgres-cda1iex1 /// ``` /// [TencentcloudResourceType("tencentcloud:Postgresql/instance:Instance")] @@ -298,13 +306,13 @@ public partial class Instance : global::Pulumi.CustomResource public Output DbKernelVersion { get; private set; } = null!; /// - /// PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. + /// PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. /// [Output("dbMajorVersion")] public Output DbMajorVersion { get; private set; } = null!; /// - /// `db_major_vesion` will be deprecated, use `db_major_version` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. + /// `db_major_vesion` will be deprecated, use `db_major_version` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. /// [Output("dbMajorVesion")] public Output DbMajorVesion { get; private set; } = null!; @@ -316,10 +324,10 @@ public partial class Instance : global::Pulumi.CustomResource public Output> DbNodeSets { get; private set; } = null!; /// - /// Version of the postgresql database engine. Valid values: `10.4`, `11.8`, `12.4`. + /// Version of the postgresql database engine. Valid values: `10.4`, `10.17`, `10.23`, `11.8`, `11.12`, `11.22`, `12.4`, `12.7`, `12.18`, `13.3`, `14.2`, `14.11`, `15.1`, `16.0`. /// [Output("engineVersion")] - public Output EngineVersion { get; private set; } = null!; + public Output EngineVersion { get; private set; } = null!; /// /// KeyId of the custom key. @@ -559,13 +567,13 @@ public sealed class InstanceArgs : global::Pulumi.ResourceArgs public Input? DbKernelVersion { get; set; } /// - /// PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. + /// PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. /// [Input("dbMajorVersion")] public Input? DbMajorVersion { get; set; } /// - /// `db_major_vesion` will be deprecated, use `db_major_version` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. + /// `db_major_vesion` will be deprecated, use `db_major_version` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. /// [Input("dbMajorVesion")] public Input? DbMajorVesion { get; set; } @@ -583,7 +591,7 @@ public InputList DbNodeSets } /// - /// Version of the postgresql database engine. Valid values: `10.4`, `11.8`, `12.4`. + /// Version of the postgresql database engine. Valid values: `10.4`, `10.17`, `10.23`, `11.8`, `11.12`, `11.22`, `12.4`, `12.7`, `12.18`, `13.3`, `14.2`, `14.11`, `15.1`, `16.0`. /// [Input("engineVersion")] public Input? EngineVersion { get; set; } @@ -787,13 +795,13 @@ public sealed class InstanceState : global::Pulumi.ResourceArgs public Input? DbKernelVersion { get; set; } /// - /// PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. + /// PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. /// [Input("dbMajorVersion")] public Input? DbMajorVersion { get; set; } /// - /// `db_major_vesion` will be deprecated, use `db_major_version` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. + /// `db_major_vesion` will be deprecated, use `db_major_version` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. /// [Input("dbMajorVesion")] public Input? DbMajorVesion { get; set; } @@ -811,7 +819,7 @@ public InputList DbNodeSets } /// - /// Version of the postgresql database engine. Valid values: `10.4`, `11.8`, `12.4`. + /// Version of the postgresql database engine. Valid values: `10.4`, `10.17`, `10.23`, `11.8`, `11.12`, `11.22`, `12.4`, `12.7`, `12.18`, `13.3`, `14.2`, `14.11`, `15.1`, `16.0`. /// [Input("engineVersion")] public Input? EngineVersion { get; set; } diff --git a/sdk/dotnet/Tencentcloud/Ssl/FreeCertificate.cs b/sdk/dotnet/Tencentcloud/Ssl/FreeCertificate.cs index fef3932fe..9bae8e9a2 100644 --- a/sdk/dotnet/Tencentcloud/Ssl/FreeCertificate.cs +++ b/sdk/dotnet/Tencentcloud/Ssl/FreeCertificate.cs @@ -154,7 +154,7 @@ public partial class FreeCertificate : global::Pulumi.CustomResource public Output OldCertificateId { get; private set; } = null!; /// - /// Type of package. Only support `"2"` (TrustAsia TLS RSA CA). + /// Type of package. Only support `"83"` (TrustAsia TLS RSA CA). /// [Output("packageType")] public Output PackageType { get; private set; } = null!; @@ -196,7 +196,7 @@ public partial class FreeCertificate : global::Pulumi.CustomResource public Output StatusName { get; private set; } = null!; /// - /// Specify validity period in month, only support `"12"` months for now. + /// Specify validity period in month, only support `"3"` months for now. /// [Output("validityPeriod")] public Output ValidityPeriod { get; private set; } = null!; @@ -323,7 +323,7 @@ public Input? CsrKeyPassword public Input? OldCertificateId { get; set; } /// - /// Type of package. Only support `"2"` (TrustAsia TLS RSA CA). + /// Type of package. Only support `"83"` (TrustAsia TLS RSA CA). /// [Input("packageType")] public Input? PackageType { get; set; } @@ -335,7 +335,7 @@ public Input? CsrKeyPassword public Input? ProjectId { get; set; } /// - /// Specify validity period in month, only support `"12"` months for now. + /// Specify validity period in month, only support `"3"` months for now. /// [Input("validityPeriod")] public Input? ValidityPeriod { get; set; } @@ -461,7 +461,7 @@ public InputList DvAuths public Input? OldCertificateId { get; set; } /// - /// Type of package. Only support `"2"` (TrustAsia TLS RSA CA). + /// Type of package. Only support `"83"` (TrustAsia TLS RSA CA). /// [Input("packageType")] public Input? PackageType { get; set; } @@ -503,7 +503,7 @@ public InputList DvAuths public Input? StatusName { get; set; } /// - /// Specify validity period in month, only support `"12"` months for now. + /// Specify validity period in month, only support `"3"` months for now. /// [Input("validityPeriod")] public Input? ValidityPeriod { get; set; } diff --git a/sdk/dotnet/Tencentcloud/Tdmq/Instance.cs b/sdk/dotnet/Tencentcloud/Tdmq/Instance.cs index 3fb5b8b24..5a9c14b61 100644 --- a/sdk/dotnet/Tencentcloud/Tdmq/Instance.cs +++ b/sdk/dotnet/Tencentcloud/Tdmq/Instance.cs @@ -24,10 +24,10 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Tdmq /// /// return await Deployment.RunAsync(() => /// { - /// var foo = new Tencentcloud.Tdmq.Instance("foo", new() + /// var example = new Tencentcloud.Tdmq.Instance("example", new() /// { - /// ClusterName = "example", - /// Remark = "this is description.", + /// ClusterName = "tf_example", + /// Remark = "remark.", /// Tags = /// { /// { "createdBy", "terraform" }, @@ -43,7 +43,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Tdmq /// Tdmq instance can be imported, e.g. /// /// ```sh - /// $ pulumi import tencentcloud:Tdmq/instance:Instance test tdmq_id + /// $ pulumi import tencentcloud:Tdmq/instance:Instance example pulsar-78bwjaj8epxv /// ``` /// [TencentcloudResourceType("tencentcloud:Tdmq/instance:Instance")] diff --git a/sdk/dotnet/Tencentcloud/Tdmq/Namespace.cs b/sdk/dotnet/Tencentcloud/Tdmq/Namespace.cs index b752289d1..392d1aad3 100644 --- a/sdk/dotnet/Tencentcloud/Tdmq/Namespace.cs +++ b/sdk/dotnet/Tencentcloud/Tdmq/Namespace.cs @@ -11,7 +11,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Tdmq { /// - /// Provide a resource to create a tdmq namespace. + /// Provide a resource to create a TDMQ namespace. /// /// ## Example Usage /// @@ -56,7 +56,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Tdmq /// Tdmq namespace can be imported, e.g. /// /// ```sh - /// $ pulumi import tencentcloud:Tdmq/namespace:Namespace test namespace_id + /// $ pulumi import tencentcloud:Tdmq/namespace:Namespace example tf_example#pulsar-78bwjaj8epxv /// ``` /// [TencentcloudResourceType("tencentcloud:Tdmq/namespace:Namespace")] diff --git a/sdk/dotnet/Tencentcloud/Tdmq/NamespaceRoleAttachment.cs b/sdk/dotnet/Tencentcloud/Tdmq/NamespaceRoleAttachment.cs index 8447552da..c98123a98 100644 --- a/sdk/dotnet/Tencentcloud/Tdmq/NamespaceRoleAttachment.cs +++ b/sdk/dotnet/Tencentcloud/Tdmq/NamespaceRoleAttachment.cs @@ -11,7 +11,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Tdmq { /// - /// Provide a resource to create a TDMQ role. + /// Provide a resource to create a TDMQ environment role. /// /// ## Example Usage /// diff --git a/sdk/dotnet/Tencentcloud/Tdmq/Role.cs b/sdk/dotnet/Tencentcloud/Tdmq/Role.cs index fb09e7abe..c8217b473 100644 --- a/sdk/dotnet/Tencentcloud/Tdmq/Role.cs +++ b/sdk/dotnet/Tencentcloud/Tdmq/Role.cs @@ -36,7 +36,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Tdmq /// /// var exampleRole = new Tencentcloud.Tdmq.Role("exampleRole", new() /// { - /// RoleName = "tf_example", + /// RoleName = "role_example", /// ClusterId = exampleInstance.Id, /// Remark = "remark.", /// }); @@ -44,14 +44,6 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Tdmq /// }); /// ``` /// <!--End PulumiCodeChooser --> - /// - /// ## Import - /// - /// Tdmq instance can be imported, e.g. - /// - /// ```sh - /// $ pulumi import tencentcloud:Tdmq/role:Role test tdmq_id - /// ``` /// [TencentcloudResourceType("tencentcloud:Tdmq/role:Role")] public partial class Role : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Tencentcloud/Tdmq/Topic.cs b/sdk/dotnet/Tencentcloud/Tdmq/Topic.cs index 1538ad75c..97ecc04ce 100644 --- a/sdk/dotnet/Tencentcloud/Tdmq/Topic.cs +++ b/sdk/dotnet/Tencentcloud/Tdmq/Topic.cs @@ -60,14 +60,6 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Tdmq /// }); /// ``` /// <!--End PulumiCodeChooser --> - /// - /// ## Import - /// - /// Tdmq Topic can be imported, e.g. - /// - /// ```sh - /// $ pulumi import tencentcloud:Tdmq/topic:Topic test topic_id - /// ``` /// [TencentcloudResourceType("tencentcloud:Tdmq/topic:Topic")] public partial class Topic : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Tencentcloud/Teo/AccelerationDomain.cs b/sdk/dotnet/Tencentcloud/Teo/AccelerationDomain.cs index 6f391c94a..7210bdbc2 100644 --- a/sdk/dotnet/Tencentcloud/Teo/AccelerationDomain.cs +++ b/sdk/dotnet/Tencentcloud/Teo/AccelerationDomain.cs @@ -62,12 +62,36 @@ public partial class AccelerationDomain : global::Pulumi.CustomResource [Output("domainName")] public Output DomainName { get; private set; } = null!; + /// + /// HTTP back-to-origin port, the value is 1-65535, effective when OriginProtocol=FOLLOW/HTTP, if not filled in, the default value is 80. + /// + [Output("httpOriginPort")] + public Output HttpOriginPort { get; private set; } = null!; + + /// + /// HTTPS back-to-origin port. The value range is 1-65535. It takes effect when OriginProtocol=FOLLOW/HTTPS. If it is not filled in, the default value is 443. + /// + [Output("httpsOriginPort")] + public Output HttpsOriginPort { get; private set; } = null!; + + /// + /// IPv6 status, the value is: `follow`: follow the site IPv6 configuration; `on`: on; `off`: off. If not filled in, the default is: `follow`. + /// + [Output("ipv6Status")] + public Output Ipv6Status { get; private set; } = null!; + /// /// Details of the origin. /// [Output("originInfo")] public Output OriginInfo { get; private set; } = null!; + /// + /// Origin return protocol, possible values are: `FOLLOW`: protocol follow; `HTTP`: HTTP protocol back to source; `HTTPS`: HTTPS protocol back to source. If not filled in, the default is: `FOLLOW`. + /// + [Output("originProtocol")] + public Output OriginProtocol { get; private set; } = null!; + /// /// Accelerated domain name status, the values are: `online`: enabled; `offline`: disabled. /// @@ -133,12 +157,36 @@ public sealed class AccelerationDomainArgs : global::Pulumi.ResourceArgs [Input("domainName", required: true)] public Input DomainName { get; set; } = null!; + /// + /// HTTP back-to-origin port, the value is 1-65535, effective when OriginProtocol=FOLLOW/HTTP, if not filled in, the default value is 80. + /// + [Input("httpOriginPort")] + public Input? HttpOriginPort { get; set; } + + /// + /// HTTPS back-to-origin port. The value range is 1-65535. It takes effect when OriginProtocol=FOLLOW/HTTPS. If it is not filled in, the default value is 443. + /// + [Input("httpsOriginPort")] + public Input? HttpsOriginPort { get; set; } + + /// + /// IPv6 status, the value is: `follow`: follow the site IPv6 configuration; `on`: on; `off`: off. If not filled in, the default is: `follow`. + /// + [Input("ipv6Status")] + public Input? Ipv6Status { get; set; } + /// /// Details of the origin. /// [Input("originInfo", required: true)] public Input OriginInfo { get; set; } = null!; + /// + /// Origin return protocol, possible values are: `FOLLOW`: protocol follow; `HTTP`: HTTP protocol back to source; `HTTPS`: HTTPS protocol back to source. If not filled in, the default is: `FOLLOW`. + /// + [Input("originProtocol")] + public Input? OriginProtocol { get; set; } + /// /// Accelerated domain name status, the values are: `online`: enabled; `offline`: disabled. /// @@ -171,12 +219,36 @@ public sealed class AccelerationDomainState : global::Pulumi.ResourceArgs [Input("domainName")] public Input? DomainName { get; set; } + /// + /// HTTP back-to-origin port, the value is 1-65535, effective when OriginProtocol=FOLLOW/HTTP, if not filled in, the default value is 80. + /// + [Input("httpOriginPort")] + public Input? HttpOriginPort { get; set; } + + /// + /// HTTPS back-to-origin port. The value range is 1-65535. It takes effect when OriginProtocol=FOLLOW/HTTPS. If it is not filled in, the default value is 443. + /// + [Input("httpsOriginPort")] + public Input? HttpsOriginPort { get; set; } + + /// + /// IPv6 status, the value is: `follow`: follow the site IPv6 configuration; `on`: on; `off`: off. If not filled in, the default is: `follow`. + /// + [Input("ipv6Status")] + public Input? Ipv6Status { get; set; } + /// /// Details of the origin. /// [Input("originInfo")] public Input? OriginInfo { get; set; } + /// + /// Origin return protocol, possible values are: `FOLLOW`: protocol follow; `HTTP`: HTTP protocol back to source; `HTTPS`: HTTPS protocol back to source. If not filled in, the default is: `FOLLOW`. + /// + [Input("originProtocol")] + public Input? OriginProtocol { get; set; } + /// /// Accelerated domain name status, the values are: `online`: enabled; `offline`: disabled. /// diff --git a/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryClsArgs.cs b/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryClsArgs.cs new file mode 100644 index 000000000..fcd94fcb0 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryClsArgs.cs @@ -0,0 +1,39 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Inputs +{ + + public sealed class RealtimeLogDeliveryClsArgs : global::Pulumi.ResourceArgs + { + /// + /// Tencent Cloud CLS log set ID. + /// + [Input("logSetId", required: true)] + public Input LogSetId { get; set; } = null!; + + /// + /// The region where the Tencent Cloud CLS log set is located. + /// + [Input("logSetRegion", required: true)] + public Input LogSetRegion { get; set; } = null!; + + /// + /// Tencent Cloud CLS log topic ID. + /// + [Input("topicId", required: true)] + public Input TopicId { get; set; } = null!; + + public RealtimeLogDeliveryClsArgs() + { + } + public static new RealtimeLogDeliveryClsArgs Empty => new RealtimeLogDeliveryClsArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryClsGetArgs.cs b/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryClsGetArgs.cs new file mode 100644 index 000000000..258453b3d --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryClsGetArgs.cs @@ -0,0 +1,39 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Inputs +{ + + public sealed class RealtimeLogDeliveryClsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Tencent Cloud CLS log set ID. + /// + [Input("logSetId", required: true)] + public Input LogSetId { get; set; } = null!; + + /// + /// The region where the Tencent Cloud CLS log set is located. + /// + [Input("logSetRegion", required: true)] + public Input LogSetRegion { get; set; } = null!; + + /// + /// Tencent Cloud CLS log topic ID. + /// + [Input("topicId", required: true)] + public Input TopicId { get; set; } = null!; + + public RealtimeLogDeliveryClsGetArgs() + { + } + public static new RealtimeLogDeliveryClsGetArgs Empty => new RealtimeLogDeliveryClsGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryCustomEndpointArgs.cs b/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryCustomEndpointArgs.cs new file mode 100644 index 000000000..1152729d5 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryCustomEndpointArgs.cs @@ -0,0 +1,63 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Inputs +{ + + public sealed class RealtimeLogDeliveryCustomEndpointArgs : global::Pulumi.ResourceArgs + { + /// + /// Fill in a custom SecretId to generate an encrypted signature. This parameter is required if the source site requires authentication. + /// + [Input("accessId")] + public Input? AccessId { get; set; } + + /// + /// Fill in the custom SecretKey to generate the encrypted signature. This parameter is required if the source site requires authentication. + /// + [Input("accessKey")] + public Input? AccessKey { get; set; } + + /// + /// Data compression type, the possible values are: `gzip`: use gzip compression. If it is not filled in, compression is not enabled. + /// + [Input("compressType")] + public Input? CompressType { get; set; } + + [Input("headers")] + private InputList? _headers; + + /// + /// The custom request header carried when delivering logs. If the header name you fill in is the default header carried by EdgeOne log push, such as Content-Type, then the header value you fill in will overwrite the default value. The header value references a single variable ${batchSize} to obtain the number of logs included in each POST request. + /// + public InputList Headers + { + get => _headers ?? (_headers = new InputList()); + set => _headers = value; + } + + /// + /// When sending logs via POST request, the application layer protocol type used can be: `http`: HTTP protocol; `https`: HTTPS protocol. If not filled in, the protocol type will be parsed according to the filled in URL address. + /// + [Input("protocol")] + public Input? Protocol { get; set; } + + /// + /// The custom HTTP interface address for real-time log delivery. Currently, only HTTP/HTTPS protocols are supported. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public RealtimeLogDeliveryCustomEndpointArgs() + { + } + public static new RealtimeLogDeliveryCustomEndpointArgs Empty => new RealtimeLogDeliveryCustomEndpointArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryCustomEndpointGetArgs.cs b/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryCustomEndpointGetArgs.cs new file mode 100644 index 000000000..b4be41c6e --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryCustomEndpointGetArgs.cs @@ -0,0 +1,63 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Inputs +{ + + public sealed class RealtimeLogDeliveryCustomEndpointGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Fill in a custom SecretId to generate an encrypted signature. This parameter is required if the source site requires authentication. + /// + [Input("accessId")] + public Input? AccessId { get; set; } + + /// + /// Fill in the custom SecretKey to generate the encrypted signature. This parameter is required if the source site requires authentication. + /// + [Input("accessKey")] + public Input? AccessKey { get; set; } + + /// + /// Data compression type, the possible values are: `gzip`: use gzip compression. If it is not filled in, compression is not enabled. + /// + [Input("compressType")] + public Input? CompressType { get; set; } + + [Input("headers")] + private InputList? _headers; + + /// + /// The custom request header carried when delivering logs. If the header name you fill in is the default header carried by EdgeOne log push, such as Content-Type, then the header value you fill in will overwrite the default value. The header value references a single variable ${batchSize} to obtain the number of logs included in each POST request. + /// + public InputList Headers + { + get => _headers ?? (_headers = new InputList()); + set => _headers = value; + } + + /// + /// When sending logs via POST request, the application layer protocol type used can be: `http`: HTTP protocol; `https`: HTTPS protocol. If not filled in, the protocol type will be parsed according to the filled in URL address. + /// + [Input("protocol")] + public Input? Protocol { get; set; } + + /// + /// The custom HTTP interface address for real-time log delivery. Currently, only HTTP/HTTPS protocols are supported. + /// + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + public RealtimeLogDeliveryCustomEndpointGetArgs() + { + } + public static new RealtimeLogDeliveryCustomEndpointGetArgs Empty => new RealtimeLogDeliveryCustomEndpointGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryCustomEndpointHeaderArgs.cs b/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryCustomEndpointHeaderArgs.cs new file mode 100644 index 000000000..9b337d11b --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryCustomEndpointHeaderArgs.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Inputs +{ + + public sealed class RealtimeLogDeliveryCustomEndpointHeaderArgs : global::Pulumi.ResourceArgs + { + /// + /// HTTP header name. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// HTTP header value. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public RealtimeLogDeliveryCustomEndpointHeaderArgs() + { + } + public static new RealtimeLogDeliveryCustomEndpointHeaderArgs Empty => new RealtimeLogDeliveryCustomEndpointHeaderArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryCustomEndpointHeaderGetArgs.cs b/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryCustomEndpointHeaderGetArgs.cs new file mode 100644 index 000000000..4e48cc51e --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryCustomEndpointHeaderGetArgs.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Inputs +{ + + public sealed class RealtimeLogDeliveryCustomEndpointHeaderGetArgs : global::Pulumi.ResourceArgs + { + /// + /// HTTP header name. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// HTTP header value. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public RealtimeLogDeliveryCustomEndpointHeaderGetArgs() + { + } + public static new RealtimeLogDeliveryCustomEndpointHeaderGetArgs Empty => new RealtimeLogDeliveryCustomEndpointHeaderGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryCustomFieldArgs.cs b/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryCustomFieldArgs.cs new file mode 100644 index 000000000..c252ec7b7 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryCustomFieldArgs.cs @@ -0,0 +1,39 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Inputs +{ + + public sealed class RealtimeLogDeliveryCustomFieldArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether to deliver this field. If left blank, this field will not be delivered. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + /// + /// Extract data from the specified location in the HTTP request and response. The values are: `ReqHeader`: extract the specified field value from the HTTP request header; `RspHeader`: extract the specified field value from the HTTP response header; `Cookie`: extract the specified field value from the Cookie. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// The name of the parameter whose value needs to be extracted, for example: Accept-Language. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public RealtimeLogDeliveryCustomFieldArgs() + { + } + public static new RealtimeLogDeliveryCustomFieldArgs Empty => new RealtimeLogDeliveryCustomFieldArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryCustomFieldGetArgs.cs b/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryCustomFieldGetArgs.cs new file mode 100644 index 000000000..8c6d23c53 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryCustomFieldGetArgs.cs @@ -0,0 +1,39 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Inputs +{ + + public sealed class RealtimeLogDeliveryCustomFieldGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether to deliver this field. If left blank, this field will not be delivered. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + /// + /// Extract data from the specified location in the HTTP request and response. The values are: `ReqHeader`: extract the specified field value from the HTTP request header; `RspHeader`: extract the specified field value from the HTTP response header; `Cookie`: extract the specified field value from the Cookie. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// The name of the parameter whose value needs to be extracted, for example: Accept-Language. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public RealtimeLogDeliveryCustomFieldGetArgs() + { + } + public static new RealtimeLogDeliveryCustomFieldGetArgs Empty => new RealtimeLogDeliveryCustomFieldGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryDeliveryConditionArgs.cs b/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryDeliveryConditionArgs.cs new file mode 100644 index 000000000..63cdbb8a2 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryDeliveryConditionArgs.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Inputs +{ + + public sealed class RealtimeLogDeliveryDeliveryConditionArgs : global::Pulumi.ResourceArgs + { + [Input("conditions")] + private InputList? _conditions; + + /// + /// Log filtering conditions, the detailed filtering conditions are as follows: - `EdgeResponseStatusCode`: filter according to the status code returned by the EdgeOne node to the client. Supported operators: `equal`, `great`, `less`, `great_equal`, `less_equal`; Value range: any integer greater than or equal to 0; - `OriginResponseStatusCode`: filter according to the origin response status code. Supported operators: `equal`, `great`, `less`, `great_equal`, `less_equal`; Value range: any integer greater than or equal to -1; - `SecurityAction`: filter according to the final disposal action after the request hits the security rule. Supported operators: `equal`; Optional options are as follows: `-`: unknown/miss; `Monitor`: observe; `JSChallenge`: JavaScript challenge; `Deny`: intercept; `Allow`: allow; `BlockIP`: IP ban; `Redirect`: redirect; `ReturnCustomPage`: return to a custom page; `ManagedChallenge`: managed challenge; `Silence`: silent; `LongDelay`: respond after a long wait; `ShortDelay`: respond after a short wait; -`SecurityModule`: filter according to the name of the security module that finally handles the request. Supported operators: `equal`; Optional options: `-`: unknown/missed; `CustomRule`: Web Protection - Custom Rules; `RateLimitingCustomRule`: Web Protection - Rate Limiting Rules; `ManagedRule`: Web Protection - Managed Rules; `L7DDoS`: Web Protection - CC Attack Protection; `BotManagement`: Bot Management - Bot Basic Management; `BotClientReputation`: Bot Management - Client Profile Analysis; `BotBehaviorAnalysis`: Bot Management - Bot Intelligent Analysis; `BotCustomRule`: Bot Management - Custom Bot Rules; `BotActiveDetection`: Bot Management - Active Feature Recognition. + /// + public InputList Conditions + { + get => _conditions ?? (_conditions = new InputList()); + set => _conditions = value; + } + + public RealtimeLogDeliveryDeliveryConditionArgs() + { + } + public static new RealtimeLogDeliveryDeliveryConditionArgs Empty => new RealtimeLogDeliveryDeliveryConditionArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryDeliveryConditionConditionArgs.cs b/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryDeliveryConditionConditionArgs.cs new file mode 100644 index 000000000..928b1238d --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryDeliveryConditionConditionArgs.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Inputs +{ + + public sealed class RealtimeLogDeliveryDeliveryConditionConditionArgs : global::Pulumi.ResourceArgs + { + /// + /// The key of the filter condition. + /// + [Input("key", required: true)] + public Input Key { get; set; } = null!; + + /// + /// Query condition operator, operation types are: `equals`: equal; `notEquals`: not equal; `include`: include; `notInclude`: not include; `startWith`: start with value; `notStartWith`: not start with value; `endWith`: end with value; `notEndWith`: not end with value. + /// + [Input("operator", required: true)] + public Input Operator { get; set; } = null!; + + [Input("values", required: true)] + private InputList? _values; + + /// + /// The value of the filter condition. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public RealtimeLogDeliveryDeliveryConditionConditionArgs() + { + } + public static new RealtimeLogDeliveryDeliveryConditionConditionArgs Empty => new RealtimeLogDeliveryDeliveryConditionConditionArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryDeliveryConditionConditionGetArgs.cs b/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryDeliveryConditionConditionGetArgs.cs new file mode 100644 index 000000000..3735cfa14 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryDeliveryConditionConditionGetArgs.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Inputs +{ + + public sealed class RealtimeLogDeliveryDeliveryConditionConditionGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The key of the filter condition. + /// + [Input("key", required: true)] + public Input Key { get; set; } = null!; + + /// + /// Query condition operator, operation types are: `equals`: equal; `notEquals`: not equal; `include`: include; `notInclude`: not include; `startWith`: start with value; `notStartWith`: not start with value; `endWith`: end with value; `notEndWith`: not end with value. + /// + [Input("operator", required: true)] + public Input Operator { get; set; } = null!; + + [Input("values", required: true)] + private InputList? _values; + + /// + /// The value of the filter condition. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public RealtimeLogDeliveryDeliveryConditionConditionGetArgs() + { + } + public static new RealtimeLogDeliveryDeliveryConditionConditionGetArgs Empty => new RealtimeLogDeliveryDeliveryConditionConditionGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryDeliveryConditionGetArgs.cs b/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryDeliveryConditionGetArgs.cs new file mode 100644 index 000000000..bda0c9618 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryDeliveryConditionGetArgs.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Inputs +{ + + public sealed class RealtimeLogDeliveryDeliveryConditionGetArgs : global::Pulumi.ResourceArgs + { + [Input("conditions")] + private InputList? _conditions; + + /// + /// Log filtering conditions, the detailed filtering conditions are as follows: - `EdgeResponseStatusCode`: filter according to the status code returned by the EdgeOne node to the client. Supported operators: `equal`, `great`, `less`, `great_equal`, `less_equal`; Value range: any integer greater than or equal to 0; - `OriginResponseStatusCode`: filter according to the origin response status code. Supported operators: `equal`, `great`, `less`, `great_equal`, `less_equal`; Value range: any integer greater than or equal to -1; - `SecurityAction`: filter according to the final disposal action after the request hits the security rule. Supported operators: `equal`; Optional options are as follows: `-`: unknown/miss; `Monitor`: observe; `JSChallenge`: JavaScript challenge; `Deny`: intercept; `Allow`: allow; `BlockIP`: IP ban; `Redirect`: redirect; `ReturnCustomPage`: return to a custom page; `ManagedChallenge`: managed challenge; `Silence`: silent; `LongDelay`: respond after a long wait; `ShortDelay`: respond after a short wait; -`SecurityModule`: filter according to the name of the security module that finally handles the request. Supported operators: `equal`; Optional options: `-`: unknown/missed; `CustomRule`: Web Protection - Custom Rules; `RateLimitingCustomRule`: Web Protection - Rate Limiting Rules; `ManagedRule`: Web Protection - Managed Rules; `L7DDoS`: Web Protection - CC Attack Protection; `BotManagement`: Bot Management - Bot Basic Management; `BotClientReputation`: Bot Management - Client Profile Analysis; `BotBehaviorAnalysis`: Bot Management - Bot Intelligent Analysis; `BotCustomRule`: Bot Management - Custom Bot Rules; `BotActiveDetection`: Bot Management - Active Feature Recognition. + /// + public InputList Conditions + { + get => _conditions ?? (_conditions = new InputList()); + set => _conditions = value; + } + + public RealtimeLogDeliveryDeliveryConditionGetArgs() + { + } + public static new RealtimeLogDeliveryDeliveryConditionGetArgs Empty => new RealtimeLogDeliveryDeliveryConditionGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryLogFormatArgs.cs b/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryLogFormatArgs.cs new file mode 100644 index 000000000..06d3d00c0 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryLogFormatArgs.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Inputs +{ + + public sealed class RealtimeLogDeliveryLogFormatArgs : global::Pulumi.ResourceArgs + { + /// + /// A string to be added before each log delivery batch. Each log delivery batch may contain multiple log records. + /// + [Input("batchPrefix")] + public Input? BatchPrefix { get; set; } + + /// + /// A string to append after each log delivery batch. + /// + [Input("batchSuffix")] + public Input? BatchSuffix { get; set; } + + /// + /// In a single log record, a string is inserted between fields as a separator. The possible values are: ` `: tab character; `,`: comma; `;`: semicolon. + /// + [Input("fieldDelimiter")] + public Input? FieldDelimiter { get; set; } + + /// + /// The default output format type for log delivery. The possible values are: `json`: Use the default log output format JSON Lines. The fields in a single log are presented as key-value pairs; `csv`: Use the default log output format csv. Only field values are presented in a single log, without field names. + /// + [Input("formatType", required: true)] + public Input FormatType { get; set; } = null!; + + /// + /// The string inserted between log records as a separator. The possible values are: ` + /// `: newline character; ` `: tab character; `,`: comma. + /// + [Input("recordDelimiter")] + public Input? RecordDelimiter { get; set; } + + /// + /// A string to prepend to each log record. + /// + [Input("recordPrefix")] + public Input? RecordPrefix { get; set; } + + /// + /// A string to append to each log record. + /// + /// The `s3` object supports the following: + /// + [Input("recordSuffix")] + public Input? RecordSuffix { get; set; } + + public RealtimeLogDeliveryLogFormatArgs() + { + } + public static new RealtimeLogDeliveryLogFormatArgs Empty => new RealtimeLogDeliveryLogFormatArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryLogFormatGetArgs.cs b/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryLogFormatGetArgs.cs new file mode 100644 index 000000000..33e1de3ef --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryLogFormatGetArgs.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Inputs +{ + + public sealed class RealtimeLogDeliveryLogFormatGetArgs : global::Pulumi.ResourceArgs + { + /// + /// A string to be added before each log delivery batch. Each log delivery batch may contain multiple log records. + /// + [Input("batchPrefix")] + public Input? BatchPrefix { get; set; } + + /// + /// A string to append after each log delivery batch. + /// + [Input("batchSuffix")] + public Input? BatchSuffix { get; set; } + + /// + /// In a single log record, a string is inserted between fields as a separator. The possible values are: ` `: tab character; `,`: comma; `;`: semicolon. + /// + [Input("fieldDelimiter")] + public Input? FieldDelimiter { get; set; } + + /// + /// The default output format type for log delivery. The possible values are: `json`: Use the default log output format JSON Lines. The fields in a single log are presented as key-value pairs; `csv`: Use the default log output format csv. Only field values are presented in a single log, without field names. + /// + [Input("formatType", required: true)] + public Input FormatType { get; set; } = null!; + + /// + /// The string inserted between log records as a separator. The possible values are: ` + /// `: newline character; ` `: tab character; `,`: comma. + /// + [Input("recordDelimiter")] + public Input? RecordDelimiter { get; set; } + + /// + /// A string to prepend to each log record. + /// + [Input("recordPrefix")] + public Input? RecordPrefix { get; set; } + + /// + /// A string to append to each log record. + /// + /// The `s3` object supports the following: + /// + [Input("recordSuffix")] + public Input? RecordSuffix { get; set; } + + public RealtimeLogDeliveryLogFormatGetArgs() + { + } + public static new RealtimeLogDeliveryLogFormatGetArgs Empty => new RealtimeLogDeliveryLogFormatGetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryS3Args.cs b/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryS3Args.cs new file mode 100644 index 000000000..8d94f0546 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryS3Args.cs @@ -0,0 +1,67 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Inputs +{ + + public sealed class RealtimeLogDeliveryS3Args : global::Pulumi.ResourceArgs + { + /// + /// Fill in a custom SecretId to generate an encrypted signature. This parameter is required if the source site requires authentication. + /// + [Input("accessId", required: true)] + public Input AccessId { get; set; } = null!; + + [Input("accessKey", required: true)] + private Input? _accessKey; + + /// + /// Fill in the custom SecretKey to generate the encrypted signature. This parameter is required if the source site requires authentication. + /// + public Input? AccessKey + { + get => _accessKey; + set + { + var emptySecret = Output.CreateSecret(0); + _accessKey = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// Bucket name and log storage directory, for example: `your_bucket_name/EO-logs/`. If this directory does not exist in the bucket, it will be created automatically. + /// + [Input("bucket", required: true)] + public Input Bucket { get; set; } = null!; + + /// + /// Data compression type, the possible values are: `gzip`: use gzip compression. If it is not filled in, compression is not enabled. + /// + [Input("compressType")] + public Input? CompressType { get; set; } + + /// + /// URLs that do not include bucket names or paths, for example: `https://storage.googleapis.com`, `https://s3.ap-northeast-2.amazonaws.com`, `https://cos.ap-nanjing.myqcloud.com`. + /// + [Input("endpoint", required: true)] + public Input Endpoint { get; set; } = null!; + + /// + /// The region where the bucket is located, for example: ap-northeast-2. + /// + [Input("region", required: true)] + public Input Region { get; set; } = null!; + + public RealtimeLogDeliveryS3Args() + { + } + public static new RealtimeLogDeliveryS3Args Empty => new RealtimeLogDeliveryS3Args(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryS3GetArgs.cs b/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryS3GetArgs.cs new file mode 100644 index 000000000..3ed5f36e1 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Inputs/RealtimeLogDeliveryS3GetArgs.cs @@ -0,0 +1,67 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Inputs +{ + + public sealed class RealtimeLogDeliveryS3GetArgs : global::Pulumi.ResourceArgs + { + /// + /// Fill in a custom SecretId to generate an encrypted signature. This parameter is required if the source site requires authentication. + /// + [Input("accessId", required: true)] + public Input AccessId { get; set; } = null!; + + [Input("accessKey", required: true)] + private Input? _accessKey; + + /// + /// Fill in the custom SecretKey to generate the encrypted signature. This parameter is required if the source site requires authentication. + /// + public Input? AccessKey + { + get => _accessKey; + set + { + var emptySecret = Output.CreateSecret(0); + _accessKey = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// Bucket name and log storage directory, for example: `your_bucket_name/EO-logs/`. If this directory does not exist in the bucket, it will be created automatically. + /// + [Input("bucket", required: true)] + public Input Bucket { get; set; } = null!; + + /// + /// Data compression type, the possible values are: `gzip`: use gzip compression. If it is not filled in, compression is not enabled. + /// + [Input("compressType")] + public Input? CompressType { get; set; } + + /// + /// URLs that do not include bucket names or paths, for example: `https://storage.googleapis.com`, `https://s3.ap-northeast-2.amazonaws.com`, `https://cos.ap-nanjing.myqcloud.com`. + /// + [Input("endpoint", required: true)] + public Input Endpoint { get; set; } = null!; + + /// + /// The region where the bucket is located, for example: ap-northeast-2. + /// + [Input("region", required: true)] + public Input Region { get; set; } = null!; + + public RealtimeLogDeliveryS3GetArgs() + { + } + public static new RealtimeLogDeliveryS3GetArgs Empty => new RealtimeLogDeliveryS3GetArgs(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/Inputs/RuleEngineRuleArgs.cs b/sdk/dotnet/Tencentcloud/Teo/Inputs/RuleEngineRuleArgs.cs index 9566e882e..a5d80aaed 100644 --- a/sdk/dotnet/Tencentcloud/Teo/Inputs/RuleEngineRuleArgs.cs +++ b/sdk/dotnet/Tencentcloud/Teo/Inputs/RuleEngineRuleArgs.cs @@ -13,7 +13,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Inputs public sealed class RuleEngineRuleArgs : global::Pulumi.ResourceArgs { - [Input("actions", required: true)] + [Input("actions")] private InputList? _actions; /// diff --git a/sdk/dotnet/Tencentcloud/Teo/Inputs/RuleEngineRuleGetArgs.cs b/sdk/dotnet/Tencentcloud/Teo/Inputs/RuleEngineRuleGetArgs.cs index 28e78cc37..3f2e779d5 100644 --- a/sdk/dotnet/Tencentcloud/Teo/Inputs/RuleEngineRuleGetArgs.cs +++ b/sdk/dotnet/Tencentcloud/Teo/Inputs/RuleEngineRuleGetArgs.cs @@ -13,7 +13,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Inputs public sealed class RuleEngineRuleGetArgs : global::Pulumi.ResourceArgs { - [Input("actions", required: true)] + [Input("actions")] private InputList? _actions; /// diff --git a/sdk/dotnet/Tencentcloud/Teo/Inputs/RuleEngineRuleSubRuleRuleArgs.cs b/sdk/dotnet/Tencentcloud/Teo/Inputs/RuleEngineRuleSubRuleRuleArgs.cs index 212b6223a..74338cb82 100644 --- a/sdk/dotnet/Tencentcloud/Teo/Inputs/RuleEngineRuleSubRuleRuleArgs.cs +++ b/sdk/dotnet/Tencentcloud/Teo/Inputs/RuleEngineRuleSubRuleRuleArgs.cs @@ -13,7 +13,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Inputs public sealed class RuleEngineRuleSubRuleRuleArgs : global::Pulumi.ResourceArgs { - [Input("actions", required: true)] + [Input("actions")] private InputList? _actions; /// diff --git a/sdk/dotnet/Tencentcloud/Teo/Inputs/RuleEngineRuleSubRuleRuleGetArgs.cs b/sdk/dotnet/Tencentcloud/Teo/Inputs/RuleEngineRuleSubRuleRuleGetArgs.cs index a5f09b563..0379d3a93 100644 --- a/sdk/dotnet/Tencentcloud/Teo/Inputs/RuleEngineRuleSubRuleRuleGetArgs.cs +++ b/sdk/dotnet/Tencentcloud/Teo/Inputs/RuleEngineRuleSubRuleRuleGetArgs.cs @@ -13,7 +13,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Inputs public sealed class RuleEngineRuleSubRuleRuleGetArgs : global::Pulumi.ResourceArgs { - [Input("actions", required: true)] + [Input("actions")] private InputList? _actions; /// diff --git a/sdk/dotnet/Tencentcloud/Teo/Outputs/RealtimeLogDeliveryCls.cs b/sdk/dotnet/Tencentcloud/Teo/Outputs/RealtimeLogDeliveryCls.cs new file mode 100644 index 000000000..4d0d10ac1 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Outputs/RealtimeLogDeliveryCls.cs @@ -0,0 +1,43 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Outputs +{ + + [OutputType] + public sealed class RealtimeLogDeliveryCls + { + /// + /// Tencent Cloud CLS log set ID. + /// + public readonly string LogSetId; + /// + /// The region where the Tencent Cloud CLS log set is located. + /// + public readonly string LogSetRegion; + /// + /// Tencent Cloud CLS log topic ID. + /// + public readonly string TopicId; + + [OutputConstructor] + private RealtimeLogDeliveryCls( + string logSetId, + + string logSetRegion, + + string topicId) + { + LogSetId = logSetId; + LogSetRegion = logSetRegion; + TopicId = topicId; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/Outputs/RealtimeLogDeliveryCustomEndpoint.cs b/sdk/dotnet/Tencentcloud/Teo/Outputs/RealtimeLogDeliveryCustomEndpoint.cs new file mode 100644 index 000000000..cc5ef3bf2 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Outputs/RealtimeLogDeliveryCustomEndpoint.cs @@ -0,0 +1,64 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Outputs +{ + + [OutputType] + public sealed class RealtimeLogDeliveryCustomEndpoint + { + /// + /// Fill in a custom SecretId to generate an encrypted signature. This parameter is required if the source site requires authentication. + /// + public readonly string? AccessId; + /// + /// Fill in the custom SecretKey to generate the encrypted signature. This parameter is required if the source site requires authentication. + /// + public readonly string? AccessKey; + /// + /// Data compression type, the possible values are: `gzip`: use gzip compression. If it is not filled in, compression is not enabled. + /// + public readonly string? CompressType; + /// + /// The custom request header carried when delivering logs. If the header name you fill in is the default header carried by EdgeOne log push, such as Content-Type, then the header value you fill in will overwrite the default value. The header value references a single variable ${batchSize} to obtain the number of logs included in each POST request. + /// + public readonly ImmutableArray Headers; + /// + /// When sending logs via POST request, the application layer protocol type used can be: `http`: HTTP protocol; `https`: HTTPS protocol. If not filled in, the protocol type will be parsed according to the filled in URL address. + /// + public readonly string? Protocol; + /// + /// The custom HTTP interface address for real-time log delivery. Currently, only HTTP/HTTPS protocols are supported. + /// + public readonly string Url; + + [OutputConstructor] + private RealtimeLogDeliveryCustomEndpoint( + string? accessId, + + string? accessKey, + + string? compressType, + + ImmutableArray headers, + + string? protocol, + + string url) + { + AccessId = accessId; + AccessKey = accessKey; + CompressType = compressType; + Headers = headers; + Protocol = protocol; + Url = url; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/Outputs/RealtimeLogDeliveryCustomEndpointHeader.cs b/sdk/dotnet/Tencentcloud/Teo/Outputs/RealtimeLogDeliveryCustomEndpointHeader.cs new file mode 100644 index 000000000..671b03309 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Outputs/RealtimeLogDeliveryCustomEndpointHeader.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Outputs +{ + + [OutputType] + public sealed class RealtimeLogDeliveryCustomEndpointHeader + { + /// + /// HTTP header name. + /// + public readonly string Name; + /// + /// HTTP header value. + /// + public readonly string Value; + + [OutputConstructor] + private RealtimeLogDeliveryCustomEndpointHeader( + string name, + + string value) + { + Name = name; + Value = value; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/Outputs/RealtimeLogDeliveryCustomField.cs b/sdk/dotnet/Tencentcloud/Teo/Outputs/RealtimeLogDeliveryCustomField.cs new file mode 100644 index 000000000..24c0a231d --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Outputs/RealtimeLogDeliveryCustomField.cs @@ -0,0 +1,43 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Outputs +{ + + [OutputType] + public sealed class RealtimeLogDeliveryCustomField + { + /// + /// Whether to deliver this field. If left blank, this field will not be delivered. + /// + public readonly bool? Enabled; + /// + /// Extract data from the specified location in the HTTP request and response. The values are: `ReqHeader`: extract the specified field value from the HTTP request header; `RspHeader`: extract the specified field value from the HTTP response header; `Cookie`: extract the specified field value from the Cookie. + /// + public readonly string Name; + /// + /// The name of the parameter whose value needs to be extracted, for example: Accept-Language. + /// + public readonly string Value; + + [OutputConstructor] + private RealtimeLogDeliveryCustomField( + bool? enabled, + + string name, + + string value) + { + Enabled = enabled; + Name = name; + Value = value; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/Outputs/RealtimeLogDeliveryDeliveryCondition.cs b/sdk/dotnet/Tencentcloud/Teo/Outputs/RealtimeLogDeliveryDeliveryCondition.cs new file mode 100644 index 000000000..68149deaf --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Outputs/RealtimeLogDeliveryDeliveryCondition.cs @@ -0,0 +1,28 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Outputs +{ + + [OutputType] + public sealed class RealtimeLogDeliveryDeliveryCondition + { + /// + /// Log filtering conditions, the detailed filtering conditions are as follows: - `EdgeResponseStatusCode`: filter according to the status code returned by the EdgeOne node to the client. Supported operators: `equal`, `great`, `less`, `great_equal`, `less_equal`; Value range: any integer greater than or equal to 0; - `OriginResponseStatusCode`: filter according to the origin response status code. Supported operators: `equal`, `great`, `less`, `great_equal`, `less_equal`; Value range: any integer greater than or equal to -1; - `SecurityAction`: filter according to the final disposal action after the request hits the security rule. Supported operators: `equal`; Optional options are as follows: `-`: unknown/miss; `Monitor`: observe; `JSChallenge`: JavaScript challenge; `Deny`: intercept; `Allow`: allow; `BlockIP`: IP ban; `Redirect`: redirect; `ReturnCustomPage`: return to a custom page; `ManagedChallenge`: managed challenge; `Silence`: silent; `LongDelay`: respond after a long wait; `ShortDelay`: respond after a short wait; -`SecurityModule`: filter according to the name of the security module that finally handles the request. Supported operators: `equal`; Optional options: `-`: unknown/missed; `CustomRule`: Web Protection - Custom Rules; `RateLimitingCustomRule`: Web Protection - Rate Limiting Rules; `ManagedRule`: Web Protection - Managed Rules; `L7DDoS`: Web Protection - CC Attack Protection; `BotManagement`: Bot Management - Bot Basic Management; `BotClientReputation`: Bot Management - Client Profile Analysis; `BotBehaviorAnalysis`: Bot Management - Bot Intelligent Analysis; `BotCustomRule`: Bot Management - Custom Bot Rules; `BotActiveDetection`: Bot Management - Active Feature Recognition. + /// + public readonly ImmutableArray Conditions; + + [OutputConstructor] + private RealtimeLogDeliveryDeliveryCondition(ImmutableArray conditions) + { + Conditions = conditions; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/Outputs/RealtimeLogDeliveryDeliveryConditionCondition.cs b/sdk/dotnet/Tencentcloud/Teo/Outputs/RealtimeLogDeliveryDeliveryConditionCondition.cs new file mode 100644 index 000000000..206e163e4 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Outputs/RealtimeLogDeliveryDeliveryConditionCondition.cs @@ -0,0 +1,43 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Outputs +{ + + [OutputType] + public sealed class RealtimeLogDeliveryDeliveryConditionCondition + { + /// + /// The key of the filter condition. + /// + public readonly string Key; + /// + /// Query condition operator, operation types are: `equals`: equal; `notEquals`: not equal; `include`: include; `notInclude`: not include; `startWith`: start with value; `notStartWith`: not start with value; `endWith`: end with value; `notEndWith`: not end with value. + /// + public readonly string Operator; + /// + /// The value of the filter condition. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private RealtimeLogDeliveryDeliveryConditionCondition( + string key, + + string @operator, + + ImmutableArray values) + { + Key = key; + Operator = @operator; + Values = values; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/Outputs/RealtimeLogDeliveryLogFormat.cs b/sdk/dotnet/Tencentcloud/Teo/Outputs/RealtimeLogDeliveryLogFormat.cs new file mode 100644 index 000000000..1f05ca13b --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Outputs/RealtimeLogDeliveryLogFormat.cs @@ -0,0 +1,74 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Outputs +{ + + [OutputType] + public sealed class RealtimeLogDeliveryLogFormat + { + /// + /// A string to be added before each log delivery batch. Each log delivery batch may contain multiple log records. + /// + public readonly string? BatchPrefix; + /// + /// A string to append after each log delivery batch. + /// + public readonly string? BatchSuffix; + /// + /// In a single log record, a string is inserted between fields as a separator. The possible values are: ` `: tab character; `,`: comma; `;`: semicolon. + /// + public readonly string? FieldDelimiter; + /// + /// The default output format type for log delivery. The possible values are: `json`: Use the default log output format JSON Lines. The fields in a single log are presented as key-value pairs; `csv`: Use the default log output format csv. Only field values are presented in a single log, without field names. + /// + public readonly string FormatType; + /// + /// The string inserted between log records as a separator. The possible values are: ` + /// `: newline character; ` `: tab character; `,`: comma. + /// + public readonly string? RecordDelimiter; + /// + /// A string to prepend to each log record. + /// + public readonly string? RecordPrefix; + /// + /// A string to append to each log record. + /// + /// The `s3` object supports the following: + /// + public readonly string? RecordSuffix; + + [OutputConstructor] + private RealtimeLogDeliveryLogFormat( + string? batchPrefix, + + string? batchSuffix, + + string? fieldDelimiter, + + string formatType, + + string? recordDelimiter, + + string? recordPrefix, + + string? recordSuffix) + { + BatchPrefix = batchPrefix; + BatchSuffix = batchSuffix; + FieldDelimiter = fieldDelimiter; + FormatType = formatType; + RecordDelimiter = recordDelimiter; + RecordPrefix = recordPrefix; + RecordSuffix = recordSuffix; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/Outputs/RealtimeLogDeliveryS3.cs b/sdk/dotnet/Tencentcloud/Teo/Outputs/RealtimeLogDeliveryS3.cs new file mode 100644 index 000000000..d7e28275d --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/Outputs/RealtimeLogDeliveryS3.cs @@ -0,0 +1,64 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Outputs +{ + + [OutputType] + public sealed class RealtimeLogDeliveryS3 + { + /// + /// Fill in a custom SecretId to generate an encrypted signature. This parameter is required if the source site requires authentication. + /// + public readonly string AccessId; + /// + /// Fill in the custom SecretKey to generate the encrypted signature. This parameter is required if the source site requires authentication. + /// + public readonly string AccessKey; + /// + /// Bucket name and log storage directory, for example: `your_bucket_name/EO-logs/`. If this directory does not exist in the bucket, it will be created automatically. + /// + public readonly string Bucket; + /// + /// Data compression type, the possible values are: `gzip`: use gzip compression. If it is not filled in, compression is not enabled. + /// + public readonly string? CompressType; + /// + /// URLs that do not include bucket names or paths, for example: `https://storage.googleapis.com`, `https://s3.ap-northeast-2.amazonaws.com`, `https://cos.ap-nanjing.myqcloud.com`. + /// + public readonly string Endpoint; + /// + /// The region where the bucket is located, for example: ap-northeast-2. + /// + public readonly string Region; + + [OutputConstructor] + private RealtimeLogDeliveryS3( + string accessId, + + string accessKey, + + string bucket, + + string? compressType, + + string endpoint, + + string region) + { + AccessId = accessId; + AccessKey = accessKey; + Bucket = bucket; + CompressType = compressType; + Endpoint = endpoint; + Region = region; + } + } +} diff --git a/sdk/dotnet/Tencentcloud/Teo/RealtimeLogDelivery.cs b/sdk/dotnet/Tencentcloud/Teo/RealtimeLogDelivery.cs new file mode 100644 index 000000000..8951111b1 --- /dev/null +++ b/sdk/dotnet/Tencentcloud/Teo/RealtimeLogDelivery.cs @@ -0,0 +1,481 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo +{ + /// + /// Provides a resource to create a teo teo_realtime_log_delivery + /// + /// ## Example Usage + /// + /// <!--Start PulumiCodeChooser --> + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var teoRealtimeLogDelivery = new Tencentcloud.Teo.RealtimeLogDelivery("teoRealtimeLogDelivery", new() + /// { + /// Area = "overseas", + /// DeliveryStatus = "disabled", + /// EntityLists = new[] + /// { + /// "sid-2yvhjw98uaco", + /// }, + /// Fields = new[] + /// { + /// "ServiceID", + /// "ConnectTimeStamp", + /// "DisconnetTimeStamp", + /// "DisconnetReason", + /// "ClientRealIP", + /// "ClientRegion", + /// "EdgeIP", + /// "ForwardProtocol", + /// "ForwardPort", + /// "SentBytes", + /// "ReceivedBytes", + /// "LogTimeStamp", + /// }, + /// LogFormat = new Tencentcloud.Teo.Inputs.RealtimeLogDeliveryLogFormatArgs + /// { + /// FieldDelimiter = ",", + /// FormatType = "json", + /// RecordDelimiter = @" + /// + /// ", + /// RecordPrefix = "{", + /// RecordSuffix = "}", + /// }, + /// LogType = "application", + /// S3 = new Tencentcloud.Teo.Inputs.RealtimeLogDeliveryS3Args + /// { + /// AccessId = "xxxxxxxxxx", + /// AccessKey = "xxxxxxxxxx", + /// Bucket = "test-1253833068", + /// CompressType = "gzip", + /// Endpoint = "https://test-1253833068.cos.ap-nanjing.myqcloud.com", + /// Region = "ap-nanjing", + /// }, + /// Sample = 0, + /// TaskName = "test", + /// TaskType = "s3", + /// ZoneId = "zone-2qtuhspy7cr6", + /// }); + /// + /// }); + /// ``` + /// <!--End PulumiCodeChooser --> + /// + /// ## Import + /// + /// teo teo_realtime_log_delivery can be imported using the id, e.g. + /// + /// ```sh + /// $ pulumi import tencentcloud:Teo/realtimeLogDelivery:RealtimeLogDelivery teo_realtime_log_delivery zoneId#taskId + /// ``` + /// + [TencentcloudResourceType("tencentcloud:Teo/realtimeLogDelivery:RealtimeLogDelivery")] + public partial class RealtimeLogDelivery : global::Pulumi.CustomResource + { + /// + /// Data delivery area, possible values are: `mainland`: within mainland China; `overseas`: worldwide (excluding mainland China). + /// + [Output("area")] + public Output Area { get; private set; } = null!; + + /// + /// CLS configuration information. This parameter is required when TaskType is cls. + /// + [Output("cls")] + public Output Cls { get; private set; } = null!; + + /// + /// Customize the configuration information of the HTTP service. This parameter is required when TaskType is set to custom_endpoint. + /// + [Output("customEndpoint")] + public Output CustomEndpoint { get; private set; } = null!; + + /// + /// The list of custom fields delivered supports extracting specified field values from HTTP request headers, response headers, and cookies. Custom field names cannot be repeated and cannot exceed 200 fields. + /// + [Output("customFields")] + public Output> CustomFields { get; private set; } = null!; + + /// + /// The filter condition for log delivery. If it is not filled, all logs will be delivered. + /// + [Output("deliveryConditions")] + public Output> DeliveryConditions { get; private set; } = null!; + + /// + /// The status of the real-time log delivery task. The values are: `enabled`: enabled; `disabled`: disabled. Leave it blank to keep the original configuration. Not required when creating. + /// + [Output("deliveryStatus")] + public Output DeliveryStatus { get; private set; } = null!; + + /// + /// List of entities (seven-layer domain names or four-layer proxy instances) corresponding to real-time log delivery tasks. Example values are as follows: Seven-layer domain name: `domain.example.com`; four-layer proxy instance: sid-2s69eb5wcms7. For values, refer to: `https://cloud.tencent.com/document/api/1552/80690`, `https://cloud.tencent.com/document/api/1552/86336`. + /// + [Output("entityLists")] + public Output> EntityLists { get; private set; } = null!; + + /// + /// A list of preset fields for delivery. + /// + [Output("fields")] + public Output> Fields { get; private set; } = null!; + + /// + /// The output format of log delivery. If it is not filled, it means the default format. The default format logic is as follows: when TaskType is `custom_endpoint`, the default format is an array of multiple JSON objects, each JSON object is a log; when TaskType is `s3`, the default format is JSON Lines; in particular, when TaskType is `cls`, the value of LogFormat.FormatType can only be json, and other parameters in LogFormat will be ignored. It is recommended not to pass LogFormat. + /// + [Output("logFormat")] + public Output LogFormat { get; private set; } = null!; + + /// + /// Data delivery type, the values are: `domain`: site acceleration log; `application`: four-layer proxy log; `web-rateLiming`: rate limit and CC attack protection log; `web-attack`: managed rule log; `web-rule`: custom rule log; `web-bot`: Bot management log. + /// + [Output("logType")] + public Output LogType { get; private set; } = null!; + + /// + /// Configuration information of AWS S3 compatible storage bucket. This parameter is required when TaskType is s3. + /// + [Output("s3")] + public Output S3 { get; private set; } = null!; + + /// + /// The sampling ratio is in thousandths, with a value range of 1-1000. For example, filling in 605 means the sampling ratio is 60.5%. Leaving it blank means the sampling ratio is 100%. + /// + [Output("sample")] + public Output Sample { get; private set; } = null!; + + /// + /// Real-time log delivery task ID. + /// + [Output("taskId")] + public Output TaskId { get; private set; } = null!; + + /// + /// The name of the real-time log delivery task. The format is a combination of numbers, English, -, and _. The maximum length is 200 characters. + /// + [Output("taskName")] + public Output TaskName { get; private set; } = null!; + + /// + /// The real-time log delivery task type. The possible values are: `cls`: push to Tencent Cloud CLS; `custom_endpoint`: push to a custom HTTP(S) address; `s3`: push to an AWS S3 compatible storage bucket address. + /// + [Output("taskType")] + public Output TaskType { get; private set; } = null!; + + /// + /// ID of the site. + /// + [Output("zoneId")] + public Output ZoneId { get; private set; } = null!; + + + /// + /// Create a RealtimeLogDelivery resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public RealtimeLogDelivery(string name, RealtimeLogDeliveryArgs args, CustomResourceOptions? options = null) + : base("tencentcloud:Teo/realtimeLogDelivery:RealtimeLogDelivery", name, args ?? new RealtimeLogDeliveryArgs(), MakeResourceOptions(options, "")) + { + } + + private RealtimeLogDelivery(string name, Input id, RealtimeLogDeliveryState? state = null, CustomResourceOptions? options = null) + : base("tencentcloud:Teo/realtimeLogDelivery:RealtimeLogDelivery", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "github://api.github.com/tencentcloudstack", + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing RealtimeLogDelivery resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static RealtimeLogDelivery Get(string name, Input id, RealtimeLogDeliveryState? state = null, CustomResourceOptions? options = null) + { + return new RealtimeLogDelivery(name, id, state, options); + } + } + + public sealed class RealtimeLogDeliveryArgs : global::Pulumi.ResourceArgs + { + /// + /// Data delivery area, possible values are: `mainland`: within mainland China; `overseas`: worldwide (excluding mainland China). + /// + [Input("area", required: true)] + public Input Area { get; set; } = null!; + + /// + /// CLS configuration information. This parameter is required when TaskType is cls. + /// + [Input("cls")] + public Input? Cls { get; set; } + + /// + /// Customize the configuration information of the HTTP service. This parameter is required when TaskType is set to custom_endpoint. + /// + [Input("customEndpoint")] + public Input? CustomEndpoint { get; set; } + + [Input("customFields")] + private InputList? _customFields; + + /// + /// The list of custom fields delivered supports extracting specified field values from HTTP request headers, response headers, and cookies. Custom field names cannot be repeated and cannot exceed 200 fields. + /// + public InputList CustomFields + { + get => _customFields ?? (_customFields = new InputList()); + set => _customFields = value; + } + + [Input("deliveryConditions")] + private InputList? _deliveryConditions; + + /// + /// The filter condition for log delivery. If it is not filled, all logs will be delivered. + /// + public InputList DeliveryConditions + { + get => _deliveryConditions ?? (_deliveryConditions = new InputList()); + set => _deliveryConditions = value; + } + + /// + /// The status of the real-time log delivery task. The values are: `enabled`: enabled; `disabled`: disabled. Leave it blank to keep the original configuration. Not required when creating. + /// + [Input("deliveryStatus")] + public Input? DeliveryStatus { get; set; } + + [Input("entityLists", required: true)] + private InputList? _entityLists; + + /// + /// List of entities (seven-layer domain names or four-layer proxy instances) corresponding to real-time log delivery tasks. Example values are as follows: Seven-layer domain name: `domain.example.com`; four-layer proxy instance: sid-2s69eb5wcms7. For values, refer to: `https://cloud.tencent.com/document/api/1552/80690`, `https://cloud.tencent.com/document/api/1552/86336`. + /// + public InputList EntityLists + { + get => _entityLists ?? (_entityLists = new InputList()); + set => _entityLists = value; + } + + [Input("fields", required: true)] + private InputList? _fields; + + /// + /// A list of preset fields for delivery. + /// + public InputList Fields + { + get => _fields ?? (_fields = new InputList()); + set => _fields = value; + } + + /// + /// The output format of log delivery. If it is not filled, it means the default format. The default format logic is as follows: when TaskType is `custom_endpoint`, the default format is an array of multiple JSON objects, each JSON object is a log; when TaskType is `s3`, the default format is JSON Lines; in particular, when TaskType is `cls`, the value of LogFormat.FormatType can only be json, and other parameters in LogFormat will be ignored. It is recommended not to pass LogFormat. + /// + [Input("logFormat")] + public Input? LogFormat { get; set; } + + /// + /// Data delivery type, the values are: `domain`: site acceleration log; `application`: four-layer proxy log; `web-rateLiming`: rate limit and CC attack protection log; `web-attack`: managed rule log; `web-rule`: custom rule log; `web-bot`: Bot management log. + /// + [Input("logType", required: true)] + public Input LogType { get; set; } = null!; + + /// + /// Configuration information of AWS S3 compatible storage bucket. This parameter is required when TaskType is s3. + /// + [Input("s3")] + public Input? S3 { get; set; } + + /// + /// The sampling ratio is in thousandths, with a value range of 1-1000. For example, filling in 605 means the sampling ratio is 60.5%. Leaving it blank means the sampling ratio is 100%. + /// + [Input("sample", required: true)] + public Input Sample { get; set; } = null!; + + /// + /// The name of the real-time log delivery task. The format is a combination of numbers, English, -, and _. The maximum length is 200 characters. + /// + [Input("taskName", required: true)] + public Input TaskName { get; set; } = null!; + + /// + /// The real-time log delivery task type. The possible values are: `cls`: push to Tencent Cloud CLS; `custom_endpoint`: push to a custom HTTP(S) address; `s3`: push to an AWS S3 compatible storage bucket address. + /// + [Input("taskType", required: true)] + public Input TaskType { get; set; } = null!; + + /// + /// ID of the site. + /// + [Input("zoneId", required: true)] + public Input ZoneId { get; set; } = null!; + + public RealtimeLogDeliveryArgs() + { + } + public static new RealtimeLogDeliveryArgs Empty => new RealtimeLogDeliveryArgs(); + } + + public sealed class RealtimeLogDeliveryState : global::Pulumi.ResourceArgs + { + /// + /// Data delivery area, possible values are: `mainland`: within mainland China; `overseas`: worldwide (excluding mainland China). + /// + [Input("area")] + public Input? Area { get; set; } + + /// + /// CLS configuration information. This parameter is required when TaskType is cls. + /// + [Input("cls")] + public Input? Cls { get; set; } + + /// + /// Customize the configuration information of the HTTP service. This parameter is required when TaskType is set to custom_endpoint. + /// + [Input("customEndpoint")] + public Input? CustomEndpoint { get; set; } + + [Input("customFields")] + private InputList? _customFields; + + /// + /// The list of custom fields delivered supports extracting specified field values from HTTP request headers, response headers, and cookies. Custom field names cannot be repeated and cannot exceed 200 fields. + /// + public InputList CustomFields + { + get => _customFields ?? (_customFields = new InputList()); + set => _customFields = value; + } + + [Input("deliveryConditions")] + private InputList? _deliveryConditions; + + /// + /// The filter condition for log delivery. If it is not filled, all logs will be delivered. + /// + public InputList DeliveryConditions + { + get => _deliveryConditions ?? (_deliveryConditions = new InputList()); + set => _deliveryConditions = value; + } + + /// + /// The status of the real-time log delivery task. The values are: `enabled`: enabled; `disabled`: disabled. Leave it blank to keep the original configuration. Not required when creating. + /// + [Input("deliveryStatus")] + public Input? DeliveryStatus { get; set; } + + [Input("entityLists")] + private InputList? _entityLists; + + /// + /// List of entities (seven-layer domain names or four-layer proxy instances) corresponding to real-time log delivery tasks. Example values are as follows: Seven-layer domain name: `domain.example.com`; four-layer proxy instance: sid-2s69eb5wcms7. For values, refer to: `https://cloud.tencent.com/document/api/1552/80690`, `https://cloud.tencent.com/document/api/1552/86336`. + /// + public InputList EntityLists + { + get => _entityLists ?? (_entityLists = new InputList()); + set => _entityLists = value; + } + + [Input("fields")] + private InputList? _fields; + + /// + /// A list of preset fields for delivery. + /// + public InputList Fields + { + get => _fields ?? (_fields = new InputList()); + set => _fields = value; + } + + /// + /// The output format of log delivery. If it is not filled, it means the default format. The default format logic is as follows: when TaskType is `custom_endpoint`, the default format is an array of multiple JSON objects, each JSON object is a log; when TaskType is `s3`, the default format is JSON Lines; in particular, when TaskType is `cls`, the value of LogFormat.FormatType can only be json, and other parameters in LogFormat will be ignored. It is recommended not to pass LogFormat. + /// + [Input("logFormat")] + public Input? LogFormat { get; set; } + + /// + /// Data delivery type, the values are: `domain`: site acceleration log; `application`: four-layer proxy log; `web-rateLiming`: rate limit and CC attack protection log; `web-attack`: managed rule log; `web-rule`: custom rule log; `web-bot`: Bot management log. + /// + [Input("logType")] + public Input? LogType { get; set; } + + /// + /// Configuration information of AWS S3 compatible storage bucket. This parameter is required when TaskType is s3. + /// + [Input("s3")] + public Input? S3 { get; set; } + + /// + /// The sampling ratio is in thousandths, with a value range of 1-1000. For example, filling in 605 means the sampling ratio is 60.5%. Leaving it blank means the sampling ratio is 100%. + /// + [Input("sample")] + public Input? Sample { get; set; } + + /// + /// Real-time log delivery task ID. + /// + [Input("taskId")] + public Input? TaskId { get; set; } + + /// + /// The name of the real-time log delivery task. The format is a combination of numbers, English, -, and _. The maximum length is 200 characters. + /// + [Input("taskName")] + public Input? TaskName { get; set; } + + /// + /// The real-time log delivery task type. The possible values are: `cls`: push to Tencent Cloud CLS; `custom_endpoint`: push to a custom HTTP(S) address; `s3`: push to an AWS S3 compatible storage bucket address. + /// + [Input("taskType")] + public Input? TaskType { get; set; } + + /// + /// ID of the site. + /// + [Input("zoneId")] + public Input? ZoneId { get; set; } + + public RealtimeLogDeliveryState() + { + } + public static new RealtimeLogDeliveryState Empty => new RealtimeLogDeliveryState(); + } +} diff --git a/sdk/dotnet/Tencentcloud/Trocket/RocketmqInstance.cs b/sdk/dotnet/Tencentcloud/Trocket/RocketmqInstance.cs index fe75aac81..2dac3d9dc 100644 --- a/sdk/dotnet/Tencentcloud/Trocket/RocketmqInstance.cs +++ b/sdk/dotnet/Tencentcloud/Trocket/RocketmqInstance.cs @@ -13,11 +13,11 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Trocket /// /// Provides a resource to create a rocketmq 5.x instance /// - /// > **NOTE:** It only support create postpaid rocketmq 5.x instance. + /// > **NOTE:** It only supports create postpaid rocketmq 5.x instance. /// /// ## Example Usage /// - /// ### Basic Instance + /// ### Create Basic Instance /// /// <!--Start PulumiCodeChooser --> /// ```csharp @@ -28,25 +28,41 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Trocket /// /// return await Deployment.RunAsync(() => /// { - /// var rocketmqInstance = new Tencentcloud.Trocket.RocketmqInstance("rocketmqInstance", new() + /// // create vpc + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() /// { - /// InstanceType = "EXPERIMENT", + /// CidrBlock = "10.0.0.0/16", + /// }); + /// + /// // create vpc subnet + /// var subnet = new Tencentcloud.Subnet.Instance("subnet", new() + /// { + /// VpcId = vpc.Id, + /// AvailabilityZone = "ap-guangzhou-6", + /// CidrBlock = "10.0.20.0/28", + /// IsMulticast = false, + /// }); + /// + /// // create rocketmq instance + /// var example = new Tencentcloud.Trocket.RocketmqInstance("example", new() + /// { + /// InstanceType = "PRO", + /// SkuCode = "pro_4k", /// Remark = "remark", - /// SkuCode = "experiment_500", - /// SubnetId = "subnet-xxxxxx", + /// VpcId = vpc.Id, + /// SubnetId = subnet.Id, /// Tags = /// { /// { "tag_key", "rocketmq" }, /// { "tag_value", "5.x" }, /// }, - /// VpcId = "vpc-xxxxxx", /// }); /// /// }); /// ``` /// <!--End PulumiCodeChooser --> /// - /// ### Enable Public Instance + /// ### Create Enable Public Network Instance /// /// <!--Start PulumiCodeChooser --> /// ```csharp @@ -57,20 +73,36 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Trocket /// /// return await Deployment.RunAsync(() => /// { - /// var rocketmqInstancePublic = new Tencentcloud.Trocket.RocketmqInstance("rocketmqInstancePublic", new() + /// // create vpc + /// var vpc = new Tencentcloud.Vpc.Instance("vpc", new() /// { - /// Bandwidth = 1, - /// EnablePublic = true, - /// InstanceType = "EXPERIMENT", + /// CidrBlock = "10.0.0.0/16", + /// }); + /// + /// // create vpc subnet + /// var subnet = new Tencentcloud.Subnet.Instance("subnet", new() + /// { + /// VpcId = vpc.Id, + /// AvailabilityZone = "ap-guangzhou-6", + /// CidrBlock = "10.0.20.0/28", + /// IsMulticast = false, + /// }); + /// + /// // create rocketmq instance + /// var example = new Tencentcloud.Trocket.RocketmqInstance("example", new() + /// { + /// InstanceType = "PRO", + /// SkuCode = "pro_4k", /// Remark = "remark", - /// SkuCode = "experiment_500", - /// SubnetId = "subnet-xxxxxx", + /// VpcId = vpc.Id, + /// SubnetId = subnet.Id, + /// EnablePublic = true, + /// Bandwidth = 10, /// Tags = /// { /// { "tag_key", "rocketmq" }, /// { "tag_value", "5.x" }, /// }, - /// VpcId = "vpc-xxxxxx", /// }); /// /// }); @@ -82,7 +114,7 @@ namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Trocket /// trocket rocketmq_instance can be imported using the id, e.g. /// /// ```sh - /// $ pulumi import tencentcloud:Trocket/rocketmqInstance:RocketmqInstance rocketmq_instance rocketmq_instance_id + /// $ pulumi import tencentcloud:Trocket/rocketmqInstance:RocketmqInstance rocketmq_instance rmq-n5qado7m /// ``` /// [TencentcloudResourceType("tencentcloud:Trocket/rocketmqInstance:RocketmqInstance")] @@ -137,7 +169,7 @@ public partial class RocketmqInstance : global::Pulumi.CustomResource public Output Remark { get; private set; } = null!; /// - /// SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_4k, basic_6k. + /// SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_3k, basic_4k, basic_5k, basic_6k, basic_7k, basic_8k, basic_9k, basic_10k, pro_4k, pro_6k, pro_8k, pro_1w, pro_15k, pro_2w, pro_25k, pro_3w, pro_35k, pro_4w, pro_45k, pro_5w, pro_55k, pro_60k, pro_65k, pro_70k, pro_75k, pro_80k, pro_85k, pro_90k, pro_95k, pro_100k, platinum_1w, platinum_2w, platinum_3w, platinum_4w, platinum_5w, platinum_6w, platinum_7w, platinum_8w, platinum_9w, platinum_10w, platinum_12w, platinum_14w, platinum_16w, platinum_18w, platinum_20w, platinum_25w, platinum_30w, platinum_35w, platinum_40w, platinum_45w, platinum_50w, platinum_60w, platinum_70w, platinum_80w, platinum_90w, platinum_100w. /// [Output("skuCode")] public Output SkuCode { get; private set; } = null!; @@ -262,7 +294,7 @@ public InputList IpRules public Input? Remark { get; set; } /// - /// SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_4k, basic_6k. + /// SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_3k, basic_4k, basic_5k, basic_6k, basic_7k, basic_8k, basic_9k, basic_10k, pro_4k, pro_6k, pro_8k, pro_1w, pro_15k, pro_2w, pro_25k, pro_3w, pro_35k, pro_4w, pro_45k, pro_5w, pro_55k, pro_60k, pro_65k, pro_70k, pro_75k, pro_80k, pro_85k, pro_90k, pro_95k, pro_100k, platinum_1w, platinum_2w, platinum_3w, platinum_4w, platinum_5w, platinum_6w, platinum_7w, platinum_8w, platinum_9w, platinum_10w, platinum_12w, platinum_14w, platinum_16w, platinum_18w, platinum_20w, platinum_25w, platinum_30w, platinum_35w, platinum_40w, platinum_45w, platinum_50w, platinum_60w, platinum_70w, platinum_80w, platinum_90w, platinum_100w. /// [Input("skuCode", required: true)] public Input SkuCode { get; set; } = null!; @@ -354,7 +386,7 @@ public InputList IpRules public Input? Remark { get; set; } /// - /// SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_4k, basic_6k. + /// SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_3k, basic_4k, basic_5k, basic_6k, basic_7k, basic_8k, basic_9k, basic_10k, pro_4k, pro_6k, pro_8k, pro_1w, pro_15k, pro_2w, pro_25k, pro_3w, pro_35k, pro_4w, pro_45k, pro_5w, pro_55k, pro_60k, pro_65k, pro_70k, pro_75k, pro_80k, pro_85k, pro_90k, pro_95k, pro_100k, platinum_1w, platinum_2w, platinum_3w, platinum_4w, platinum_5w, platinum_6w, platinum_7w, platinum_8w, platinum_9w, platinum_10w, platinum_12w, platinum_14w, platinum_16w, platinum_18w, platinum_20w, platinum_25w, platinum_30w, platinum_35w, platinum_40w, platinum_45w, platinum_50w, platinum_60w, platinum_70w, platinum_80w, platinum_90w, platinum_100w. /// [Input("skuCode")] public Input? SkuCode { get; set; } diff --git a/sdk/go/tencentcloud/clb/instance.go b/sdk/go/tencentcloud/clb/instance.go index 6561a5706..f7d6e1f5b 100644 --- a/sdk/go/tencentcloud/clb/instance.go +++ b/sdk/go/tencentcloud/clb/instance.go @@ -112,6 +112,43 @@ import ( // Tags: pulumi.Map{ // "test": pulumi.Any("tf"), // }, +// VpcId: pulumi.String("vpc-da7ffa61"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ### SUPPORT CORS +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Clb" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Clb.NewInstance(ctx, "openClb", &Clb.InstanceArgs{ +// ClbName: pulumi.String("myclb"), +// NetworkType: pulumi.String("OPEN"), +// ProjectId: pulumi.Int(0), +// SecurityGroups: pulumi.StringArray{ +// pulumi.String("sg-o0ek7r93"), +// }, +// Tags: pulumi.Map{ +// "test": pulumi.Any("tf"), +// }, // TargetRegionInfoRegion: pulumi.String("ap-guangzhou"), // TargetRegionInfoVpcId: pulumi.String("vpc-da7ffa61"), // VpcId: pulumi.String("vpc-da7ffa61"), @@ -466,6 +503,8 @@ type Instance struct { // IP version, only applicable to open CLB. Valid values are `ipv4`, `ipv6` and `IPv6FullChain`. AddressIpVersion pulumi.StringOutput `pulumi:"addressIpVersion"` + // The IPv6 address of the load balancing instance. + AddressIpv6 pulumi.StringOutput `pulumi:"addressIpv6"` // Bandwidth package id. If set, the `internetChargeType` must be `BANDWIDTH_PACKAGE`. BandwidthPackageId pulumi.StringPtrOutput `pulumi:"bandwidthPackageId"` // Name of the CLB. The name can only contain Chinese characters, English letters, numbers, underscore and hyphen '-'. @@ -482,6 +521,8 @@ type Instance struct { InternetBandwidthMaxOut pulumi.IntOutput `pulumi:"internetBandwidthMaxOut"` // Internet charge type, only applicable to open CLB. Valid values are `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. InternetChargeType pulumi.StringOutput `pulumi:"internetChargeType"` + // This field is meaningful when the IP address version is ipv6, `IPv6Nat64` | `IPv6FullChain`. + Ipv6Mode pulumi.StringOutput `pulumi:"ipv6Mode"` // Whether the target allow flow come from clb. If value is true, only check security group of clb, or check both clb and backend instance security group. LoadBalancerPassToTarget pulumi.BoolPtrOutput `pulumi:"loadBalancerPassToTarget"` // The id of log set. @@ -560,6 +601,8 @@ func GetInstance(ctx *pulumi.Context, type instanceState struct { // IP version, only applicable to open CLB. Valid values are `ipv4`, `ipv6` and `IPv6FullChain`. AddressIpVersion *string `pulumi:"addressIpVersion"` + // The IPv6 address of the load balancing instance. + AddressIpv6 *string `pulumi:"addressIpv6"` // Bandwidth package id. If set, the `internetChargeType` must be `BANDWIDTH_PACKAGE`. BandwidthPackageId *string `pulumi:"bandwidthPackageId"` // Name of the CLB. The name can only contain Chinese characters, English letters, numbers, underscore and hyphen '-'. @@ -576,6 +619,8 @@ type instanceState struct { InternetBandwidthMaxOut *int `pulumi:"internetBandwidthMaxOut"` // Internet charge type, only applicable to open CLB. Valid values are `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. InternetChargeType *string `pulumi:"internetChargeType"` + // This field is meaningful when the IP address version is ipv6, `IPv6Nat64` | `IPv6FullChain`. + Ipv6Mode *string `pulumi:"ipv6Mode"` // Whether the target allow flow come from clb. If value is true, only check security group of clb, or check both clb and backend instance security group. LoadBalancerPassToTarget *bool `pulumi:"loadBalancerPassToTarget"` // The id of log set. @@ -619,6 +664,8 @@ type instanceState struct { type InstanceState struct { // IP version, only applicable to open CLB. Valid values are `ipv4`, `ipv6` and `IPv6FullChain`. AddressIpVersion pulumi.StringPtrInput + // The IPv6 address of the load balancing instance. + AddressIpv6 pulumi.StringPtrInput // Bandwidth package id. If set, the `internetChargeType` must be `BANDWIDTH_PACKAGE`. BandwidthPackageId pulumi.StringPtrInput // Name of the CLB. The name can only contain Chinese characters, English letters, numbers, underscore and hyphen '-'. @@ -635,6 +682,8 @@ type InstanceState struct { InternetBandwidthMaxOut pulumi.IntPtrInput // Internet charge type, only applicable to open CLB. Valid values are `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. InternetChargeType pulumi.StringPtrInput + // This field is meaningful when the IP address version is ipv6, `IPv6Nat64` | `IPv6FullChain`. + Ipv6Mode pulumi.StringPtrInput // Whether the target allow flow come from clb. If value is true, only check security group of clb, or check both clb and backend instance security group. LoadBalancerPassToTarget pulumi.BoolPtrInput // The id of log set. @@ -882,6 +931,11 @@ func (o InstanceOutput) AddressIpVersion() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.AddressIpVersion }).(pulumi.StringOutput) } +// The IPv6 address of the load balancing instance. +func (o InstanceOutput) AddressIpv6() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.AddressIpv6 }).(pulumi.StringOutput) +} + // Bandwidth package id. If set, the `internetChargeType` must be `BANDWIDTH_PACKAGE`. func (o InstanceOutput) BandwidthPackageId() pulumi.StringPtrOutput { return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.BandwidthPackageId }).(pulumi.StringPtrOutput) @@ -922,6 +976,11 @@ func (o InstanceOutput) InternetChargeType() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.InternetChargeType }).(pulumi.StringOutput) } +// This field is meaningful when the IP address version is ipv6, `IPv6Nat64` | `IPv6FullChain`. +func (o InstanceOutput) Ipv6Mode() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.Ipv6Mode }).(pulumi.StringOutput) +} + // Whether the target allow flow come from clb. If value is true, only check security group of clb, or check both clb and backend instance security group. func (o InstanceOutput) LoadBalancerPassToTarget() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.LoadBalancerPassToTarget }).(pulumi.BoolPtrOutput) diff --git a/sdk/go/tencentcloud/cls/alarm.go b/sdk/go/tencentcloud/cls/alarm.go index 5983ff2e8..a8a3888d4 100644 --- a/sdk/go/tencentcloud/cls/alarm.go +++ b/sdk/go/tencentcloud/cls/alarm.go @@ -42,6 +42,7 @@ import ( // Number: pulumi.Int(1), // Query: pulumi.String("status:>500 | select count(*) as errorCounts"), // StartTimeOffset: -15, +// SyntaxRule: pulumi.Int(1), // TopicId: pulumi.String("88735a07-bea4-4985-8763-e9deb6da4fad"), // }, // }, diff --git a/sdk/go/tencentcloud/cls/pulumiTypes.go b/sdk/go/tencentcloud/cls/pulumiTypes.go index 3e76ae874..96c0108b1 100644 --- a/sdk/go/tencentcloud/cls/pulumiTypes.go +++ b/sdk/go/tencentcloud/cls/pulumiTypes.go @@ -24,6 +24,8 @@ type AlarmAlarmTarget struct { Query string `pulumi:"query"` // search start time of offset. StartTimeOffset int `pulumi:"startTimeOffset"` + // Retrieve grammar rules, 0: Lucene syntax, 1: CQL syntax, Default value is 0. + SyntaxRule *int `pulumi:"syntaxRule"` // topic id. TopicId string `pulumi:"topicId"` } @@ -50,6 +52,8 @@ type AlarmAlarmTargetArgs struct { Query pulumi.StringInput `pulumi:"query"` // search start time of offset. StartTimeOffset pulumi.IntInput `pulumi:"startTimeOffset"` + // Retrieve grammar rules, 0: Lucene syntax, 1: CQL syntax, Default value is 0. + SyntaxRule pulumi.IntPtrInput `pulumi:"syntaxRule"` // topic id. TopicId pulumi.StringInput `pulumi:"topicId"` } @@ -130,6 +134,11 @@ func (o AlarmAlarmTargetOutput) StartTimeOffset() pulumi.IntOutput { return o.ApplyT(func(v AlarmAlarmTarget) int { return v.StartTimeOffset }).(pulumi.IntOutput) } +// Retrieve grammar rules, 0: Lucene syntax, 1: CQL syntax, Default value is 0. +func (o AlarmAlarmTargetOutput) SyntaxRule() pulumi.IntPtrOutput { + return o.ApplyT(func(v AlarmAlarmTarget) *int { return v.SyntaxRule }).(pulumi.IntPtrOutput) +} + // topic id. func (o AlarmAlarmTargetOutput) TopicId() pulumi.StringOutput { return o.ApplyT(func(v AlarmAlarmTarget) string { return v.TopicId }).(pulumi.StringOutput) diff --git a/sdk/go/tencentcloud/kubernetes/authAttachment.go b/sdk/go/tencentcloud/kubernetes/authAttachment.go index 18bf7edd2..bb4a96d51 100644 --- a/sdk/go/tencentcloud/kubernetes/authAttachment.go +++ b/sdk/go/tencentcloud/kubernetes/authAttachment.go @@ -260,6 +260,14 @@ import ( // // ``` // +// +// ## Import +// +// tke cluster authentication can be imported, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Kubernetes/authAttachment:AuthAttachment test cls-xxx +// ``` type AuthAttachment struct { pulumi.CustomResourceState diff --git a/sdk/go/tencentcloud/kubernetes/cluster.go b/sdk/go/tencentcloud/kubernetes/cluster.go index df7f63ced..9cd72da58 100644 --- a/sdk/go/tencentcloud/kubernetes/cluster.go +++ b/sdk/go/tencentcloud/kubernetes/cluster.go @@ -234,6 +234,14 @@ import ( // // ``` // +// +// ## Import +// +// tke cluster can be imported, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Kubernetes/cluster:Cluster test cls-xxx +// ``` type Cluster struct { pulumi.CustomResourceState @@ -266,13 +274,13 @@ type Cluster struct { // Customized parameters for master component,such as kube-apiserver, kube-controller-manager, kube-scheduler. ClusterExtraArgs ClusterClusterExtraArgsPtrOutput `pulumi:"clusterExtraArgs"` // Open internet access or not. If this field is set 'true', the field below `workerConfig` must be set. Because only cluster with node is allowed enable access endpoint. You may open it through `Kubernetes.ClusterEndpoint`. - ClusterInternet pulumi.BoolOutput `pulumi:"clusterInternet"` + ClusterInternet pulumi.BoolPtrOutput `pulumi:"clusterInternet"` // Domain name for cluster Kube-apiserver internet access. Be careful if you modify value of this parameter, the clusterExternalEndpoint value may be changed automatically too. ClusterInternetDomain pulumi.StringPtrOutput `pulumi:"clusterInternetDomain"` // Specify security group, NOTE: This argument must not be empty if cluster internet enabled. ClusterInternetSecurityGroup pulumi.StringOutput `pulumi:"clusterInternetSecurityGroup"` // Open intranet access or not. If this field is set 'true', the field below `workerConfig` must be set. Because only cluster with node is allowed enable access endpoint. You may open it through `Kubernetes.ClusterEndpoint`. - ClusterIntranet pulumi.BoolOutput `pulumi:"clusterIntranet"` + ClusterIntranet pulumi.BoolPtrOutput `pulumi:"clusterIntranet"` // Domain name for cluster Kube-apiserver intranet access. Be careful if you modify value of this parameter, the pgwEndpoint value may be changed automatically too. ClusterIntranetDomain pulumi.StringPtrOutput `pulumi:"clusterIntranetDomain"` // Subnet id who can access this independent cluster, this field must and can only set when `clusterIntranet` is true. `clusterIntranetSubnetId` can not modify once be set. @@ -289,7 +297,7 @@ type Cluster struct { ClusterName pulumi.StringPtrOutput `pulumi:"clusterName"` // Number of nodes in the cluster. ClusterNodeNum pulumi.IntOutput `pulumi:"clusterNodeNum"` - // Operating system of the cluster, the available values include: 'centos7.6.0_x64','ubuntu18.04.1x86_64','tlinux2.4x86_64'. Default is 'tlinux2.4x86_64'. + // Cluster operating system, supports setting public images (the field passes the corresponding image Name) and custom images (the field passes the corresponding image ID). For details, please refer to: https://cloud.tencent.com/document/product/457/68289. ClusterOs pulumi.StringPtrOutput `pulumi:"clusterOs"` // Image type of the cluster os, the available values include: 'GENERAL'. Default is 'GENERAL'. ClusterOsType pulumi.StringPtrOutput `pulumi:"clusterOsType"` @@ -371,7 +379,7 @@ type Cluster struct { VpcCniType pulumi.StringOutput `pulumi:"vpcCniType"` // Vpc Id of the cluster. VpcId pulumi.StringOutput `pulumi:"vpcId"` - // Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_worker'. + // Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_scale_worker'. WorkerConfigs ClusterWorkerConfigArrayOutput `pulumi:"workerConfigs"` // An information list of cvm within the 'WORKER' clusters. Each element contains the following attributes: WorkerInstancesLists ClusterWorkerInstancesListArrayOutput `pulumi:"workerInstancesLists"` @@ -462,7 +470,7 @@ type clusterState struct { ClusterName *string `pulumi:"clusterName"` // Number of nodes in the cluster. ClusterNodeNum *int `pulumi:"clusterNodeNum"` - // Operating system of the cluster, the available values include: 'centos7.6.0_x64','ubuntu18.04.1x86_64','tlinux2.4x86_64'. Default is 'tlinux2.4x86_64'. + // Cluster operating system, supports setting public images (the field passes the corresponding image Name) and custom images (the field passes the corresponding image ID). For details, please refer to: https://cloud.tencent.com/document/product/457/68289. ClusterOs *string `pulumi:"clusterOs"` // Image type of the cluster os, the available values include: 'GENERAL'. Default is 'GENERAL'. ClusterOsType *string `pulumi:"clusterOsType"` @@ -544,7 +552,7 @@ type clusterState struct { VpcCniType *string `pulumi:"vpcCniType"` // Vpc Id of the cluster. VpcId *string `pulumi:"vpcId"` - // Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_worker'. + // Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_scale_worker'. WorkerConfigs []ClusterWorkerConfig `pulumi:"workerConfigs"` // An information list of cvm within the 'WORKER' clusters. Each element contains the following attributes: WorkerInstancesLists []ClusterWorkerInstancesList `pulumi:"workerInstancesLists"` @@ -603,7 +611,7 @@ type ClusterState struct { ClusterName pulumi.StringPtrInput // Number of nodes in the cluster. ClusterNodeNum pulumi.IntPtrInput - // Operating system of the cluster, the available values include: 'centos7.6.0_x64','ubuntu18.04.1x86_64','tlinux2.4x86_64'. Default is 'tlinux2.4x86_64'. + // Cluster operating system, supports setting public images (the field passes the corresponding image Name) and custom images (the field passes the corresponding image ID). For details, please refer to: https://cloud.tencent.com/document/product/457/68289. ClusterOs pulumi.StringPtrInput // Image type of the cluster os, the available values include: 'GENERAL'. Default is 'GENERAL'. ClusterOsType pulumi.StringPtrInput @@ -685,7 +693,7 @@ type ClusterState struct { VpcCniType pulumi.StringPtrInput // Vpc Id of the cluster. VpcId pulumi.StringPtrInput - // Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_worker'. + // Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_scale_worker'. WorkerConfigs ClusterWorkerConfigArrayInput // An information list of cvm within the 'WORKER' clusters. Each element contains the following attributes: WorkerInstancesLists ClusterWorkerInstancesListArrayInput @@ -738,7 +746,7 @@ type clusterArgs struct { ClusterMaxServiceNum *int `pulumi:"clusterMaxServiceNum"` // Name of the cluster. ClusterName *string `pulumi:"clusterName"` - // Operating system of the cluster, the available values include: 'centos7.6.0_x64','ubuntu18.04.1x86_64','tlinux2.4x86_64'. Default is 'tlinux2.4x86_64'. + // Cluster operating system, supports setting public images (the field passes the corresponding image Name) and custom images (the field passes the corresponding image ID). For details, please refer to: https://cloud.tencent.com/document/product/457/68289. ClusterOs *string `pulumi:"clusterOs"` // Image type of the cluster os, the available values include: 'GENERAL'. Default is 'GENERAL'. ClusterOsType *string `pulumi:"clusterOsType"` @@ -806,7 +814,7 @@ type clusterArgs struct { VpcCniType *string `pulumi:"vpcCniType"` // Vpc Id of the cluster. VpcId string `pulumi:"vpcId"` - // Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_worker'. + // Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_scale_worker'. WorkerConfigs []ClusterWorkerConfig `pulumi:"workerConfigs"` } @@ -854,7 +862,7 @@ type ClusterArgs struct { ClusterMaxServiceNum pulumi.IntPtrInput // Name of the cluster. ClusterName pulumi.StringPtrInput - // Operating system of the cluster, the available values include: 'centos7.6.0_x64','ubuntu18.04.1x86_64','tlinux2.4x86_64'. Default is 'tlinux2.4x86_64'. + // Cluster operating system, supports setting public images (the field passes the corresponding image Name) and custom images (the field passes the corresponding image ID). For details, please refer to: https://cloud.tencent.com/document/product/457/68289. ClusterOs pulumi.StringPtrInput // Image type of the cluster os, the available values include: 'GENERAL'. Default is 'GENERAL'. ClusterOsType pulumi.StringPtrInput @@ -922,7 +930,7 @@ type ClusterArgs struct { VpcCniType pulumi.StringPtrInput // Vpc Id of the cluster. VpcId pulumi.StringInput - // Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_worker'. + // Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_scale_worker'. WorkerConfigs ClusterWorkerConfigArrayInput } @@ -1081,8 +1089,8 @@ func (o ClusterOutput) ClusterExtraArgs() ClusterClusterExtraArgsPtrOutput { } // Open internet access or not. If this field is set 'true', the field below `workerConfig` must be set. Because only cluster with node is allowed enable access endpoint. You may open it through `Kubernetes.ClusterEndpoint`. -func (o ClusterOutput) ClusterInternet() pulumi.BoolOutput { - return o.ApplyT(func(v *Cluster) pulumi.BoolOutput { return v.ClusterInternet }).(pulumi.BoolOutput) +func (o ClusterOutput) ClusterInternet() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Cluster) pulumi.BoolPtrOutput { return v.ClusterInternet }).(pulumi.BoolPtrOutput) } // Domain name for cluster Kube-apiserver internet access. Be careful if you modify value of this parameter, the clusterExternalEndpoint value may be changed automatically too. @@ -1096,8 +1104,8 @@ func (o ClusterOutput) ClusterInternetSecurityGroup() pulumi.StringOutput { } // Open intranet access or not. If this field is set 'true', the field below `workerConfig` must be set. Because only cluster with node is allowed enable access endpoint. You may open it through `Kubernetes.ClusterEndpoint`. -func (o ClusterOutput) ClusterIntranet() pulumi.BoolOutput { - return o.ApplyT(func(v *Cluster) pulumi.BoolOutput { return v.ClusterIntranet }).(pulumi.BoolOutput) +func (o ClusterOutput) ClusterIntranet() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Cluster) pulumi.BoolPtrOutput { return v.ClusterIntranet }).(pulumi.BoolPtrOutput) } // Domain name for cluster Kube-apiserver intranet access. Be careful if you modify value of this parameter, the pgwEndpoint value may be changed automatically too. @@ -1140,7 +1148,7 @@ func (o ClusterOutput) ClusterNodeNum() pulumi.IntOutput { return o.ApplyT(func(v *Cluster) pulumi.IntOutput { return v.ClusterNodeNum }).(pulumi.IntOutput) } -// Operating system of the cluster, the available values include: 'centos7.6.0_x64','ubuntu18.04.1x86_64','tlinux2.4x86_64'. Default is 'tlinux2.4x86_64'. +// Cluster operating system, supports setting public images (the field passes the corresponding image Name) and custom images (the field passes the corresponding image ID). For details, please refer to: https://cloud.tencent.com/document/product/457/68289. func (o ClusterOutput) ClusterOs() pulumi.StringPtrOutput { return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.ClusterOs }).(pulumi.StringPtrOutput) } @@ -1342,7 +1350,7 @@ func (o ClusterOutput) VpcId() pulumi.StringOutput { return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.VpcId }).(pulumi.StringOutput) } -// Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_worker'. +// Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_scale_worker'. func (o ClusterOutput) WorkerConfigs() ClusterWorkerConfigArrayOutput { return o.ApplyT(func(v *Cluster) ClusterWorkerConfigArrayOutput { return v.WorkerConfigs }).(ClusterWorkerConfigArrayOutput) } diff --git a/sdk/go/tencentcloud/kubernetes/getClusterNativeNodePools.go b/sdk/go/tencentcloud/kubernetes/getClusterNativeNodePools.go new file mode 100644 index 000000000..d42da45cd --- /dev/null +++ b/sdk/go/tencentcloud/kubernetes/getClusterNativeNodePools.go @@ -0,0 +1,156 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package kubernetes + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" +) + +// Use this data source to query detailed information of tke kubernetes clusterNativeNodePools +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Kubernetes" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Kubernetes.GetClusterNativeNodePools(ctx, &kubernetes.GetClusterNativeNodePoolsArgs{ +// ClusterId: "cls-eyi0erm0", +// Filters: []kubernetes.GetClusterNativeNodePoolsFilter{ +// { +// Name: "NodePoolsName", +// Values: []string{ +// "native_node_pool", +// }, +// }, +// { +// Name: "NodePoolsId", +// Values: []string{ +// "np-ngjwhdv4", +// }, +// }, +// }, +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +func GetClusterNativeNodePools(ctx *pulumi.Context, args *GetClusterNativeNodePoolsArgs, opts ...pulumi.InvokeOption) (*GetClusterNativeNodePoolsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetClusterNativeNodePoolsResult + err := ctx.Invoke("tencentcloud:Kubernetes/getClusterNativeNodePools:getClusterNativeNodePools", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getClusterNativeNodePools. +type GetClusterNativeNodePoolsArgs struct { + // ID of the cluster. + ClusterId string `pulumi:"clusterId"` + // Query filter conditions: NodePoolsName, Filter according to the node pool name, type: String, required: no. NodePoolsId, Filter according to the node pool ID, type: String, required: no. tags, Filter according to the label key value pairs, type: String, required: no. tag:tag-key, Filter according to the label key value pairs, type: String, required: no. + Filters []GetClusterNativeNodePoolsFilter `pulumi:"filters"` + // Used to save results. + ResultOutputFile *string `pulumi:"resultOutputFile"` +} + +// A collection of values returned by getClusterNativeNodePools. +type GetClusterNativeNodePoolsResult struct { + // ID of the cluster. + ClusterId string `pulumi:"clusterId"` + Filters []GetClusterNativeNodePoolsFilter `pulumi:"filters"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + // Node pool list. + NodePools []GetClusterNativeNodePoolsNodePool `pulumi:"nodePools"` + ResultOutputFile *string `pulumi:"resultOutputFile"` +} + +func GetClusterNativeNodePoolsOutput(ctx *pulumi.Context, args GetClusterNativeNodePoolsOutputArgs, opts ...pulumi.InvokeOption) GetClusterNativeNodePoolsResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetClusterNativeNodePoolsResult, error) { + args := v.(GetClusterNativeNodePoolsArgs) + r, err := GetClusterNativeNodePools(ctx, &args, opts...) + var s GetClusterNativeNodePoolsResult + if r != nil { + s = *r + } + return s, err + }).(GetClusterNativeNodePoolsResultOutput) +} + +// A collection of arguments for invoking getClusterNativeNodePools. +type GetClusterNativeNodePoolsOutputArgs struct { + // ID of the cluster. + ClusterId pulumi.StringInput `pulumi:"clusterId"` + // Query filter conditions: NodePoolsName, Filter according to the node pool name, type: String, required: no. NodePoolsId, Filter according to the node pool ID, type: String, required: no. tags, Filter according to the label key value pairs, type: String, required: no. tag:tag-key, Filter according to the label key value pairs, type: String, required: no. + Filters GetClusterNativeNodePoolsFilterArrayInput `pulumi:"filters"` + // Used to save results. + ResultOutputFile pulumi.StringPtrInput `pulumi:"resultOutputFile"` +} + +func (GetClusterNativeNodePoolsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterNativeNodePoolsArgs)(nil)).Elem() +} + +// A collection of values returned by getClusterNativeNodePools. +type GetClusterNativeNodePoolsResultOutput struct{ *pulumi.OutputState } + +func (GetClusterNativeNodePoolsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterNativeNodePoolsResult)(nil)).Elem() +} + +func (o GetClusterNativeNodePoolsResultOutput) ToGetClusterNativeNodePoolsResultOutput() GetClusterNativeNodePoolsResultOutput { + return o +} + +func (o GetClusterNativeNodePoolsResultOutput) ToGetClusterNativeNodePoolsResultOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsResultOutput { + return o +} + +// ID of the cluster. +func (o GetClusterNativeNodePoolsResultOutput) ClusterId() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsResult) string { return v.ClusterId }).(pulumi.StringOutput) +} + +func (o GetClusterNativeNodePoolsResultOutput) Filters() GetClusterNativeNodePoolsFilterArrayOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsResult) []GetClusterNativeNodePoolsFilter { return v.Filters }).(GetClusterNativeNodePoolsFilterArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetClusterNativeNodePoolsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsResult) string { return v.Id }).(pulumi.StringOutput) +} + +// Node pool list. +func (o GetClusterNativeNodePoolsResultOutput) NodePools() GetClusterNativeNodePoolsNodePoolArrayOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsResult) []GetClusterNativeNodePoolsNodePool { return v.NodePools }).(GetClusterNativeNodePoolsNodePoolArrayOutput) +} + +func (o GetClusterNativeNodePoolsResultOutput) ResultOutputFile() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsResult) *string { return v.ResultOutputFile }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetClusterNativeNodePoolsResultOutput{}) +} diff --git a/sdk/go/tencentcloud/kubernetes/init.go b/sdk/go/tencentcloud/kubernetes/init.go index 606208a9a..227d8f5df 100644 --- a/sdk/go/tencentcloud/kubernetes/init.go +++ b/sdk/go/tencentcloud/kubernetes/init.go @@ -37,6 +37,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &ClusterEndpoint{} case "tencentcloud:Kubernetes/encryptionProtection:EncryptionProtection": r = &EncryptionProtection{} + case "tencentcloud:Kubernetes/nativeNodePool:NativeNodePool": + r = &NativeNodePool{} case "tencentcloud:Kubernetes/nodePool:NodePool": r = &NodePool{} case "tencentcloud:Kubernetes/scaleWorker:ScaleWorker": @@ -96,6 +98,11 @@ func init() { "Kubernetes/encryptionProtection", &module{version}, ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Kubernetes/nativeNodePool", + &module{version}, + ) pulumi.RegisterResourceModule( "tencentcloud", "Kubernetes/nodePool", diff --git a/sdk/go/tencentcloud/kubernetes/nativeNodePool.go b/sdk/go/tencentcloud/kubernetes/nativeNodePool.go new file mode 100644 index 000000000..3e1084fa4 --- /dev/null +++ b/sdk/go/tencentcloud/kubernetes/nativeNodePool.go @@ -0,0 +1,527 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package kubernetes + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" +) + +// Provides a resource to create a tke kubernetesNativeNodePool +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Kubernetes" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Kubernetes.NewNativeNodePool(ctx, "kubernetesNativeNodePool", &Kubernetes.NativeNodePoolArgs{ +// Annotations: kubernetes.NativeNodePoolAnnotationArray{ +// &kubernetes.NativeNodePoolAnnotationArgs{ +// Name: pulumi.String("node.tke.cloud.tencent.com/test-anno"), +// Value: pulumi.String("test"), +// }, +// &kubernetes.NativeNodePoolAnnotationArgs{ +// Name: pulumi.String("node.tke.cloud.tencent.com/test-label"), +// Value: pulumi.String("test"), +// }, +// }, +// ClusterId: pulumi.String("cls-eyier120"), +// DeletionProtection: pulumi.Bool(false), +// Labels: kubernetes.NativeNodePoolLabelArray{ +// &kubernetes.NativeNodePoolLabelArgs{ +// Name: pulumi.String("test11"), +// Value: pulumi.String("test21"), +// }, +// }, +// Native: &kubernetes.NativeNodePoolNativeArgs{ +// AutoRepair: pulumi.Bool(false), +// DataDisks: kubernetes.NativeNodePoolNativeDataDiskArray{ +// &kubernetes.NativeNodePoolNativeDataDiskArgs{ +// AutoFormatAndMount: pulumi.Bool(true), +// DiskSize: pulumi.Int(60), +// DiskType: pulumi.String("CLOUD_PREMIUM"), +// FileSystem: pulumi.String("ext4"), +// MountTarget: pulumi.String("/var/lib/containerd"), +// }, +// }, +// EnableAutoscaling: pulumi.Bool(true), +// HostNamePattern: pulumi.String("aaa{R:3}"), +// InstanceChargePrepaid: &kubernetes.NativeNodePoolNativeInstanceChargePrepaidArgs{ +// Period: pulumi.Int(1), +// RenewFlag: pulumi.String("NOTIFY_AND_MANUAL_RENEW"), +// }, +// InstanceChargeType: pulumi.String("PREPAID"), +// InstanceTypes: pulumi.StringArray{ +// pulumi.String("SA2.MEDIUM2"), +// }, +// InternetAccessible: &kubernetes.NativeNodePoolNativeInternetAccessibleArgs{ +// ChargeType: pulumi.String("TRAFFIC_POSTPAID_BY_HOUR"), +// MaxBandwidthOut: pulumi.Int(50), +// }, +// KeyIds: pulumi.StringArray{ +// pulumi.String("skey-9pcs2100"), +// }, +// KubeletArgs: pulumi.StringArray{ +// pulumi.String("allowed-unsafe-sysctls=net.core.somaxconn"), +// pulumi.String("root-dir=/var/lib/test"), +// }, +// Lifecycle: &kubernetes.NativeNodePoolNativeLifecycleArgs{ +// PostInit: pulumi.String("ZWNobyBoZWxsb3dvcmxk"), +// PreInit: pulumi.String("ZWNobyBoZWxsb3dvcmxk"), +// }, +// Management: &kubernetes.NativeNodePoolNativeManagementArgs{ +// Hosts: pulumi.StringArray{ +// pulumi.String("192.168.2.42 static.fake.com"), +// pulumi.String("192.168.2.42 static.fake.com2"), +// }, +// KernelArgs: pulumi.StringArray{ +// pulumi.String("kernel.pid_max=65535"), +// pulumi.String("fs.file-max=400000"), +// }, +// Nameservers: pulumi.StringArray{ +// pulumi.String("183.60.83.19"), +// pulumi.String("183.60.82.98"), +// }, +// }, +// Replicas: pulumi.Int(2), +// RuntimeRootDir: pulumi.String("/var/lib/docker"), +// Scaling: &kubernetes.NativeNodePoolNativeScalingArgs{ +// CreatePolicy: pulumi.String("ZoneEquality"), +// MaxReplicas: pulumi.Int(10), +// MinReplicas: pulumi.Int(1), +// }, +// SecurityGroupIds: pulumi.StringArray{ +// pulumi.String("sg-7tum9120"), +// }, +// SubnetIds: pulumi.StringArray{ +// pulumi.String("subnet-itb6d123"), +// }, +// SystemDisk: &kubernetes.NativeNodePoolNativeSystemDiskArgs{ +// DiskSize: pulumi.Int(50), +// DiskType: pulumi.String("CLOUD_SSD"), +// }, +// }, +// Tags: kubernetes.NativeNodePoolTagArray{ +// &kubernetes.NativeNodePoolTagArgs{ +// ResourceType: pulumi.String("machine"), +// Tags: kubernetes.NativeNodePoolTagTagArray{ +// &kubernetes.NativeNodePoolTagTagArgs{ +// Key: pulumi.String("keep-test-np1"), +// Value: pulumi.String("test1"), +// }, +// &kubernetes.NativeNodePoolTagTagArgs{ +// Key: pulumi.String("keep-test-np3"), +// Value: pulumi.String("test3"), +// }, +// }, +// }, +// }, +// Taints: kubernetes.NativeNodePoolTaintArray{ +// &kubernetes.NativeNodePoolTaintArgs{ +// Effect: pulumi.String("NoExecute"), +// Key: pulumi.String("product"), +// Value: pulumi.String("coderider"), +// }, +// }, +// Type: pulumi.String("Native"), +// Unschedulable: pulumi.Bool(false), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// tke kubernetes_native_node_pool can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Kubernetes/nativeNodePool:NativeNodePool kubernetes_native_node_pool cls-xxx#np-xxx +// ``` +type NativeNodePool struct { + pulumi.CustomResourceState + + // Node Annotation List. + Annotations NativeNodePoolAnnotationArrayOutput `pulumi:"annotations"` + // ID of the cluster. + ClusterId pulumi.StringOutput `pulumi:"clusterId"` + // Creation time. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // Whether to enable deletion protection. + DeletionProtection pulumi.BoolOutput `pulumi:"deletionProtection"` + // Node Labels. + Labels NativeNodePoolLabelArrayOutput `pulumi:"labels"` + // Node pool status. + LifeState pulumi.StringOutput `pulumi:"lifeState"` + // Node pool name. + Name pulumi.StringOutput `pulumi:"name"` + // Native node pool creation parameters. + Native NativeNodePoolNativeOutput `pulumi:"native"` + // Node tags. + Tags NativeNodePoolTagArrayOutput `pulumi:"tags"` + // Node taint. + Taints NativeNodePoolTaintArrayOutput `pulumi:"taints"` + // Node pool type. Optional value is `Native`. + Type pulumi.StringOutput `pulumi:"type"` + // Whether the node is not schedulable by default. The native node is not aware of it and passes false by default. + Unschedulable pulumi.BoolOutput `pulumi:"unschedulable"` +} + +// NewNativeNodePool registers a new resource with the given unique name, arguments, and options. +func NewNativeNodePool(ctx *pulumi.Context, + name string, args *NativeNodePoolArgs, opts ...pulumi.ResourceOption) (*NativeNodePool, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ClusterId == nil { + return nil, errors.New("invalid value for required argument 'ClusterId'") + } + if args.Native == nil { + return nil, errors.New("invalid value for required argument 'Native'") + } + if args.Type == nil { + return nil, errors.New("invalid value for required argument 'Type'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource NativeNodePool + err := ctx.RegisterResource("tencentcloud:Kubernetes/nativeNodePool:NativeNodePool", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetNativeNodePool gets an existing NativeNodePool resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetNativeNodePool(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *NativeNodePoolState, opts ...pulumi.ResourceOption) (*NativeNodePool, error) { + var resource NativeNodePool + err := ctx.ReadResource("tencentcloud:Kubernetes/nativeNodePool:NativeNodePool", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering NativeNodePool resources. +type nativeNodePoolState struct { + // Node Annotation List. + Annotations []NativeNodePoolAnnotation `pulumi:"annotations"` + // ID of the cluster. + ClusterId *string `pulumi:"clusterId"` + // Creation time. + CreatedAt *string `pulumi:"createdAt"` + // Whether to enable deletion protection. + DeletionProtection *bool `pulumi:"deletionProtection"` + // Node Labels. + Labels []NativeNodePoolLabel `pulumi:"labels"` + // Node pool status. + LifeState *string `pulumi:"lifeState"` + // Node pool name. + Name *string `pulumi:"name"` + // Native node pool creation parameters. + Native *NativeNodePoolNative `pulumi:"native"` + // Node tags. + Tags []NativeNodePoolTag `pulumi:"tags"` + // Node taint. + Taints []NativeNodePoolTaint `pulumi:"taints"` + // Node pool type. Optional value is `Native`. + Type *string `pulumi:"type"` + // Whether the node is not schedulable by default. The native node is not aware of it and passes false by default. + Unschedulable *bool `pulumi:"unschedulable"` +} + +type NativeNodePoolState struct { + // Node Annotation List. + Annotations NativeNodePoolAnnotationArrayInput + // ID of the cluster. + ClusterId pulumi.StringPtrInput + // Creation time. + CreatedAt pulumi.StringPtrInput + // Whether to enable deletion protection. + DeletionProtection pulumi.BoolPtrInput + // Node Labels. + Labels NativeNodePoolLabelArrayInput + // Node pool status. + LifeState pulumi.StringPtrInput + // Node pool name. + Name pulumi.StringPtrInput + // Native node pool creation parameters. + Native NativeNodePoolNativePtrInput + // Node tags. + Tags NativeNodePoolTagArrayInput + // Node taint. + Taints NativeNodePoolTaintArrayInput + // Node pool type. Optional value is `Native`. + Type pulumi.StringPtrInput + // Whether the node is not schedulable by default. The native node is not aware of it and passes false by default. + Unschedulable pulumi.BoolPtrInput +} + +func (NativeNodePoolState) ElementType() reflect.Type { + return reflect.TypeOf((*nativeNodePoolState)(nil)).Elem() +} + +type nativeNodePoolArgs struct { + // Node Annotation List. + Annotations []NativeNodePoolAnnotation `pulumi:"annotations"` + // ID of the cluster. + ClusterId string `pulumi:"clusterId"` + // Whether to enable deletion protection. + DeletionProtection *bool `pulumi:"deletionProtection"` + // Node Labels. + Labels []NativeNodePoolLabel `pulumi:"labels"` + // Node pool name. + Name *string `pulumi:"name"` + // Native node pool creation parameters. + Native NativeNodePoolNative `pulumi:"native"` + // Node tags. + Tags []NativeNodePoolTag `pulumi:"tags"` + // Node taint. + Taints []NativeNodePoolTaint `pulumi:"taints"` + // Node pool type. Optional value is `Native`. + Type string `pulumi:"type"` + // Whether the node is not schedulable by default. The native node is not aware of it and passes false by default. + Unschedulable *bool `pulumi:"unschedulable"` +} + +// The set of arguments for constructing a NativeNodePool resource. +type NativeNodePoolArgs struct { + // Node Annotation List. + Annotations NativeNodePoolAnnotationArrayInput + // ID of the cluster. + ClusterId pulumi.StringInput + // Whether to enable deletion protection. + DeletionProtection pulumi.BoolPtrInput + // Node Labels. + Labels NativeNodePoolLabelArrayInput + // Node pool name. + Name pulumi.StringPtrInput + // Native node pool creation parameters. + Native NativeNodePoolNativeInput + // Node tags. + Tags NativeNodePoolTagArrayInput + // Node taint. + Taints NativeNodePoolTaintArrayInput + // Node pool type. Optional value is `Native`. + Type pulumi.StringInput + // Whether the node is not schedulable by default. The native node is not aware of it and passes false by default. + Unschedulable pulumi.BoolPtrInput +} + +func (NativeNodePoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*nativeNodePoolArgs)(nil)).Elem() +} + +type NativeNodePoolInput interface { + pulumi.Input + + ToNativeNodePoolOutput() NativeNodePoolOutput + ToNativeNodePoolOutputWithContext(ctx context.Context) NativeNodePoolOutput +} + +func (*NativeNodePool) ElementType() reflect.Type { + return reflect.TypeOf((**NativeNodePool)(nil)).Elem() +} + +func (i *NativeNodePool) ToNativeNodePoolOutput() NativeNodePoolOutput { + return i.ToNativeNodePoolOutputWithContext(context.Background()) +} + +func (i *NativeNodePool) ToNativeNodePoolOutputWithContext(ctx context.Context) NativeNodePoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(NativeNodePoolOutput) +} + +// NativeNodePoolArrayInput is an input type that accepts NativeNodePoolArray and NativeNodePoolArrayOutput values. +// You can construct a concrete instance of `NativeNodePoolArrayInput` via: +// +// NativeNodePoolArray{ NativeNodePoolArgs{...} } +type NativeNodePoolArrayInput interface { + pulumi.Input + + ToNativeNodePoolArrayOutput() NativeNodePoolArrayOutput + ToNativeNodePoolArrayOutputWithContext(context.Context) NativeNodePoolArrayOutput +} + +type NativeNodePoolArray []NativeNodePoolInput + +func (NativeNodePoolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*NativeNodePool)(nil)).Elem() +} + +func (i NativeNodePoolArray) ToNativeNodePoolArrayOutput() NativeNodePoolArrayOutput { + return i.ToNativeNodePoolArrayOutputWithContext(context.Background()) +} + +func (i NativeNodePoolArray) ToNativeNodePoolArrayOutputWithContext(ctx context.Context) NativeNodePoolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NativeNodePoolArrayOutput) +} + +// NativeNodePoolMapInput is an input type that accepts NativeNodePoolMap and NativeNodePoolMapOutput values. +// You can construct a concrete instance of `NativeNodePoolMapInput` via: +// +// NativeNodePoolMap{ "key": NativeNodePoolArgs{...} } +type NativeNodePoolMapInput interface { + pulumi.Input + + ToNativeNodePoolMapOutput() NativeNodePoolMapOutput + ToNativeNodePoolMapOutputWithContext(context.Context) NativeNodePoolMapOutput +} + +type NativeNodePoolMap map[string]NativeNodePoolInput + +func (NativeNodePoolMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*NativeNodePool)(nil)).Elem() +} + +func (i NativeNodePoolMap) ToNativeNodePoolMapOutput() NativeNodePoolMapOutput { + return i.ToNativeNodePoolMapOutputWithContext(context.Background()) +} + +func (i NativeNodePoolMap) ToNativeNodePoolMapOutputWithContext(ctx context.Context) NativeNodePoolMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(NativeNodePoolMapOutput) +} + +type NativeNodePoolOutput struct{ *pulumi.OutputState } + +func (NativeNodePoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NativeNodePool)(nil)).Elem() +} + +func (o NativeNodePoolOutput) ToNativeNodePoolOutput() NativeNodePoolOutput { + return o +} + +func (o NativeNodePoolOutput) ToNativeNodePoolOutputWithContext(ctx context.Context) NativeNodePoolOutput { + return o +} + +// Node Annotation List. +func (o NativeNodePoolOutput) Annotations() NativeNodePoolAnnotationArrayOutput { + return o.ApplyT(func(v *NativeNodePool) NativeNodePoolAnnotationArrayOutput { return v.Annotations }).(NativeNodePoolAnnotationArrayOutput) +} + +// ID of the cluster. +func (o NativeNodePoolOutput) ClusterId() pulumi.StringOutput { + return o.ApplyT(func(v *NativeNodePool) pulumi.StringOutput { return v.ClusterId }).(pulumi.StringOutput) +} + +// Creation time. +func (o NativeNodePoolOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *NativeNodePool) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// Whether to enable deletion protection. +func (o NativeNodePoolOutput) DeletionProtection() pulumi.BoolOutput { + return o.ApplyT(func(v *NativeNodePool) pulumi.BoolOutput { return v.DeletionProtection }).(pulumi.BoolOutput) +} + +// Node Labels. +func (o NativeNodePoolOutput) Labels() NativeNodePoolLabelArrayOutput { + return o.ApplyT(func(v *NativeNodePool) NativeNodePoolLabelArrayOutput { return v.Labels }).(NativeNodePoolLabelArrayOutput) +} + +// Node pool status. +func (o NativeNodePoolOutput) LifeState() pulumi.StringOutput { + return o.ApplyT(func(v *NativeNodePool) pulumi.StringOutput { return v.LifeState }).(pulumi.StringOutput) +} + +// Node pool name. +func (o NativeNodePoolOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *NativeNodePool) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Native node pool creation parameters. +func (o NativeNodePoolOutput) Native() NativeNodePoolNativeOutput { + return o.ApplyT(func(v *NativeNodePool) NativeNodePoolNativeOutput { return v.Native }).(NativeNodePoolNativeOutput) +} + +// Node tags. +func (o NativeNodePoolOutput) Tags() NativeNodePoolTagArrayOutput { + return o.ApplyT(func(v *NativeNodePool) NativeNodePoolTagArrayOutput { return v.Tags }).(NativeNodePoolTagArrayOutput) +} + +// Node taint. +func (o NativeNodePoolOutput) Taints() NativeNodePoolTaintArrayOutput { + return o.ApplyT(func(v *NativeNodePool) NativeNodePoolTaintArrayOutput { return v.Taints }).(NativeNodePoolTaintArrayOutput) +} + +// Node pool type. Optional value is `Native`. +func (o NativeNodePoolOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v *NativeNodePool) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput) +} + +// Whether the node is not schedulable by default. The native node is not aware of it and passes false by default. +func (o NativeNodePoolOutput) Unschedulable() pulumi.BoolOutput { + return o.ApplyT(func(v *NativeNodePool) pulumi.BoolOutput { return v.Unschedulable }).(pulumi.BoolOutput) +} + +type NativeNodePoolArrayOutput struct{ *pulumi.OutputState } + +func (NativeNodePoolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*NativeNodePool)(nil)).Elem() +} + +func (o NativeNodePoolArrayOutput) ToNativeNodePoolArrayOutput() NativeNodePoolArrayOutput { + return o +} + +func (o NativeNodePoolArrayOutput) ToNativeNodePoolArrayOutputWithContext(ctx context.Context) NativeNodePoolArrayOutput { + return o +} + +func (o NativeNodePoolArrayOutput) Index(i pulumi.IntInput) NativeNodePoolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *NativeNodePool { + return vs[0].([]*NativeNodePool)[vs[1].(int)] + }).(NativeNodePoolOutput) +} + +type NativeNodePoolMapOutput struct{ *pulumi.OutputState } + +func (NativeNodePoolMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*NativeNodePool)(nil)).Elem() +} + +func (o NativeNodePoolMapOutput) ToNativeNodePoolMapOutput() NativeNodePoolMapOutput { + return o +} + +func (o NativeNodePoolMapOutput) ToNativeNodePoolMapOutputWithContext(ctx context.Context) NativeNodePoolMapOutput { + return o +} + +func (o NativeNodePoolMapOutput) MapIndex(k pulumi.StringInput) NativeNodePoolOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *NativeNodePool { + return vs[0].(map[string]*NativeNodePool)[vs[1].(string)] + }).(NativeNodePoolOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*NativeNodePoolInput)(nil)).Elem(), &NativeNodePool{}) + pulumi.RegisterInputType(reflect.TypeOf((*NativeNodePoolArrayInput)(nil)).Elem(), NativeNodePoolArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*NativeNodePoolMapInput)(nil)).Elem(), NativeNodePoolMap{}) + pulumi.RegisterOutputType(NativeNodePoolOutput{}) + pulumi.RegisterOutputType(NativeNodePoolArrayOutput{}) + pulumi.RegisterOutputType(NativeNodePoolMapOutput{}) +} diff --git a/sdk/go/tencentcloud/kubernetes/pulumiTypes.go b/sdk/go/tencentcloud/kubernetes/pulumiTypes.go index fb85e9f72..2bc2072e4 100644 --- a/sdk/go/tencentcloud/kubernetes/pulumiTypes.go +++ b/sdk/go/tencentcloud/kubernetes/pulumiTypes.go @@ -2599,7 +2599,7 @@ type ClusterMasterConfig struct { Hostname *string `pulumi:"hostname"` // Id of cvm hpc cluster. HpcClusterId *string `pulumi:"hpcClusterId"` - // The valid image id, format of img-xxx. + // The valid image id, format of img-xxx. Note: `imgId` will be replaced with the image corresponding to TKE `clusterOs`. ImgId *string `pulumi:"imgId"` // The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. Note: TencentCloud International only supports `POSTPAID_BY_HOUR`, `PREPAID` instance will not terminated after cluster deleted, and may not allow to delete before expired. InstanceChargeType *string `pulumi:"instanceChargeType"` @@ -2629,7 +2629,7 @@ type ClusterMasterConfig struct { SystemDiskSize *int `pulumi:"systemDiskSize"` // System disk type. For more information on limits of system disk types, see [Storage Overview](https://intl.cloud.tencent.com/document/product/213/4952). Valid values: `LOCAL_BASIC`: local disk, `LOCAL_SSD`: local SSD disk, `CLOUD_SSD`: SSD, `CLOUD_PREMIUM`: Premium Cloud Storage. NOTE: `CLOUD_BASIC`, `LOCAL_BASIC` and `LOCAL_SSD` are deprecated. SystemDiskType *string `pulumi:"systemDiskType"` - // User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB. + // ase64-encoded User Data text, the length limit is 16KB. UserData *string `pulumi:"userData"` } @@ -2667,7 +2667,7 @@ type ClusterMasterConfigArgs struct { Hostname pulumi.StringPtrInput `pulumi:"hostname"` // Id of cvm hpc cluster. HpcClusterId pulumi.StringPtrInput `pulumi:"hpcClusterId"` - // The valid image id, format of img-xxx. + // The valid image id, format of img-xxx. Note: `imgId` will be replaced with the image corresponding to TKE `clusterOs`. ImgId pulumi.StringPtrInput `pulumi:"imgId"` // The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. Note: TencentCloud International only supports `POSTPAID_BY_HOUR`, `PREPAID` instance will not terminated after cluster deleted, and may not allow to delete before expired. InstanceChargeType pulumi.StringPtrInput `pulumi:"instanceChargeType"` @@ -2697,7 +2697,7 @@ type ClusterMasterConfigArgs struct { SystemDiskSize pulumi.IntPtrInput `pulumi:"systemDiskSize"` // System disk type. For more information on limits of system disk types, see [Storage Overview](https://intl.cloud.tencent.com/document/product/213/4952). Valid values: `LOCAL_BASIC`: local disk, `LOCAL_SSD`: local SSD disk, `CLOUD_SSD`: SSD, `CLOUD_PREMIUM`: Premium Cloud Storage. NOTE: `CLOUD_BASIC`, `LOCAL_BASIC` and `LOCAL_SSD` are deprecated. SystemDiskType pulumi.StringPtrInput `pulumi:"systemDiskType"` - // User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB. + // ase64-encoded User Data text, the length limit is 16KB. UserData pulumi.StringPtrInput `pulumi:"userData"` } @@ -2807,7 +2807,7 @@ func (o ClusterMasterConfigOutput) HpcClusterId() pulumi.StringPtrOutput { return o.ApplyT(func(v ClusterMasterConfig) *string { return v.HpcClusterId }).(pulumi.StringPtrOutput) } -// The valid image id, format of img-xxx. +// The valid image id, format of img-xxx. Note: `imgId` will be replaced with the image corresponding to TKE `clusterOs`. func (o ClusterMasterConfigOutput) ImgId() pulumi.StringPtrOutput { return o.ApplyT(func(v ClusterMasterConfig) *string { return v.ImgId }).(pulumi.StringPtrOutput) } @@ -2882,7 +2882,7 @@ func (o ClusterMasterConfigOutput) SystemDiskType() pulumi.StringPtrOutput { return o.ApplyT(func(v ClusterMasterConfig) *string { return v.SystemDiskType }).(pulumi.StringPtrOutput) } -// User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB. +// ase64-encoded User Data text, the length limit is 16KB. func (o ClusterMasterConfigOutput) UserData() pulumi.StringPtrOutput { return o.ApplyT(func(v ClusterMasterConfig) *string { return v.UserData }).(pulumi.StringPtrOutput) } @@ -3268,7 +3268,7 @@ type ClusterWorkerConfig struct { Hostname *string `pulumi:"hostname"` // Id of cvm hpc cluster. HpcClusterId *string `pulumi:"hpcClusterId"` - // The valid image id, format of img-xxx. + // The valid image id, format of img-xxx. Note: `imgId` will be replaced with the image corresponding to TKE `clusterOs`. ImgId *string `pulumi:"imgId"` // The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. Note: TencentCloud International only supports `POSTPAID_BY_HOUR`, `PREPAID` instance will not terminated after cluster deleted, and may not allow to delete before expired. InstanceChargeType *string `pulumi:"instanceChargeType"` @@ -3298,7 +3298,7 @@ type ClusterWorkerConfig struct { SystemDiskSize *int `pulumi:"systemDiskSize"` // System disk type. For more information on limits of system disk types, see [Storage Overview](https://intl.cloud.tencent.com/document/product/213/4952). Valid values: `LOCAL_BASIC`: local disk, `LOCAL_SSD`: local SSD disk, `CLOUD_SSD`: SSD, `CLOUD_PREMIUM`: Premium Cloud Storage. NOTE: `CLOUD_BASIC`, `LOCAL_BASIC` and `LOCAL_SSD` are deprecated. SystemDiskType *string `pulumi:"systemDiskType"` - // User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB. + // ase64-encoded User Data text, the length limit is 16KB. UserData *string `pulumi:"userData"` } @@ -3336,7 +3336,7 @@ type ClusterWorkerConfigArgs struct { Hostname pulumi.StringPtrInput `pulumi:"hostname"` // Id of cvm hpc cluster. HpcClusterId pulumi.StringPtrInput `pulumi:"hpcClusterId"` - // The valid image id, format of img-xxx. + // The valid image id, format of img-xxx. Note: `imgId` will be replaced with the image corresponding to TKE `clusterOs`. ImgId pulumi.StringPtrInput `pulumi:"imgId"` // The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. Note: TencentCloud International only supports `POSTPAID_BY_HOUR`, `PREPAID` instance will not terminated after cluster deleted, and may not allow to delete before expired. InstanceChargeType pulumi.StringPtrInput `pulumi:"instanceChargeType"` @@ -3366,7 +3366,7 @@ type ClusterWorkerConfigArgs struct { SystemDiskSize pulumi.IntPtrInput `pulumi:"systemDiskSize"` // System disk type. For more information on limits of system disk types, see [Storage Overview](https://intl.cloud.tencent.com/document/product/213/4952). Valid values: `LOCAL_BASIC`: local disk, `LOCAL_SSD`: local SSD disk, `CLOUD_SSD`: SSD, `CLOUD_PREMIUM`: Premium Cloud Storage. NOTE: `CLOUD_BASIC`, `LOCAL_BASIC` and `LOCAL_SSD` are deprecated. SystemDiskType pulumi.StringPtrInput `pulumi:"systemDiskType"` - // User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB. + // ase64-encoded User Data text, the length limit is 16KB. UserData pulumi.StringPtrInput `pulumi:"userData"` } @@ -3476,7 +3476,7 @@ func (o ClusterWorkerConfigOutput) HpcClusterId() pulumi.StringPtrOutput { return o.ApplyT(func(v ClusterWorkerConfig) *string { return v.HpcClusterId }).(pulumi.StringPtrOutput) } -// The valid image id, format of img-xxx. +// The valid image id, format of img-xxx. Note: `imgId` will be replaced with the image corresponding to TKE `clusterOs`. func (o ClusterWorkerConfigOutput) ImgId() pulumi.StringPtrOutput { return o.ApplyT(func(v ClusterWorkerConfig) *string { return v.ImgId }).(pulumi.StringPtrOutput) } @@ -3551,7 +3551,7 @@ func (o ClusterWorkerConfigOutput) SystemDiskType() pulumi.StringPtrOutput { return o.ApplyT(func(v ClusterWorkerConfig) *string { return v.SystemDiskType }).(pulumi.StringPtrOutput) } -// User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB. +// ase64-encoded User Data text, the length limit is 16KB. func (o ClusterWorkerConfigOutput) UserData() pulumi.StringPtrOutput { return o.ApplyT(func(v ClusterWorkerConfig) *string { return v.UserData }).(pulumi.StringPtrOutput) } @@ -4034,499 +4034,602 @@ func (o EncryptionProtectionKmsConfigurationPtrOutput) KmsRegion() pulumi.String }).(pulumi.StringPtrOutput) } -type NodePoolAutoScalingConfig struct { - // Backup CVM instance types if specified instance type sold out or mismatch. - BackupInstanceTypes []string `pulumi:"backupInstanceTypes"` - // bandwidth package id. if user is standard user, then the bandwidthPackageId is needed, or default has bandwidth_package_id. - BandwidthPackageId *string `pulumi:"bandwidthPackageId"` - // Name of cam role. - CamRoleName *string `pulumi:"camRoleName"` - // Configurations of data disk. - DataDisks []NodePoolAutoScalingConfigDataDisk `pulumi:"dataDisks"` - // To specify whether to enable cloud monitor service. Default is TRUE. - EnhancedMonitorService *bool `pulumi:"enhancedMonitorService"` - // To specify whether to enable cloud security service. Default is TRUE. - EnhancedSecurityService *bool `pulumi:"enhancedSecurityService"` - // The hostname of the cloud server, dot (.) and dash (-) cannot be used as the first and last characters of HostName and cannot be used consecutively. Windows instances are not supported. Examples of other types (Linux, etc.): The character length is [2, 40], multiple periods are allowed, and there is a paragraph between the dots, and each paragraph is allowed to consist of letters (unlimited case), numbers and dashes (-). Pure numbers are not allowed. For usage, refer to `HostNameSettings` in https://www.tencentcloud.com/document/product/377/31001. - HostName *string `pulumi:"hostName"` - // The style of the host name of the cloud server, the value range includes ORIGINAL and UNIQUE, and the default is ORIGINAL. For usage, refer to `HostNameSettings` in https://www.tencentcloud.com/document/product/377/31001. - HostNameStyle *string `pulumi:"hostNameStyle"` - // Charge type of instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `SPOTPAID`. The default is `POSTPAID_BY_HOUR`. NOTE: `SPOTPAID` instance must set `spotInstanceType` and `spotMaxPrice` at the same time. - InstanceChargeType *string `pulumi:"instanceChargeType"` - // The tenancy (in month) of the prepaid instance, NOTE: it only works when instanceChargeType is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. - InstanceChargeTypePrepaidPeriod *int `pulumi:"instanceChargeTypePrepaidPeriod"` - // Auto renewal flag. Valid values: `NOTIFY_AND_AUTO_RENEW`: notify upon expiration and renew automatically, `NOTIFY_AND_MANUAL_RENEW`: notify upon expiration but do not renew automatically, `DISABLE_NOTIFY_AND_MANUAL_RENEW`: neither notify upon expiration nor renew automatically. Default value: `NOTIFY_AND_MANUAL_RENEW`. If this parameter is specified as `NOTIFY_AND_AUTO_RENEW`, the instance will be automatically renewed on a monthly basis if the account balance is sufficient. NOTE: it only works when instanceChargeType is set to `PREPAID`. - InstanceChargeTypePrepaidRenewFlag *string `pulumi:"instanceChargeTypePrepaidRenewFlag"` - // Instance name, no more than 60 characters. For usage, refer to `InstanceNameSettings` in https://www.tencentcloud.com/document/product/377/31001. - InstanceName *string `pulumi:"instanceName"` - // Specified types of CVM instance. - InstanceType string `pulumi:"instanceType"` - // Charge types for network traffic. Valid value: `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. - InternetChargeType *string `pulumi:"internetChargeType"` - // Max bandwidth of Internet access in Mbps. Default is `0`. - InternetMaxBandwidthOut *int `pulumi:"internetMaxBandwidthOut"` - // ID list of keys. - KeyIds []string `pulumi:"keyIds"` - // Ordered security groups to which a CVM instance belongs. - OrderlySecurityGroupIds []string `pulumi:"orderlySecurityGroupIds"` - // Password to access. - Password *string `pulumi:"password"` - // Specify whether to assign an Internet IP address. - PublicIpAssigned *bool `pulumi:"publicIpAssigned"` - // The order of elements in this field cannot be guaranteed. Use `orderlySecurityGroupIds` instead. Security groups to which a CVM instance belongs. - // - // Deprecated: The order of elements in this field cannot be guaranteed. Use `orderlySecurityGroupIds` instead. - SecurityGroupIds []string `pulumi:"securityGroupIds"` - // Type of spot instance, only support `one-time` now. Note: it only works when instanceChargeType is set to `SPOTPAID`. - SpotInstanceType *string `pulumi:"spotInstanceType"` - // Max price of a spot instance, is the format of decimal string, for example "0.50". Note: it only works when instanceChargeType is set to `SPOTPAID`. - SpotMaxPrice *string `pulumi:"spotMaxPrice"` - // Volume of system disk in GB. Default is `50`. - SystemDiskSize *int `pulumi:"systemDiskSize"` - // Type of a CVM disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. Default is `CLOUD_PREMIUM`. - SystemDiskType *string `pulumi:"systemDiskType"` +type NativeNodePoolAnnotation struct { + // Name in the map table. + Name string `pulumi:"name"` + // Value in the map table. + Value string `pulumi:"value"` } -// NodePoolAutoScalingConfigInput is an input type that accepts NodePoolAutoScalingConfigArgs and NodePoolAutoScalingConfigOutput values. -// You can construct a concrete instance of `NodePoolAutoScalingConfigInput` via: +// NativeNodePoolAnnotationInput is an input type that accepts NativeNodePoolAnnotationArgs and NativeNodePoolAnnotationOutput values. +// You can construct a concrete instance of `NativeNodePoolAnnotationInput` via: // -// NodePoolAutoScalingConfigArgs{...} -type NodePoolAutoScalingConfigInput interface { +// NativeNodePoolAnnotationArgs{...} +type NativeNodePoolAnnotationInput interface { pulumi.Input - ToNodePoolAutoScalingConfigOutput() NodePoolAutoScalingConfigOutput - ToNodePoolAutoScalingConfigOutputWithContext(context.Context) NodePoolAutoScalingConfigOutput + ToNativeNodePoolAnnotationOutput() NativeNodePoolAnnotationOutput + ToNativeNodePoolAnnotationOutputWithContext(context.Context) NativeNodePoolAnnotationOutput } -type NodePoolAutoScalingConfigArgs struct { - // Backup CVM instance types if specified instance type sold out or mismatch. - BackupInstanceTypes pulumi.StringArrayInput `pulumi:"backupInstanceTypes"` - // bandwidth package id. if user is standard user, then the bandwidthPackageId is needed, or default has bandwidth_package_id. - BandwidthPackageId pulumi.StringPtrInput `pulumi:"bandwidthPackageId"` - // Name of cam role. - CamRoleName pulumi.StringPtrInput `pulumi:"camRoleName"` - // Configurations of data disk. - DataDisks NodePoolAutoScalingConfigDataDiskArrayInput `pulumi:"dataDisks"` - // To specify whether to enable cloud monitor service. Default is TRUE. - EnhancedMonitorService pulumi.BoolPtrInput `pulumi:"enhancedMonitorService"` - // To specify whether to enable cloud security service. Default is TRUE. - EnhancedSecurityService pulumi.BoolPtrInput `pulumi:"enhancedSecurityService"` - // The hostname of the cloud server, dot (.) and dash (-) cannot be used as the first and last characters of HostName and cannot be used consecutively. Windows instances are not supported. Examples of other types (Linux, etc.): The character length is [2, 40], multiple periods are allowed, and there is a paragraph between the dots, and each paragraph is allowed to consist of letters (unlimited case), numbers and dashes (-). Pure numbers are not allowed. For usage, refer to `HostNameSettings` in https://www.tencentcloud.com/document/product/377/31001. - HostName pulumi.StringPtrInput `pulumi:"hostName"` - // The style of the host name of the cloud server, the value range includes ORIGINAL and UNIQUE, and the default is ORIGINAL. For usage, refer to `HostNameSettings` in https://www.tencentcloud.com/document/product/377/31001. - HostNameStyle pulumi.StringPtrInput `pulumi:"hostNameStyle"` - // Charge type of instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `SPOTPAID`. The default is `POSTPAID_BY_HOUR`. NOTE: `SPOTPAID` instance must set `spotInstanceType` and `spotMaxPrice` at the same time. - InstanceChargeType pulumi.StringPtrInput `pulumi:"instanceChargeType"` - // The tenancy (in month) of the prepaid instance, NOTE: it only works when instanceChargeType is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. - InstanceChargeTypePrepaidPeriod pulumi.IntPtrInput `pulumi:"instanceChargeTypePrepaidPeriod"` - // Auto renewal flag. Valid values: `NOTIFY_AND_AUTO_RENEW`: notify upon expiration and renew automatically, `NOTIFY_AND_MANUAL_RENEW`: notify upon expiration but do not renew automatically, `DISABLE_NOTIFY_AND_MANUAL_RENEW`: neither notify upon expiration nor renew automatically. Default value: `NOTIFY_AND_MANUAL_RENEW`. If this parameter is specified as `NOTIFY_AND_AUTO_RENEW`, the instance will be automatically renewed on a monthly basis if the account balance is sufficient. NOTE: it only works when instanceChargeType is set to `PREPAID`. - InstanceChargeTypePrepaidRenewFlag pulumi.StringPtrInput `pulumi:"instanceChargeTypePrepaidRenewFlag"` - // Instance name, no more than 60 characters. For usage, refer to `InstanceNameSettings` in https://www.tencentcloud.com/document/product/377/31001. - InstanceName pulumi.StringPtrInput `pulumi:"instanceName"` - // Specified types of CVM instance. - InstanceType pulumi.StringInput `pulumi:"instanceType"` - // Charge types for network traffic. Valid value: `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. - InternetChargeType pulumi.StringPtrInput `pulumi:"internetChargeType"` - // Max bandwidth of Internet access in Mbps. Default is `0`. - InternetMaxBandwidthOut pulumi.IntPtrInput `pulumi:"internetMaxBandwidthOut"` - // ID list of keys. - KeyIds pulumi.StringArrayInput `pulumi:"keyIds"` - // Ordered security groups to which a CVM instance belongs. - OrderlySecurityGroupIds pulumi.StringArrayInput `pulumi:"orderlySecurityGroupIds"` - // Password to access. - Password pulumi.StringPtrInput `pulumi:"password"` - // Specify whether to assign an Internet IP address. - PublicIpAssigned pulumi.BoolPtrInput `pulumi:"publicIpAssigned"` - // The order of elements in this field cannot be guaranteed. Use `orderlySecurityGroupIds` instead. Security groups to which a CVM instance belongs. - // - // Deprecated: The order of elements in this field cannot be guaranteed. Use `orderlySecurityGroupIds` instead. - SecurityGroupIds pulumi.StringArrayInput `pulumi:"securityGroupIds"` - // Type of spot instance, only support `one-time` now. Note: it only works when instanceChargeType is set to `SPOTPAID`. - SpotInstanceType pulumi.StringPtrInput `pulumi:"spotInstanceType"` - // Max price of a spot instance, is the format of decimal string, for example "0.50". Note: it only works when instanceChargeType is set to `SPOTPAID`. - SpotMaxPrice pulumi.StringPtrInput `pulumi:"spotMaxPrice"` - // Volume of system disk in GB. Default is `50`. - SystemDiskSize pulumi.IntPtrInput `pulumi:"systemDiskSize"` - // Type of a CVM disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. Default is `CLOUD_PREMIUM`. - SystemDiskType pulumi.StringPtrInput `pulumi:"systemDiskType"` +type NativeNodePoolAnnotationArgs struct { + // Name in the map table. + Name pulumi.StringInput `pulumi:"name"` + // Value in the map table. + Value pulumi.StringInput `pulumi:"value"` } -func (NodePoolAutoScalingConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NodePoolAutoScalingConfig)(nil)).Elem() +func (NativeNodePoolAnnotationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NativeNodePoolAnnotation)(nil)).Elem() } -func (i NodePoolAutoScalingConfigArgs) ToNodePoolAutoScalingConfigOutput() NodePoolAutoScalingConfigOutput { - return i.ToNodePoolAutoScalingConfigOutputWithContext(context.Background()) +func (i NativeNodePoolAnnotationArgs) ToNativeNodePoolAnnotationOutput() NativeNodePoolAnnotationOutput { + return i.ToNativeNodePoolAnnotationOutputWithContext(context.Background()) } -func (i NodePoolAutoScalingConfigArgs) ToNodePoolAutoScalingConfigOutputWithContext(ctx context.Context) NodePoolAutoScalingConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodePoolAutoScalingConfigOutput) +func (i NativeNodePoolAnnotationArgs) ToNativeNodePoolAnnotationOutputWithContext(ctx context.Context) NativeNodePoolAnnotationOutput { + return pulumi.ToOutputWithContext(ctx, i).(NativeNodePoolAnnotationOutput) } -func (i NodePoolAutoScalingConfigArgs) ToNodePoolAutoScalingConfigPtrOutput() NodePoolAutoScalingConfigPtrOutput { - return i.ToNodePoolAutoScalingConfigPtrOutputWithContext(context.Background()) +// NativeNodePoolAnnotationArrayInput is an input type that accepts NativeNodePoolAnnotationArray and NativeNodePoolAnnotationArrayOutput values. +// You can construct a concrete instance of `NativeNodePoolAnnotationArrayInput` via: +// +// NativeNodePoolAnnotationArray{ NativeNodePoolAnnotationArgs{...} } +type NativeNodePoolAnnotationArrayInput interface { + pulumi.Input + + ToNativeNodePoolAnnotationArrayOutput() NativeNodePoolAnnotationArrayOutput + ToNativeNodePoolAnnotationArrayOutputWithContext(context.Context) NativeNodePoolAnnotationArrayOutput } -func (i NodePoolAutoScalingConfigArgs) ToNodePoolAutoScalingConfigPtrOutputWithContext(ctx context.Context) NodePoolAutoScalingConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodePoolAutoScalingConfigOutput).ToNodePoolAutoScalingConfigPtrOutputWithContext(ctx) +type NativeNodePoolAnnotationArray []NativeNodePoolAnnotationInput + +func (NativeNodePoolAnnotationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NativeNodePoolAnnotation)(nil)).Elem() } -// NodePoolAutoScalingConfigPtrInput is an input type that accepts NodePoolAutoScalingConfigArgs, NodePoolAutoScalingConfigPtr and NodePoolAutoScalingConfigPtrOutput values. -// You can construct a concrete instance of `NodePoolAutoScalingConfigPtrInput` via: -// -// NodePoolAutoScalingConfigArgs{...} -// -// or: -// -// nil -type NodePoolAutoScalingConfigPtrInput interface { - pulumi.Input +func (i NativeNodePoolAnnotationArray) ToNativeNodePoolAnnotationArrayOutput() NativeNodePoolAnnotationArrayOutput { + return i.ToNativeNodePoolAnnotationArrayOutputWithContext(context.Background()) +} - ToNodePoolAutoScalingConfigPtrOutput() NodePoolAutoScalingConfigPtrOutput - ToNodePoolAutoScalingConfigPtrOutputWithContext(context.Context) NodePoolAutoScalingConfigPtrOutput +func (i NativeNodePoolAnnotationArray) ToNativeNodePoolAnnotationArrayOutputWithContext(ctx context.Context) NativeNodePoolAnnotationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NativeNodePoolAnnotationArrayOutput) } -type nodePoolAutoScalingConfigPtrType NodePoolAutoScalingConfigArgs +type NativeNodePoolAnnotationOutput struct{ *pulumi.OutputState } -func NodePoolAutoScalingConfigPtr(v *NodePoolAutoScalingConfigArgs) NodePoolAutoScalingConfigPtrInput { - return (*nodePoolAutoScalingConfigPtrType)(v) +func (NativeNodePoolAnnotationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NativeNodePoolAnnotation)(nil)).Elem() } -func (*nodePoolAutoScalingConfigPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**NodePoolAutoScalingConfig)(nil)).Elem() +func (o NativeNodePoolAnnotationOutput) ToNativeNodePoolAnnotationOutput() NativeNodePoolAnnotationOutput { + return o } -func (i *nodePoolAutoScalingConfigPtrType) ToNodePoolAutoScalingConfigPtrOutput() NodePoolAutoScalingConfigPtrOutput { - return i.ToNodePoolAutoScalingConfigPtrOutputWithContext(context.Background()) +func (o NativeNodePoolAnnotationOutput) ToNativeNodePoolAnnotationOutputWithContext(ctx context.Context) NativeNodePoolAnnotationOutput { + return o } -func (i *nodePoolAutoScalingConfigPtrType) ToNodePoolAutoScalingConfigPtrOutputWithContext(ctx context.Context) NodePoolAutoScalingConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodePoolAutoScalingConfigPtrOutput) +// Name in the map table. +func (o NativeNodePoolAnnotationOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v NativeNodePoolAnnotation) string { return v.Name }).(pulumi.StringOutput) } -type NodePoolAutoScalingConfigOutput struct{ *pulumi.OutputState } +// Value in the map table. +func (o NativeNodePoolAnnotationOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v NativeNodePoolAnnotation) string { return v.Value }).(pulumi.StringOutput) +} -func (NodePoolAutoScalingConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NodePoolAutoScalingConfig)(nil)).Elem() +type NativeNodePoolAnnotationArrayOutput struct{ *pulumi.OutputState } + +func (NativeNodePoolAnnotationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NativeNodePoolAnnotation)(nil)).Elem() } -func (o NodePoolAutoScalingConfigOutput) ToNodePoolAutoScalingConfigOutput() NodePoolAutoScalingConfigOutput { +func (o NativeNodePoolAnnotationArrayOutput) ToNativeNodePoolAnnotationArrayOutput() NativeNodePoolAnnotationArrayOutput { return o } -func (o NodePoolAutoScalingConfigOutput) ToNodePoolAutoScalingConfigOutputWithContext(ctx context.Context) NodePoolAutoScalingConfigOutput { +func (o NativeNodePoolAnnotationArrayOutput) ToNativeNodePoolAnnotationArrayOutputWithContext(ctx context.Context) NativeNodePoolAnnotationArrayOutput { return o } -func (o NodePoolAutoScalingConfigOutput) ToNodePoolAutoScalingConfigPtrOutput() NodePoolAutoScalingConfigPtrOutput { - return o.ToNodePoolAutoScalingConfigPtrOutputWithContext(context.Background()) +func (o NativeNodePoolAnnotationArrayOutput) Index(i pulumi.IntInput) NativeNodePoolAnnotationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NativeNodePoolAnnotation { + return vs[0].([]NativeNodePoolAnnotation)[vs[1].(int)] + }).(NativeNodePoolAnnotationOutput) } -func (o NodePoolAutoScalingConfigOutput) ToNodePoolAutoScalingConfigPtrOutputWithContext(ctx context.Context) NodePoolAutoScalingConfigPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v NodePoolAutoScalingConfig) *NodePoolAutoScalingConfig { - return &v - }).(NodePoolAutoScalingConfigPtrOutput) +type NativeNodePoolLabel struct { + // Name in the map table. + Name string `pulumi:"name"` + // Value in map table. + Value string `pulumi:"value"` } -// Backup CVM instance types if specified instance type sold out or mismatch. -func (o NodePoolAutoScalingConfigOutput) BackupInstanceTypes() pulumi.StringArrayOutput { - return o.ApplyT(func(v NodePoolAutoScalingConfig) []string { return v.BackupInstanceTypes }).(pulumi.StringArrayOutput) +// NativeNodePoolLabelInput is an input type that accepts NativeNodePoolLabelArgs and NativeNodePoolLabelOutput values. +// You can construct a concrete instance of `NativeNodePoolLabelInput` via: +// +// NativeNodePoolLabelArgs{...} +type NativeNodePoolLabelInput interface { + pulumi.Input + + ToNativeNodePoolLabelOutput() NativeNodePoolLabelOutput + ToNativeNodePoolLabelOutputWithContext(context.Context) NativeNodePoolLabelOutput } -// bandwidth package id. if user is standard user, then the bandwidthPackageId is needed, or default has bandwidth_package_id. -func (o NodePoolAutoScalingConfigOutput) BandwidthPackageId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NodePoolAutoScalingConfig) *string { return v.BandwidthPackageId }).(pulumi.StringPtrOutput) +type NativeNodePoolLabelArgs struct { + // Name in the map table. + Name pulumi.StringInput `pulumi:"name"` + // Value in map table. + Value pulumi.StringInput `pulumi:"value"` } -// Name of cam role. -func (o NodePoolAutoScalingConfigOutput) CamRoleName() pulumi.StringPtrOutput { - return o.ApplyT(func(v NodePoolAutoScalingConfig) *string { return v.CamRoleName }).(pulumi.StringPtrOutput) +func (NativeNodePoolLabelArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NativeNodePoolLabel)(nil)).Elem() } -// Configurations of data disk. -func (o NodePoolAutoScalingConfigOutput) DataDisks() NodePoolAutoScalingConfigDataDiskArrayOutput { - return o.ApplyT(func(v NodePoolAutoScalingConfig) []NodePoolAutoScalingConfigDataDisk { return v.DataDisks }).(NodePoolAutoScalingConfigDataDiskArrayOutput) +func (i NativeNodePoolLabelArgs) ToNativeNodePoolLabelOutput() NativeNodePoolLabelOutput { + return i.ToNativeNodePoolLabelOutputWithContext(context.Background()) } -// To specify whether to enable cloud monitor service. Default is TRUE. -func (o NodePoolAutoScalingConfigOutput) EnhancedMonitorService() pulumi.BoolPtrOutput { - return o.ApplyT(func(v NodePoolAutoScalingConfig) *bool { return v.EnhancedMonitorService }).(pulumi.BoolPtrOutput) +func (i NativeNodePoolLabelArgs) ToNativeNodePoolLabelOutputWithContext(ctx context.Context) NativeNodePoolLabelOutput { + return pulumi.ToOutputWithContext(ctx, i).(NativeNodePoolLabelOutput) } -// To specify whether to enable cloud security service. Default is TRUE. -func (o NodePoolAutoScalingConfigOutput) EnhancedSecurityService() pulumi.BoolPtrOutput { - return o.ApplyT(func(v NodePoolAutoScalingConfig) *bool { return v.EnhancedSecurityService }).(pulumi.BoolPtrOutput) +// NativeNodePoolLabelArrayInput is an input type that accepts NativeNodePoolLabelArray and NativeNodePoolLabelArrayOutput values. +// You can construct a concrete instance of `NativeNodePoolLabelArrayInput` via: +// +// NativeNodePoolLabelArray{ NativeNodePoolLabelArgs{...} } +type NativeNodePoolLabelArrayInput interface { + pulumi.Input + + ToNativeNodePoolLabelArrayOutput() NativeNodePoolLabelArrayOutput + ToNativeNodePoolLabelArrayOutputWithContext(context.Context) NativeNodePoolLabelArrayOutput } -// The hostname of the cloud server, dot (.) and dash (-) cannot be used as the first and last characters of HostName and cannot be used consecutively. Windows instances are not supported. Examples of other types (Linux, etc.): The character length is [2, 40], multiple periods are allowed, and there is a paragraph between the dots, and each paragraph is allowed to consist of letters (unlimited case), numbers and dashes (-). Pure numbers are not allowed. For usage, refer to `HostNameSettings` in https://www.tencentcloud.com/document/product/377/31001. -func (o NodePoolAutoScalingConfigOutput) HostName() pulumi.StringPtrOutput { - return o.ApplyT(func(v NodePoolAutoScalingConfig) *string { return v.HostName }).(pulumi.StringPtrOutput) +type NativeNodePoolLabelArray []NativeNodePoolLabelInput + +func (NativeNodePoolLabelArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NativeNodePoolLabel)(nil)).Elem() } -// The style of the host name of the cloud server, the value range includes ORIGINAL and UNIQUE, and the default is ORIGINAL. For usage, refer to `HostNameSettings` in https://www.tencentcloud.com/document/product/377/31001. -func (o NodePoolAutoScalingConfigOutput) HostNameStyle() pulumi.StringPtrOutput { - return o.ApplyT(func(v NodePoolAutoScalingConfig) *string { return v.HostNameStyle }).(pulumi.StringPtrOutput) +func (i NativeNodePoolLabelArray) ToNativeNodePoolLabelArrayOutput() NativeNodePoolLabelArrayOutput { + return i.ToNativeNodePoolLabelArrayOutputWithContext(context.Background()) } -// Charge type of instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `SPOTPAID`. The default is `POSTPAID_BY_HOUR`. NOTE: `SPOTPAID` instance must set `spotInstanceType` and `spotMaxPrice` at the same time. -func (o NodePoolAutoScalingConfigOutput) InstanceChargeType() pulumi.StringPtrOutput { - return o.ApplyT(func(v NodePoolAutoScalingConfig) *string { return v.InstanceChargeType }).(pulumi.StringPtrOutput) +func (i NativeNodePoolLabelArray) ToNativeNodePoolLabelArrayOutputWithContext(ctx context.Context) NativeNodePoolLabelArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NativeNodePoolLabelArrayOutput) } -// The tenancy (in month) of the prepaid instance, NOTE: it only works when instanceChargeType is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. -func (o NodePoolAutoScalingConfigOutput) InstanceChargeTypePrepaidPeriod() pulumi.IntPtrOutput { - return o.ApplyT(func(v NodePoolAutoScalingConfig) *int { return v.InstanceChargeTypePrepaidPeriod }).(pulumi.IntPtrOutput) +type NativeNodePoolLabelOutput struct{ *pulumi.OutputState } + +func (NativeNodePoolLabelOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NativeNodePoolLabel)(nil)).Elem() } -// Auto renewal flag. Valid values: `NOTIFY_AND_AUTO_RENEW`: notify upon expiration and renew automatically, `NOTIFY_AND_MANUAL_RENEW`: notify upon expiration but do not renew automatically, `DISABLE_NOTIFY_AND_MANUAL_RENEW`: neither notify upon expiration nor renew automatically. Default value: `NOTIFY_AND_MANUAL_RENEW`. If this parameter is specified as `NOTIFY_AND_AUTO_RENEW`, the instance will be automatically renewed on a monthly basis if the account balance is sufficient. NOTE: it only works when instanceChargeType is set to `PREPAID`. -func (o NodePoolAutoScalingConfigOutput) InstanceChargeTypePrepaidRenewFlag() pulumi.StringPtrOutput { - return o.ApplyT(func(v NodePoolAutoScalingConfig) *string { return v.InstanceChargeTypePrepaidRenewFlag }).(pulumi.StringPtrOutput) +func (o NativeNodePoolLabelOutput) ToNativeNodePoolLabelOutput() NativeNodePoolLabelOutput { + return o } -// Instance name, no more than 60 characters. For usage, refer to `InstanceNameSettings` in https://www.tencentcloud.com/document/product/377/31001. -func (o NodePoolAutoScalingConfigOutput) InstanceName() pulumi.StringPtrOutput { - return o.ApplyT(func(v NodePoolAutoScalingConfig) *string { return v.InstanceName }).(pulumi.StringPtrOutput) +func (o NativeNodePoolLabelOutput) ToNativeNodePoolLabelOutputWithContext(ctx context.Context) NativeNodePoolLabelOutput { + return o } -// Specified types of CVM instance. -func (o NodePoolAutoScalingConfigOutput) InstanceType() pulumi.StringOutput { - return o.ApplyT(func(v NodePoolAutoScalingConfig) string { return v.InstanceType }).(pulumi.StringOutput) +// Name in the map table. +func (o NativeNodePoolLabelOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v NativeNodePoolLabel) string { return v.Name }).(pulumi.StringOutput) } -// Charge types for network traffic. Valid value: `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. -func (o NodePoolAutoScalingConfigOutput) InternetChargeType() pulumi.StringPtrOutput { - return o.ApplyT(func(v NodePoolAutoScalingConfig) *string { return v.InternetChargeType }).(pulumi.StringPtrOutput) +// Value in map table. +func (o NativeNodePoolLabelOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v NativeNodePoolLabel) string { return v.Value }).(pulumi.StringOutput) } -// Max bandwidth of Internet access in Mbps. Default is `0`. -func (o NodePoolAutoScalingConfigOutput) InternetMaxBandwidthOut() pulumi.IntPtrOutput { - return o.ApplyT(func(v NodePoolAutoScalingConfig) *int { return v.InternetMaxBandwidthOut }).(pulumi.IntPtrOutput) +type NativeNodePoolLabelArrayOutput struct{ *pulumi.OutputState } + +func (NativeNodePoolLabelArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NativeNodePoolLabel)(nil)).Elem() } -// ID list of keys. -func (o NodePoolAutoScalingConfigOutput) KeyIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v NodePoolAutoScalingConfig) []string { return v.KeyIds }).(pulumi.StringArrayOutput) +func (o NativeNodePoolLabelArrayOutput) ToNativeNodePoolLabelArrayOutput() NativeNodePoolLabelArrayOutput { + return o } -// Ordered security groups to which a CVM instance belongs. -func (o NodePoolAutoScalingConfigOutput) OrderlySecurityGroupIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v NodePoolAutoScalingConfig) []string { return v.OrderlySecurityGroupIds }).(pulumi.StringArrayOutput) +func (o NativeNodePoolLabelArrayOutput) ToNativeNodePoolLabelArrayOutputWithContext(ctx context.Context) NativeNodePoolLabelArrayOutput { + return o } -// Password to access. -func (o NodePoolAutoScalingConfigOutput) Password() pulumi.StringPtrOutput { - return o.ApplyT(func(v NodePoolAutoScalingConfig) *string { return v.Password }).(pulumi.StringPtrOutput) +func (o NativeNodePoolLabelArrayOutput) Index(i pulumi.IntInput) NativeNodePoolLabelOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NativeNodePoolLabel { + return vs[0].([]NativeNodePoolLabel)[vs[1].(int)] + }).(NativeNodePoolLabelOutput) } -// Specify whether to assign an Internet IP address. -func (o NodePoolAutoScalingConfigOutput) PublicIpAssigned() pulumi.BoolPtrOutput { - return o.ApplyT(func(v NodePoolAutoScalingConfig) *bool { return v.PublicIpAssigned }).(pulumi.BoolPtrOutput) +type NativeNodePoolNative struct { + // Whether to enable self-healing ability. + AutoRepair *bool `pulumi:"autoRepair"` + // Native node pool data disk list. + DataDisks []NativeNodePoolNativeDataDisk `pulumi:"dataDisks"` + // Whether to enable elastic scaling. + EnableAutoscaling *bool `pulumi:"enableAutoscaling"` + // Fault self-healing rule name. + HealthCheckPolicyName *string `pulumi:"healthCheckPolicyName"` + // Native node pool hostName pattern string. + HostNamePattern *string `pulumi:"hostNamePattern"` + // Billing configuration for yearly and monthly models. + InstanceChargePrepaid *NativeNodePoolNativeInstanceChargePrepaid `pulumi:"instanceChargePrepaid"` + // Node billing type. `PREPAID` is a yearly and monthly subscription, `POSTPAID_BY_HOUR` is a pay-as-you-go plan. The default is `POSTPAID_BY_HOUR`. + InstanceChargeType string `pulumi:"instanceChargeType"` + // Model list. + InstanceTypes []string `pulumi:"instanceTypes"` + // Public network bandwidth settings. + InternetAccessible *NativeNodePoolNativeInternetAccessible `pulumi:"internetAccessible"` + // Node pool ssh public key id array. + KeyIds []string `pulumi:"keyIds"` + // Kubelet custom parameters. + KubeletArgs []string `pulumi:"kubeletArgs"` + // Predefined scripts. + Lifecycle *NativeNodePoolNativeLifecycle `pulumi:"lifecycle"` + // Node pool management parameter settings. + Management *NativeNodePoolNativeManagement `pulumi:"management"` + // Desired number of nodes. + Replicas *int `pulumi:"replicas"` + // Runtime root directory. + RuntimeRootDir *string `pulumi:"runtimeRootDir"` + // Node pool scaling configuration. + Scaling *NativeNodePoolNativeScaling `pulumi:"scaling"` + // Security group list. + SecurityGroupIds []string `pulumi:"securityGroupIds"` + // Subnet list. + SubnetIds []string `pulumi:"subnetIds"` + // System disk configuration. + SystemDisk NativeNodePoolNativeSystemDisk `pulumi:"systemDisk"` } -// The order of elements in this field cannot be guaranteed. Use `orderlySecurityGroupIds` instead. Security groups to which a CVM instance belongs. +// NativeNodePoolNativeInput is an input type that accepts NativeNodePoolNativeArgs and NativeNodePoolNativeOutput values. +// You can construct a concrete instance of `NativeNodePoolNativeInput` via: // -// Deprecated: The order of elements in this field cannot be guaranteed. Use `orderlySecurityGroupIds` instead. -func (o NodePoolAutoScalingConfigOutput) SecurityGroupIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v NodePoolAutoScalingConfig) []string { return v.SecurityGroupIds }).(pulumi.StringArrayOutput) +// NativeNodePoolNativeArgs{...} +type NativeNodePoolNativeInput interface { + pulumi.Input + + ToNativeNodePoolNativeOutput() NativeNodePoolNativeOutput + ToNativeNodePoolNativeOutputWithContext(context.Context) NativeNodePoolNativeOutput +} + +type NativeNodePoolNativeArgs struct { + // Whether to enable self-healing ability. + AutoRepair pulumi.BoolPtrInput `pulumi:"autoRepair"` + // Native node pool data disk list. + DataDisks NativeNodePoolNativeDataDiskArrayInput `pulumi:"dataDisks"` + // Whether to enable elastic scaling. + EnableAutoscaling pulumi.BoolPtrInput `pulumi:"enableAutoscaling"` + // Fault self-healing rule name. + HealthCheckPolicyName pulumi.StringPtrInput `pulumi:"healthCheckPolicyName"` + // Native node pool hostName pattern string. + HostNamePattern pulumi.StringPtrInput `pulumi:"hostNamePattern"` + // Billing configuration for yearly and monthly models. + InstanceChargePrepaid NativeNodePoolNativeInstanceChargePrepaidPtrInput `pulumi:"instanceChargePrepaid"` + // Node billing type. `PREPAID` is a yearly and monthly subscription, `POSTPAID_BY_HOUR` is a pay-as-you-go plan. The default is `POSTPAID_BY_HOUR`. + InstanceChargeType pulumi.StringInput `pulumi:"instanceChargeType"` + // Model list. + InstanceTypes pulumi.StringArrayInput `pulumi:"instanceTypes"` + // Public network bandwidth settings. + InternetAccessible NativeNodePoolNativeInternetAccessiblePtrInput `pulumi:"internetAccessible"` + // Node pool ssh public key id array. + KeyIds pulumi.StringArrayInput `pulumi:"keyIds"` + // Kubelet custom parameters. + KubeletArgs pulumi.StringArrayInput `pulumi:"kubeletArgs"` + // Predefined scripts. + Lifecycle NativeNodePoolNativeLifecyclePtrInput `pulumi:"lifecycle"` + // Node pool management parameter settings. + Management NativeNodePoolNativeManagementPtrInput `pulumi:"management"` + // Desired number of nodes. + Replicas pulumi.IntPtrInput `pulumi:"replicas"` + // Runtime root directory. + RuntimeRootDir pulumi.StringPtrInput `pulumi:"runtimeRootDir"` + // Node pool scaling configuration. + Scaling NativeNodePoolNativeScalingPtrInput `pulumi:"scaling"` + // Security group list. + SecurityGroupIds pulumi.StringArrayInput `pulumi:"securityGroupIds"` + // Subnet list. + SubnetIds pulumi.StringArrayInput `pulumi:"subnetIds"` + // System disk configuration. + SystemDisk NativeNodePoolNativeSystemDiskInput `pulumi:"systemDisk"` } -// Type of spot instance, only support `one-time` now. Note: it only works when instanceChargeType is set to `SPOTPAID`. -func (o NodePoolAutoScalingConfigOutput) SpotInstanceType() pulumi.StringPtrOutput { - return o.ApplyT(func(v NodePoolAutoScalingConfig) *string { return v.SpotInstanceType }).(pulumi.StringPtrOutput) +func (NativeNodePoolNativeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NativeNodePoolNative)(nil)).Elem() } -// Max price of a spot instance, is the format of decimal string, for example "0.50". Note: it only works when instanceChargeType is set to `SPOTPAID`. -func (o NodePoolAutoScalingConfigOutput) SpotMaxPrice() pulumi.StringPtrOutput { - return o.ApplyT(func(v NodePoolAutoScalingConfig) *string { return v.SpotMaxPrice }).(pulumi.StringPtrOutput) +func (i NativeNodePoolNativeArgs) ToNativeNodePoolNativeOutput() NativeNodePoolNativeOutput { + return i.ToNativeNodePoolNativeOutputWithContext(context.Background()) } -// Volume of system disk in GB. Default is `50`. -func (o NodePoolAutoScalingConfigOutput) SystemDiskSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v NodePoolAutoScalingConfig) *int { return v.SystemDiskSize }).(pulumi.IntPtrOutput) +func (i NativeNodePoolNativeArgs) ToNativeNodePoolNativeOutputWithContext(ctx context.Context) NativeNodePoolNativeOutput { + return pulumi.ToOutputWithContext(ctx, i).(NativeNodePoolNativeOutput) } -// Type of a CVM disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. Default is `CLOUD_PREMIUM`. -func (o NodePoolAutoScalingConfigOutput) SystemDiskType() pulumi.StringPtrOutput { - return o.ApplyT(func(v NodePoolAutoScalingConfig) *string { return v.SystemDiskType }).(pulumi.StringPtrOutput) +func (i NativeNodePoolNativeArgs) ToNativeNodePoolNativePtrOutput() NativeNodePoolNativePtrOutput { + return i.ToNativeNodePoolNativePtrOutputWithContext(context.Background()) } -type NodePoolAutoScalingConfigPtrOutput struct{ *pulumi.OutputState } +func (i NativeNodePoolNativeArgs) ToNativeNodePoolNativePtrOutputWithContext(ctx context.Context) NativeNodePoolNativePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NativeNodePoolNativeOutput).ToNativeNodePoolNativePtrOutputWithContext(ctx) +} -func (NodePoolAutoScalingConfigPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**NodePoolAutoScalingConfig)(nil)).Elem() +// NativeNodePoolNativePtrInput is an input type that accepts NativeNodePoolNativeArgs, NativeNodePoolNativePtr and NativeNodePoolNativePtrOutput values. +// You can construct a concrete instance of `NativeNodePoolNativePtrInput` via: +// +// NativeNodePoolNativeArgs{...} +// +// or: +// +// nil +type NativeNodePoolNativePtrInput interface { + pulumi.Input + + ToNativeNodePoolNativePtrOutput() NativeNodePoolNativePtrOutput + ToNativeNodePoolNativePtrOutputWithContext(context.Context) NativeNodePoolNativePtrOutput } -func (o NodePoolAutoScalingConfigPtrOutput) ToNodePoolAutoScalingConfigPtrOutput() NodePoolAutoScalingConfigPtrOutput { +type nativeNodePoolNativePtrType NativeNodePoolNativeArgs + +func NativeNodePoolNativePtr(v *NativeNodePoolNativeArgs) NativeNodePoolNativePtrInput { + return (*nativeNodePoolNativePtrType)(v) +} + +func (*nativeNodePoolNativePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NativeNodePoolNative)(nil)).Elem() +} + +func (i *nativeNodePoolNativePtrType) ToNativeNodePoolNativePtrOutput() NativeNodePoolNativePtrOutput { + return i.ToNativeNodePoolNativePtrOutputWithContext(context.Background()) +} + +func (i *nativeNodePoolNativePtrType) ToNativeNodePoolNativePtrOutputWithContext(ctx context.Context) NativeNodePoolNativePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NativeNodePoolNativePtrOutput) +} + +type NativeNodePoolNativeOutput struct{ *pulumi.OutputState } + +func (NativeNodePoolNativeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NativeNodePoolNative)(nil)).Elem() +} + +func (o NativeNodePoolNativeOutput) ToNativeNodePoolNativeOutput() NativeNodePoolNativeOutput { return o } -func (o NodePoolAutoScalingConfigPtrOutput) ToNodePoolAutoScalingConfigPtrOutputWithContext(ctx context.Context) NodePoolAutoScalingConfigPtrOutput { +func (o NativeNodePoolNativeOutput) ToNativeNodePoolNativeOutputWithContext(ctx context.Context) NativeNodePoolNativeOutput { return o } -func (o NodePoolAutoScalingConfigPtrOutput) Elem() NodePoolAutoScalingConfigOutput { - return o.ApplyT(func(v *NodePoolAutoScalingConfig) NodePoolAutoScalingConfig { - if v != nil { - return *v - } - var ret NodePoolAutoScalingConfig - return ret - }).(NodePoolAutoScalingConfigOutput) +func (o NativeNodePoolNativeOutput) ToNativeNodePoolNativePtrOutput() NativeNodePoolNativePtrOutput { + return o.ToNativeNodePoolNativePtrOutputWithContext(context.Background()) } -// Backup CVM instance types if specified instance type sold out or mismatch. -func (o NodePoolAutoScalingConfigPtrOutput) BackupInstanceTypes() pulumi.StringArrayOutput { - return o.ApplyT(func(v *NodePoolAutoScalingConfig) []string { - if v == nil { - return nil - } - return v.BackupInstanceTypes - }).(pulumi.StringArrayOutput) +func (o NativeNodePoolNativeOutput) ToNativeNodePoolNativePtrOutputWithContext(ctx context.Context) NativeNodePoolNativePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NativeNodePoolNative) *NativeNodePoolNative { + return &v + }).(NativeNodePoolNativePtrOutput) } -// bandwidth package id. if user is standard user, then the bandwidthPackageId is needed, or default has bandwidth_package_id. -func (o NodePoolAutoScalingConfigPtrOutput) BandwidthPackageId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NodePoolAutoScalingConfig) *string { - if v == nil { - return nil - } - return v.BandwidthPackageId - }).(pulumi.StringPtrOutput) +// Whether to enable self-healing ability. +func (o NativeNodePoolNativeOutput) AutoRepair() pulumi.BoolPtrOutput { + return o.ApplyT(func(v NativeNodePoolNative) *bool { return v.AutoRepair }).(pulumi.BoolPtrOutput) } -// Name of cam role. -func (o NodePoolAutoScalingConfigPtrOutput) CamRoleName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NodePoolAutoScalingConfig) *string { - if v == nil { - return nil - } - return v.CamRoleName - }).(pulumi.StringPtrOutput) +// Native node pool data disk list. +func (o NativeNodePoolNativeOutput) DataDisks() NativeNodePoolNativeDataDiskArrayOutput { + return o.ApplyT(func(v NativeNodePoolNative) []NativeNodePoolNativeDataDisk { return v.DataDisks }).(NativeNodePoolNativeDataDiskArrayOutput) } -// Configurations of data disk. -func (o NodePoolAutoScalingConfigPtrOutput) DataDisks() NodePoolAutoScalingConfigDataDiskArrayOutput { - return o.ApplyT(func(v *NodePoolAutoScalingConfig) []NodePoolAutoScalingConfigDataDisk { - if v == nil { - return nil - } - return v.DataDisks - }).(NodePoolAutoScalingConfigDataDiskArrayOutput) +// Whether to enable elastic scaling. +func (o NativeNodePoolNativeOutput) EnableAutoscaling() pulumi.BoolPtrOutput { + return o.ApplyT(func(v NativeNodePoolNative) *bool { return v.EnableAutoscaling }).(pulumi.BoolPtrOutput) } -// To specify whether to enable cloud monitor service. Default is TRUE. -func (o NodePoolAutoScalingConfigPtrOutput) EnhancedMonitorService() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *NodePoolAutoScalingConfig) *bool { - if v == nil { - return nil - } - return v.EnhancedMonitorService - }).(pulumi.BoolPtrOutput) +// Fault self-healing rule name. +func (o NativeNodePoolNativeOutput) HealthCheckPolicyName() pulumi.StringPtrOutput { + return o.ApplyT(func(v NativeNodePoolNative) *string { return v.HealthCheckPolicyName }).(pulumi.StringPtrOutput) } -// To specify whether to enable cloud security service. Default is TRUE. -func (o NodePoolAutoScalingConfigPtrOutput) EnhancedSecurityService() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *NodePoolAutoScalingConfig) *bool { - if v == nil { - return nil +// Native node pool hostName pattern string. +func (o NativeNodePoolNativeOutput) HostNamePattern() pulumi.StringPtrOutput { + return o.ApplyT(func(v NativeNodePoolNative) *string { return v.HostNamePattern }).(pulumi.StringPtrOutput) +} + +// Billing configuration for yearly and monthly models. +func (o NativeNodePoolNativeOutput) InstanceChargePrepaid() NativeNodePoolNativeInstanceChargePrepaidPtrOutput { + return o.ApplyT(func(v NativeNodePoolNative) *NativeNodePoolNativeInstanceChargePrepaid { + return v.InstanceChargePrepaid + }).(NativeNodePoolNativeInstanceChargePrepaidPtrOutput) +} + +// Node billing type. `PREPAID` is a yearly and monthly subscription, `POSTPAID_BY_HOUR` is a pay-as-you-go plan. The default is `POSTPAID_BY_HOUR`. +func (o NativeNodePoolNativeOutput) InstanceChargeType() pulumi.StringOutput { + return o.ApplyT(func(v NativeNodePoolNative) string { return v.InstanceChargeType }).(pulumi.StringOutput) +} + +// Model list. +func (o NativeNodePoolNativeOutput) InstanceTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v NativeNodePoolNative) []string { return v.InstanceTypes }).(pulumi.StringArrayOutput) +} + +// Public network bandwidth settings. +func (o NativeNodePoolNativeOutput) InternetAccessible() NativeNodePoolNativeInternetAccessiblePtrOutput { + return o.ApplyT(func(v NativeNodePoolNative) *NativeNodePoolNativeInternetAccessible { return v.InternetAccessible }).(NativeNodePoolNativeInternetAccessiblePtrOutput) +} + +// Node pool ssh public key id array. +func (o NativeNodePoolNativeOutput) KeyIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v NativeNodePoolNative) []string { return v.KeyIds }).(pulumi.StringArrayOutput) +} + +// Kubelet custom parameters. +func (o NativeNodePoolNativeOutput) KubeletArgs() pulumi.StringArrayOutput { + return o.ApplyT(func(v NativeNodePoolNative) []string { return v.KubeletArgs }).(pulumi.StringArrayOutput) +} + +// Predefined scripts. +func (o NativeNodePoolNativeOutput) Lifecycle() NativeNodePoolNativeLifecyclePtrOutput { + return o.ApplyT(func(v NativeNodePoolNative) *NativeNodePoolNativeLifecycle { return v.Lifecycle }).(NativeNodePoolNativeLifecyclePtrOutput) +} + +// Node pool management parameter settings. +func (o NativeNodePoolNativeOutput) Management() NativeNodePoolNativeManagementPtrOutput { + return o.ApplyT(func(v NativeNodePoolNative) *NativeNodePoolNativeManagement { return v.Management }).(NativeNodePoolNativeManagementPtrOutput) +} + +// Desired number of nodes. +func (o NativeNodePoolNativeOutput) Replicas() pulumi.IntPtrOutput { + return o.ApplyT(func(v NativeNodePoolNative) *int { return v.Replicas }).(pulumi.IntPtrOutput) +} + +// Runtime root directory. +func (o NativeNodePoolNativeOutput) RuntimeRootDir() pulumi.StringPtrOutput { + return o.ApplyT(func(v NativeNodePoolNative) *string { return v.RuntimeRootDir }).(pulumi.StringPtrOutput) +} + +// Node pool scaling configuration. +func (o NativeNodePoolNativeOutput) Scaling() NativeNodePoolNativeScalingPtrOutput { + return o.ApplyT(func(v NativeNodePoolNative) *NativeNodePoolNativeScaling { return v.Scaling }).(NativeNodePoolNativeScalingPtrOutput) +} + +// Security group list. +func (o NativeNodePoolNativeOutput) SecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v NativeNodePoolNative) []string { return v.SecurityGroupIds }).(pulumi.StringArrayOutput) +} + +// Subnet list. +func (o NativeNodePoolNativeOutput) SubnetIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v NativeNodePoolNative) []string { return v.SubnetIds }).(pulumi.StringArrayOutput) +} + +// System disk configuration. +func (o NativeNodePoolNativeOutput) SystemDisk() NativeNodePoolNativeSystemDiskOutput { + return o.ApplyT(func(v NativeNodePoolNative) NativeNodePoolNativeSystemDisk { return v.SystemDisk }).(NativeNodePoolNativeSystemDiskOutput) +} + +type NativeNodePoolNativePtrOutput struct{ *pulumi.OutputState } + +func (NativeNodePoolNativePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NativeNodePoolNative)(nil)).Elem() +} + +func (o NativeNodePoolNativePtrOutput) ToNativeNodePoolNativePtrOutput() NativeNodePoolNativePtrOutput { + return o +} + +func (o NativeNodePoolNativePtrOutput) ToNativeNodePoolNativePtrOutputWithContext(ctx context.Context) NativeNodePoolNativePtrOutput { + return o +} + +func (o NativeNodePoolNativePtrOutput) Elem() NativeNodePoolNativeOutput { + return o.ApplyT(func(v *NativeNodePoolNative) NativeNodePoolNative { + if v != nil { + return *v } - return v.EnhancedSecurityService - }).(pulumi.BoolPtrOutput) + var ret NativeNodePoolNative + return ret + }).(NativeNodePoolNativeOutput) } -// The hostname of the cloud server, dot (.) and dash (-) cannot be used as the first and last characters of HostName and cannot be used consecutively. Windows instances are not supported. Examples of other types (Linux, etc.): The character length is [2, 40], multiple periods are allowed, and there is a paragraph between the dots, and each paragraph is allowed to consist of letters (unlimited case), numbers and dashes (-). Pure numbers are not allowed. For usage, refer to `HostNameSettings` in https://www.tencentcloud.com/document/product/377/31001. -func (o NodePoolAutoScalingConfigPtrOutput) HostName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NodePoolAutoScalingConfig) *string { +// Whether to enable self-healing ability. +func (o NativeNodePoolNativePtrOutput) AutoRepair() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *NativeNodePoolNative) *bool { if v == nil { return nil } - return v.HostName - }).(pulumi.StringPtrOutput) + return v.AutoRepair + }).(pulumi.BoolPtrOutput) } -// The style of the host name of the cloud server, the value range includes ORIGINAL and UNIQUE, and the default is ORIGINAL. For usage, refer to `HostNameSettings` in https://www.tencentcloud.com/document/product/377/31001. -func (o NodePoolAutoScalingConfigPtrOutput) HostNameStyle() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NodePoolAutoScalingConfig) *string { +// Native node pool data disk list. +func (o NativeNodePoolNativePtrOutput) DataDisks() NativeNodePoolNativeDataDiskArrayOutput { + return o.ApplyT(func(v *NativeNodePoolNative) []NativeNodePoolNativeDataDisk { if v == nil { return nil } - return v.HostNameStyle - }).(pulumi.StringPtrOutput) + return v.DataDisks + }).(NativeNodePoolNativeDataDiskArrayOutput) } -// Charge type of instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `SPOTPAID`. The default is `POSTPAID_BY_HOUR`. NOTE: `SPOTPAID` instance must set `spotInstanceType` and `spotMaxPrice` at the same time. -func (o NodePoolAutoScalingConfigPtrOutput) InstanceChargeType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NodePoolAutoScalingConfig) *string { +// Whether to enable elastic scaling. +func (o NativeNodePoolNativePtrOutput) EnableAutoscaling() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *NativeNodePoolNative) *bool { if v == nil { return nil } - return v.InstanceChargeType - }).(pulumi.StringPtrOutput) + return v.EnableAutoscaling + }).(pulumi.BoolPtrOutput) } -// The tenancy (in month) of the prepaid instance, NOTE: it only works when instanceChargeType is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. -func (o NodePoolAutoScalingConfigPtrOutput) InstanceChargeTypePrepaidPeriod() pulumi.IntPtrOutput { - return o.ApplyT(func(v *NodePoolAutoScalingConfig) *int { +// Fault self-healing rule name. +func (o NativeNodePoolNativePtrOutput) HealthCheckPolicyName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NativeNodePoolNative) *string { if v == nil { return nil } - return v.InstanceChargeTypePrepaidPeriod - }).(pulumi.IntPtrOutput) + return v.HealthCheckPolicyName + }).(pulumi.StringPtrOutput) } -// Auto renewal flag. Valid values: `NOTIFY_AND_AUTO_RENEW`: notify upon expiration and renew automatically, `NOTIFY_AND_MANUAL_RENEW`: notify upon expiration but do not renew automatically, `DISABLE_NOTIFY_AND_MANUAL_RENEW`: neither notify upon expiration nor renew automatically. Default value: `NOTIFY_AND_MANUAL_RENEW`. If this parameter is specified as `NOTIFY_AND_AUTO_RENEW`, the instance will be automatically renewed on a monthly basis if the account balance is sufficient. NOTE: it only works when instanceChargeType is set to `PREPAID`. -func (o NodePoolAutoScalingConfigPtrOutput) InstanceChargeTypePrepaidRenewFlag() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NodePoolAutoScalingConfig) *string { +// Native node pool hostName pattern string. +func (o NativeNodePoolNativePtrOutput) HostNamePattern() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NativeNodePoolNative) *string { if v == nil { return nil } - return v.InstanceChargeTypePrepaidRenewFlag + return v.HostNamePattern }).(pulumi.StringPtrOutput) } -// Instance name, no more than 60 characters. For usage, refer to `InstanceNameSettings` in https://www.tencentcloud.com/document/product/377/31001. -func (o NodePoolAutoScalingConfigPtrOutput) InstanceName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NodePoolAutoScalingConfig) *string { +// Billing configuration for yearly and monthly models. +func (o NativeNodePoolNativePtrOutput) InstanceChargePrepaid() NativeNodePoolNativeInstanceChargePrepaidPtrOutput { + return o.ApplyT(func(v *NativeNodePoolNative) *NativeNodePoolNativeInstanceChargePrepaid { if v == nil { return nil } - return v.InstanceName - }).(pulumi.StringPtrOutput) + return v.InstanceChargePrepaid + }).(NativeNodePoolNativeInstanceChargePrepaidPtrOutput) } -// Specified types of CVM instance. -func (o NodePoolAutoScalingConfigPtrOutput) InstanceType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NodePoolAutoScalingConfig) *string { +// Node billing type. `PREPAID` is a yearly and monthly subscription, `POSTPAID_BY_HOUR` is a pay-as-you-go plan. The default is `POSTPAID_BY_HOUR`. +func (o NativeNodePoolNativePtrOutput) InstanceChargeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NativeNodePoolNative) *string { if v == nil { return nil } - return &v.InstanceType + return &v.InstanceChargeType }).(pulumi.StringPtrOutput) } -// Charge types for network traffic. Valid value: `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. -func (o NodePoolAutoScalingConfigPtrOutput) InternetChargeType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NodePoolAutoScalingConfig) *string { +// Model list. +func (o NativeNodePoolNativePtrOutput) InstanceTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NativeNodePoolNative) []string { if v == nil { return nil } - return v.InternetChargeType - }).(pulumi.StringPtrOutput) + return v.InstanceTypes + }).(pulumi.StringArrayOutput) } -// Max bandwidth of Internet access in Mbps. Default is `0`. -func (o NodePoolAutoScalingConfigPtrOutput) InternetMaxBandwidthOut() pulumi.IntPtrOutput { - return o.ApplyT(func(v *NodePoolAutoScalingConfig) *int { +// Public network bandwidth settings. +func (o NativeNodePoolNativePtrOutput) InternetAccessible() NativeNodePoolNativeInternetAccessiblePtrOutput { + return o.ApplyT(func(v *NativeNodePoolNative) *NativeNodePoolNativeInternetAccessible { if v == nil { return nil } - return v.InternetMaxBandwidthOut - }).(pulumi.IntPtrOutput) + return v.InternetAccessible + }).(NativeNodePoolNativeInternetAccessiblePtrOutput) } -// ID list of keys. -func (o NodePoolAutoScalingConfigPtrOutput) KeyIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v *NodePoolAutoScalingConfig) []string { +// Node pool ssh public key id array. +func (o NativeNodePoolNativePtrOutput) KeyIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NativeNodePoolNative) []string { if v == nil { return nil } @@ -4534,4734 +4637,8788 @@ func (o NodePoolAutoScalingConfigPtrOutput) KeyIds() pulumi.StringArrayOutput { }).(pulumi.StringArrayOutput) } -// Ordered security groups to which a CVM instance belongs. -func (o NodePoolAutoScalingConfigPtrOutput) OrderlySecurityGroupIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v *NodePoolAutoScalingConfig) []string { +// Kubelet custom parameters. +func (o NativeNodePoolNativePtrOutput) KubeletArgs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NativeNodePoolNative) []string { if v == nil { return nil } - return v.OrderlySecurityGroupIds + return v.KubeletArgs }).(pulumi.StringArrayOutput) } -// Password to access. -func (o NodePoolAutoScalingConfigPtrOutput) Password() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NodePoolAutoScalingConfig) *string { +// Predefined scripts. +func (o NativeNodePoolNativePtrOutput) Lifecycle() NativeNodePoolNativeLifecyclePtrOutput { + return o.ApplyT(func(v *NativeNodePoolNative) *NativeNodePoolNativeLifecycle { if v == nil { return nil } - return v.Password - }).(pulumi.StringPtrOutput) + return v.Lifecycle + }).(NativeNodePoolNativeLifecyclePtrOutput) } -// Specify whether to assign an Internet IP address. -func (o NodePoolAutoScalingConfigPtrOutput) PublicIpAssigned() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *NodePoolAutoScalingConfig) *bool { +// Node pool management parameter settings. +func (o NativeNodePoolNativePtrOutput) Management() NativeNodePoolNativeManagementPtrOutput { + return o.ApplyT(func(v *NativeNodePoolNative) *NativeNodePoolNativeManagement { if v == nil { return nil } - return v.PublicIpAssigned - }).(pulumi.BoolPtrOutput) + return v.Management + }).(NativeNodePoolNativeManagementPtrOutput) } -// The order of elements in this field cannot be guaranteed. Use `orderlySecurityGroupIds` instead. Security groups to which a CVM instance belongs. -// -// Deprecated: The order of elements in this field cannot be guaranteed. Use `orderlySecurityGroupIds` instead. -func (o NodePoolAutoScalingConfigPtrOutput) SecurityGroupIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v *NodePoolAutoScalingConfig) []string { +// Desired number of nodes. +func (o NativeNodePoolNativePtrOutput) Replicas() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NativeNodePoolNative) *int { if v == nil { return nil } - return v.SecurityGroupIds - }).(pulumi.StringArrayOutput) + return v.Replicas + }).(pulumi.IntPtrOutput) } -// Type of spot instance, only support `one-time` now. Note: it only works when instanceChargeType is set to `SPOTPAID`. -func (o NodePoolAutoScalingConfigPtrOutput) SpotInstanceType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NodePoolAutoScalingConfig) *string { +// Runtime root directory. +func (o NativeNodePoolNativePtrOutput) RuntimeRootDir() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NativeNodePoolNative) *string { if v == nil { return nil } - return v.SpotInstanceType + return v.RuntimeRootDir }).(pulumi.StringPtrOutput) } -// Max price of a spot instance, is the format of decimal string, for example "0.50". Note: it only works when instanceChargeType is set to `SPOTPAID`. -func (o NodePoolAutoScalingConfigPtrOutput) SpotMaxPrice() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NodePoolAutoScalingConfig) *string { +// Node pool scaling configuration. +func (o NativeNodePoolNativePtrOutput) Scaling() NativeNodePoolNativeScalingPtrOutput { + return o.ApplyT(func(v *NativeNodePoolNative) *NativeNodePoolNativeScaling { if v == nil { return nil } - return v.SpotMaxPrice - }).(pulumi.StringPtrOutput) + return v.Scaling + }).(NativeNodePoolNativeScalingPtrOutput) } -// Volume of system disk in GB. Default is `50`. -func (o NodePoolAutoScalingConfigPtrOutput) SystemDiskSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v *NodePoolAutoScalingConfig) *int { +// Security group list. +func (o NativeNodePoolNativePtrOutput) SecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NativeNodePoolNative) []string { if v == nil { return nil } - return v.SystemDiskSize - }).(pulumi.IntPtrOutput) + return v.SecurityGroupIds + }).(pulumi.StringArrayOutput) } -// Type of a CVM disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. Default is `CLOUD_PREMIUM`. -func (o NodePoolAutoScalingConfigPtrOutput) SystemDiskType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NodePoolAutoScalingConfig) *string { +// Subnet list. +func (o NativeNodePoolNativePtrOutput) SubnetIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NativeNodePoolNative) []string { if v == nil { return nil } - return v.SystemDiskType - }).(pulumi.StringPtrOutput) + return v.SubnetIds + }).(pulumi.StringArrayOutput) } -type NodePoolAutoScalingConfigDataDisk struct { - // Indicates whether the disk remove after instance terminated. Default is `false`. - DeleteWithInstance *bool `pulumi:"deleteWithInstance"` - // Volume of disk in GB. Default is `0`. - DiskSize *int `pulumi:"diskSize"` - // Types of disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. - DiskType *string `pulumi:"diskType"` - // Specify whether to encrypt data disk, default: false. NOTE: Make sure the instance type is offering and the cam role `QcloudKMSAccessForCVMRole` was provided. - Encrypt *bool `pulumi:"encrypt"` - // Data disk snapshot ID. - SnapshotId *string `pulumi:"snapshotId"` - // Add extra performance to the data disk. Only works when disk type is `CLOUD_TSSD` or `CLOUD_HSSD` and `dataSize` > 460GB. - ThroughputPerformance *int `pulumi:"throughputPerformance"` +// System disk configuration. +func (o NativeNodePoolNativePtrOutput) SystemDisk() NativeNodePoolNativeSystemDiskPtrOutput { + return o.ApplyT(func(v *NativeNodePoolNative) *NativeNodePoolNativeSystemDisk { + if v == nil { + return nil + } + return &v.SystemDisk + }).(NativeNodePoolNativeSystemDiskPtrOutput) } -// NodePoolAutoScalingConfigDataDiskInput is an input type that accepts NodePoolAutoScalingConfigDataDiskArgs and NodePoolAutoScalingConfigDataDiskOutput values. -// You can construct a concrete instance of `NodePoolAutoScalingConfigDataDiskInput` via: -// -// NodePoolAutoScalingConfigDataDiskArgs{...} -type NodePoolAutoScalingConfigDataDiskInput interface { +type NativeNodePoolNativeDataDisk struct { + // Whether to automatically format the disk and mount it. + AutoFormatAndMount bool `pulumi:"autoFormatAndMount"` + // Mount device name or partition name. + DiskPartition *string `pulumi:"diskPartition"` + // Cloud disk size (G). + DiskSize int `pulumi:"diskSize"` + // Cloud disk type. Valid values: `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_SSD`: cloud SSD disk, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD, `LOCAL_NVME`: local NVME disk. + DiskType string `pulumi:"diskType"` + // Pass in this parameter to create an encrypted cloud disk. The value is fixed to `ENCRYPT`. + Encrypt *string `pulumi:"encrypt"` + // File system (ext3/ext4/xfs). + FileSystem *string `pulumi:"fileSystem"` + // Customize the key when purchasing an encrypted disk. When this parameter is passed in, the Encrypt parameter is not empty. + KmsKeyId *string `pulumi:"kmsKeyId"` + // Mount directory. + MountTarget *string `pulumi:"mountTarget"` + // Snapshot ID. If passed in, the cloud disk will be created based on this snapshot. The snapshot type must be a data disk snapshot. + SnapshotId *string `pulumi:"snapshotId"` + // Cloud disk performance, unit: MB/s. Use this parameter to purchase additional performance for the cloud disk. + ThroughputPerformance *int `pulumi:"throughputPerformance"` +} + +// NativeNodePoolNativeDataDiskInput is an input type that accepts NativeNodePoolNativeDataDiskArgs and NativeNodePoolNativeDataDiskOutput values. +// You can construct a concrete instance of `NativeNodePoolNativeDataDiskInput` via: +// +// NativeNodePoolNativeDataDiskArgs{...} +type NativeNodePoolNativeDataDiskInput interface { pulumi.Input - ToNodePoolAutoScalingConfigDataDiskOutput() NodePoolAutoScalingConfigDataDiskOutput - ToNodePoolAutoScalingConfigDataDiskOutputWithContext(context.Context) NodePoolAutoScalingConfigDataDiskOutput + ToNativeNodePoolNativeDataDiskOutput() NativeNodePoolNativeDataDiskOutput + ToNativeNodePoolNativeDataDiskOutputWithContext(context.Context) NativeNodePoolNativeDataDiskOutput } -type NodePoolAutoScalingConfigDataDiskArgs struct { - // Indicates whether the disk remove after instance terminated. Default is `false`. - DeleteWithInstance pulumi.BoolPtrInput `pulumi:"deleteWithInstance"` - // Volume of disk in GB. Default is `0`. - DiskSize pulumi.IntPtrInput `pulumi:"diskSize"` - // Types of disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. - DiskType pulumi.StringPtrInput `pulumi:"diskType"` - // Specify whether to encrypt data disk, default: false. NOTE: Make sure the instance type is offering and the cam role `QcloudKMSAccessForCVMRole` was provided. - Encrypt pulumi.BoolPtrInput `pulumi:"encrypt"` - // Data disk snapshot ID. +type NativeNodePoolNativeDataDiskArgs struct { + // Whether to automatically format the disk and mount it. + AutoFormatAndMount pulumi.BoolInput `pulumi:"autoFormatAndMount"` + // Mount device name or partition name. + DiskPartition pulumi.StringPtrInput `pulumi:"diskPartition"` + // Cloud disk size (G). + DiskSize pulumi.IntInput `pulumi:"diskSize"` + // Cloud disk type. Valid values: `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_SSD`: cloud SSD disk, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD, `LOCAL_NVME`: local NVME disk. + DiskType pulumi.StringInput `pulumi:"diskType"` + // Pass in this parameter to create an encrypted cloud disk. The value is fixed to `ENCRYPT`. + Encrypt pulumi.StringPtrInput `pulumi:"encrypt"` + // File system (ext3/ext4/xfs). + FileSystem pulumi.StringPtrInput `pulumi:"fileSystem"` + // Customize the key when purchasing an encrypted disk. When this parameter is passed in, the Encrypt parameter is not empty. + KmsKeyId pulumi.StringPtrInput `pulumi:"kmsKeyId"` + // Mount directory. + MountTarget pulumi.StringPtrInput `pulumi:"mountTarget"` + // Snapshot ID. If passed in, the cloud disk will be created based on this snapshot. The snapshot type must be a data disk snapshot. SnapshotId pulumi.StringPtrInput `pulumi:"snapshotId"` - // Add extra performance to the data disk. Only works when disk type is `CLOUD_TSSD` or `CLOUD_HSSD` and `dataSize` > 460GB. + // Cloud disk performance, unit: MB/s. Use this parameter to purchase additional performance for the cloud disk. ThroughputPerformance pulumi.IntPtrInput `pulumi:"throughputPerformance"` } -func (NodePoolAutoScalingConfigDataDiskArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NodePoolAutoScalingConfigDataDisk)(nil)).Elem() +func (NativeNodePoolNativeDataDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NativeNodePoolNativeDataDisk)(nil)).Elem() } -func (i NodePoolAutoScalingConfigDataDiskArgs) ToNodePoolAutoScalingConfigDataDiskOutput() NodePoolAutoScalingConfigDataDiskOutput { - return i.ToNodePoolAutoScalingConfigDataDiskOutputWithContext(context.Background()) +func (i NativeNodePoolNativeDataDiskArgs) ToNativeNodePoolNativeDataDiskOutput() NativeNodePoolNativeDataDiskOutput { + return i.ToNativeNodePoolNativeDataDiskOutputWithContext(context.Background()) } -func (i NodePoolAutoScalingConfigDataDiskArgs) ToNodePoolAutoScalingConfigDataDiskOutputWithContext(ctx context.Context) NodePoolAutoScalingConfigDataDiskOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodePoolAutoScalingConfigDataDiskOutput) +func (i NativeNodePoolNativeDataDiskArgs) ToNativeNodePoolNativeDataDiskOutputWithContext(ctx context.Context) NativeNodePoolNativeDataDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(NativeNodePoolNativeDataDiskOutput) } -// NodePoolAutoScalingConfigDataDiskArrayInput is an input type that accepts NodePoolAutoScalingConfigDataDiskArray and NodePoolAutoScalingConfigDataDiskArrayOutput values. -// You can construct a concrete instance of `NodePoolAutoScalingConfigDataDiskArrayInput` via: +// NativeNodePoolNativeDataDiskArrayInput is an input type that accepts NativeNodePoolNativeDataDiskArray and NativeNodePoolNativeDataDiskArrayOutput values. +// You can construct a concrete instance of `NativeNodePoolNativeDataDiskArrayInput` via: // -// NodePoolAutoScalingConfigDataDiskArray{ NodePoolAutoScalingConfigDataDiskArgs{...} } -type NodePoolAutoScalingConfigDataDiskArrayInput interface { +// NativeNodePoolNativeDataDiskArray{ NativeNodePoolNativeDataDiskArgs{...} } +type NativeNodePoolNativeDataDiskArrayInput interface { pulumi.Input - ToNodePoolAutoScalingConfigDataDiskArrayOutput() NodePoolAutoScalingConfigDataDiskArrayOutput - ToNodePoolAutoScalingConfigDataDiskArrayOutputWithContext(context.Context) NodePoolAutoScalingConfigDataDiskArrayOutput + ToNativeNodePoolNativeDataDiskArrayOutput() NativeNodePoolNativeDataDiskArrayOutput + ToNativeNodePoolNativeDataDiskArrayOutputWithContext(context.Context) NativeNodePoolNativeDataDiskArrayOutput } -type NodePoolAutoScalingConfigDataDiskArray []NodePoolAutoScalingConfigDataDiskInput +type NativeNodePoolNativeDataDiskArray []NativeNodePoolNativeDataDiskInput -func (NodePoolAutoScalingConfigDataDiskArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NodePoolAutoScalingConfigDataDisk)(nil)).Elem() +func (NativeNodePoolNativeDataDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NativeNodePoolNativeDataDisk)(nil)).Elem() } -func (i NodePoolAutoScalingConfigDataDiskArray) ToNodePoolAutoScalingConfigDataDiskArrayOutput() NodePoolAutoScalingConfigDataDiskArrayOutput { - return i.ToNodePoolAutoScalingConfigDataDiskArrayOutputWithContext(context.Background()) +func (i NativeNodePoolNativeDataDiskArray) ToNativeNodePoolNativeDataDiskArrayOutput() NativeNodePoolNativeDataDiskArrayOutput { + return i.ToNativeNodePoolNativeDataDiskArrayOutputWithContext(context.Background()) } -func (i NodePoolAutoScalingConfigDataDiskArray) ToNodePoolAutoScalingConfigDataDiskArrayOutputWithContext(ctx context.Context) NodePoolAutoScalingConfigDataDiskArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodePoolAutoScalingConfigDataDiskArrayOutput) +func (i NativeNodePoolNativeDataDiskArray) ToNativeNodePoolNativeDataDiskArrayOutputWithContext(ctx context.Context) NativeNodePoolNativeDataDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NativeNodePoolNativeDataDiskArrayOutput) } -type NodePoolAutoScalingConfigDataDiskOutput struct{ *pulumi.OutputState } +type NativeNodePoolNativeDataDiskOutput struct{ *pulumi.OutputState } -func (NodePoolAutoScalingConfigDataDiskOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NodePoolAutoScalingConfigDataDisk)(nil)).Elem() +func (NativeNodePoolNativeDataDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NativeNodePoolNativeDataDisk)(nil)).Elem() } -func (o NodePoolAutoScalingConfigDataDiskOutput) ToNodePoolAutoScalingConfigDataDiskOutput() NodePoolAutoScalingConfigDataDiskOutput { +func (o NativeNodePoolNativeDataDiskOutput) ToNativeNodePoolNativeDataDiskOutput() NativeNodePoolNativeDataDiskOutput { return o } -func (o NodePoolAutoScalingConfigDataDiskOutput) ToNodePoolAutoScalingConfigDataDiskOutputWithContext(ctx context.Context) NodePoolAutoScalingConfigDataDiskOutput { +func (o NativeNodePoolNativeDataDiskOutput) ToNativeNodePoolNativeDataDiskOutputWithContext(ctx context.Context) NativeNodePoolNativeDataDiskOutput { return o } -// Indicates whether the disk remove after instance terminated. Default is `false`. -func (o NodePoolAutoScalingConfigDataDiskOutput) DeleteWithInstance() pulumi.BoolPtrOutput { - return o.ApplyT(func(v NodePoolAutoScalingConfigDataDisk) *bool { return v.DeleteWithInstance }).(pulumi.BoolPtrOutput) +// Whether to automatically format the disk and mount it. +func (o NativeNodePoolNativeDataDiskOutput) AutoFormatAndMount() pulumi.BoolOutput { + return o.ApplyT(func(v NativeNodePoolNativeDataDisk) bool { return v.AutoFormatAndMount }).(pulumi.BoolOutput) } -// Volume of disk in GB. Default is `0`. -func (o NodePoolAutoScalingConfigDataDiskOutput) DiskSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v NodePoolAutoScalingConfigDataDisk) *int { return v.DiskSize }).(pulumi.IntPtrOutput) +// Mount device name or partition name. +func (o NativeNodePoolNativeDataDiskOutput) DiskPartition() pulumi.StringPtrOutput { + return o.ApplyT(func(v NativeNodePoolNativeDataDisk) *string { return v.DiskPartition }).(pulumi.StringPtrOutput) } -// Types of disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. -func (o NodePoolAutoScalingConfigDataDiskOutput) DiskType() pulumi.StringPtrOutput { - return o.ApplyT(func(v NodePoolAutoScalingConfigDataDisk) *string { return v.DiskType }).(pulumi.StringPtrOutput) +// Cloud disk size (G). +func (o NativeNodePoolNativeDataDiskOutput) DiskSize() pulumi.IntOutput { + return o.ApplyT(func(v NativeNodePoolNativeDataDisk) int { return v.DiskSize }).(pulumi.IntOutput) } -// Specify whether to encrypt data disk, default: false. NOTE: Make sure the instance type is offering and the cam role `QcloudKMSAccessForCVMRole` was provided. -func (o NodePoolAutoScalingConfigDataDiskOutput) Encrypt() pulumi.BoolPtrOutput { - return o.ApplyT(func(v NodePoolAutoScalingConfigDataDisk) *bool { return v.Encrypt }).(pulumi.BoolPtrOutput) +// Cloud disk type. Valid values: `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_SSD`: cloud SSD disk, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD, `LOCAL_NVME`: local NVME disk. +func (o NativeNodePoolNativeDataDiskOutput) DiskType() pulumi.StringOutput { + return o.ApplyT(func(v NativeNodePoolNativeDataDisk) string { return v.DiskType }).(pulumi.StringOutput) } -// Data disk snapshot ID. -func (o NodePoolAutoScalingConfigDataDiskOutput) SnapshotId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NodePoolAutoScalingConfigDataDisk) *string { return v.SnapshotId }).(pulumi.StringPtrOutput) +// Pass in this parameter to create an encrypted cloud disk. The value is fixed to `ENCRYPT`. +func (o NativeNodePoolNativeDataDiskOutput) Encrypt() pulumi.StringPtrOutput { + return o.ApplyT(func(v NativeNodePoolNativeDataDisk) *string { return v.Encrypt }).(pulumi.StringPtrOutput) } -// Add extra performance to the data disk. Only works when disk type is `CLOUD_TSSD` or `CLOUD_HSSD` and `dataSize` > 460GB. -func (o NodePoolAutoScalingConfigDataDiskOutput) ThroughputPerformance() pulumi.IntPtrOutput { - return o.ApplyT(func(v NodePoolAutoScalingConfigDataDisk) *int { return v.ThroughputPerformance }).(pulumi.IntPtrOutput) +// File system (ext3/ext4/xfs). +func (o NativeNodePoolNativeDataDiskOutput) FileSystem() pulumi.StringPtrOutput { + return o.ApplyT(func(v NativeNodePoolNativeDataDisk) *string { return v.FileSystem }).(pulumi.StringPtrOutput) } -type NodePoolAutoScalingConfigDataDiskArrayOutput struct{ *pulumi.OutputState } +// Customize the key when purchasing an encrypted disk. When this parameter is passed in, the Encrypt parameter is not empty. +func (o NativeNodePoolNativeDataDiskOutput) KmsKeyId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NativeNodePoolNativeDataDisk) *string { return v.KmsKeyId }).(pulumi.StringPtrOutput) +} -func (NodePoolAutoScalingConfigDataDiskArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NodePoolAutoScalingConfigDataDisk)(nil)).Elem() +// Mount directory. +func (o NativeNodePoolNativeDataDiskOutput) MountTarget() pulumi.StringPtrOutput { + return o.ApplyT(func(v NativeNodePoolNativeDataDisk) *string { return v.MountTarget }).(pulumi.StringPtrOutput) } -func (o NodePoolAutoScalingConfigDataDiskArrayOutput) ToNodePoolAutoScalingConfigDataDiskArrayOutput() NodePoolAutoScalingConfigDataDiskArrayOutput { +// Snapshot ID. If passed in, the cloud disk will be created based on this snapshot. The snapshot type must be a data disk snapshot. +func (o NativeNodePoolNativeDataDiskOutput) SnapshotId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NativeNodePoolNativeDataDisk) *string { return v.SnapshotId }).(pulumi.StringPtrOutput) +} + +// Cloud disk performance, unit: MB/s. Use this parameter to purchase additional performance for the cloud disk. +func (o NativeNodePoolNativeDataDiskOutput) ThroughputPerformance() pulumi.IntPtrOutput { + return o.ApplyT(func(v NativeNodePoolNativeDataDisk) *int { return v.ThroughputPerformance }).(pulumi.IntPtrOutput) +} + +type NativeNodePoolNativeDataDiskArrayOutput struct{ *pulumi.OutputState } + +func (NativeNodePoolNativeDataDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NativeNodePoolNativeDataDisk)(nil)).Elem() +} + +func (o NativeNodePoolNativeDataDiskArrayOutput) ToNativeNodePoolNativeDataDiskArrayOutput() NativeNodePoolNativeDataDiskArrayOutput { return o } -func (o NodePoolAutoScalingConfigDataDiskArrayOutput) ToNodePoolAutoScalingConfigDataDiskArrayOutputWithContext(ctx context.Context) NodePoolAutoScalingConfigDataDiskArrayOutput { +func (o NativeNodePoolNativeDataDiskArrayOutput) ToNativeNodePoolNativeDataDiskArrayOutputWithContext(ctx context.Context) NativeNodePoolNativeDataDiskArrayOutput { return o } -func (o NodePoolAutoScalingConfigDataDiskArrayOutput) Index(i pulumi.IntInput) NodePoolAutoScalingConfigDataDiskOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NodePoolAutoScalingConfigDataDisk { - return vs[0].([]NodePoolAutoScalingConfigDataDisk)[vs[1].(int)] - }).(NodePoolAutoScalingConfigDataDiskOutput) +func (o NativeNodePoolNativeDataDiskArrayOutput) Index(i pulumi.IntInput) NativeNodePoolNativeDataDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NativeNodePoolNativeDataDisk { + return vs[0].([]NativeNodePoolNativeDataDisk)[vs[1].(int)] + }).(NativeNodePoolNativeDataDiskOutput) } -type NodePoolNodeConfig struct { - // Configurations of data disk. - DataDisks []NodePoolNodeConfigDataDisk `pulumi:"dataDisks"` - // Indicate to set desired pod number in node. valid when the cluster is podCIDR. - DesiredPodNum *int `pulumi:"desiredPodNum"` - // Docker graph path. Default is `/var/lib/docker`. - DockerGraphPath *string `pulumi:"dockerGraphPath"` - // Custom parameter information related to the node. This is a white-list parameter. - ExtraArgs []string `pulumi:"extraArgs"` - // GPU driver parameters. - GpuArgs *NodePoolNodeConfigGpuArgs `pulumi:"gpuArgs"` - // Indicate to schedule the adding node or not. Default is true. - IsSchedule *bool `pulumi:"isSchedule"` - // Mount target. Default is not mounting. - MountTarget *string `pulumi:"mountTarget"` - // Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. - PreStartUserScript *string `pulumi:"preStartUserScript"` - // Base64-encoded User Data text, the length limit is 16KB. - UserData *string `pulumi:"userData"` +type NativeNodePoolNativeInstanceChargePrepaid struct { + // Postpaid billing cycle, unit (month): 1, 2, 3, 4, 5,, 6, 7, 8, 9, 10, 11, 12, 24, 36, 48, 60. + Period int `pulumi:"period"` + // Prepaid renewal method: + RenewFlag *string `pulumi:"renewFlag"` } -// NodePoolNodeConfigInput is an input type that accepts NodePoolNodeConfigArgs and NodePoolNodeConfigOutput values. -// You can construct a concrete instance of `NodePoolNodeConfigInput` via: +// NativeNodePoolNativeInstanceChargePrepaidInput is an input type that accepts NativeNodePoolNativeInstanceChargePrepaidArgs and NativeNodePoolNativeInstanceChargePrepaidOutput values. +// You can construct a concrete instance of `NativeNodePoolNativeInstanceChargePrepaidInput` via: // -// NodePoolNodeConfigArgs{...} -type NodePoolNodeConfigInput interface { +// NativeNodePoolNativeInstanceChargePrepaidArgs{...} +type NativeNodePoolNativeInstanceChargePrepaidInput interface { pulumi.Input - ToNodePoolNodeConfigOutput() NodePoolNodeConfigOutput - ToNodePoolNodeConfigOutputWithContext(context.Context) NodePoolNodeConfigOutput + ToNativeNodePoolNativeInstanceChargePrepaidOutput() NativeNodePoolNativeInstanceChargePrepaidOutput + ToNativeNodePoolNativeInstanceChargePrepaidOutputWithContext(context.Context) NativeNodePoolNativeInstanceChargePrepaidOutput } -type NodePoolNodeConfigArgs struct { - // Configurations of data disk. - DataDisks NodePoolNodeConfigDataDiskArrayInput `pulumi:"dataDisks"` - // Indicate to set desired pod number in node. valid when the cluster is podCIDR. - DesiredPodNum pulumi.IntPtrInput `pulumi:"desiredPodNum"` - // Docker graph path. Default is `/var/lib/docker`. - DockerGraphPath pulumi.StringPtrInput `pulumi:"dockerGraphPath"` - // Custom parameter information related to the node. This is a white-list parameter. - ExtraArgs pulumi.StringArrayInput `pulumi:"extraArgs"` - // GPU driver parameters. - GpuArgs NodePoolNodeConfigGpuArgsPtrInput `pulumi:"gpuArgs"` - // Indicate to schedule the adding node or not. Default is true. - IsSchedule pulumi.BoolPtrInput `pulumi:"isSchedule"` - // Mount target. Default is not mounting. - MountTarget pulumi.StringPtrInput `pulumi:"mountTarget"` - // Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. - PreStartUserScript pulumi.StringPtrInput `pulumi:"preStartUserScript"` - // Base64-encoded User Data text, the length limit is 16KB. - UserData pulumi.StringPtrInput `pulumi:"userData"` +type NativeNodePoolNativeInstanceChargePrepaidArgs struct { + // Postpaid billing cycle, unit (month): 1, 2, 3, 4, 5,, 6, 7, 8, 9, 10, 11, 12, 24, 36, 48, 60. + Period pulumi.IntInput `pulumi:"period"` + // Prepaid renewal method: + RenewFlag pulumi.StringPtrInput `pulumi:"renewFlag"` } -func (NodePoolNodeConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NodePoolNodeConfig)(nil)).Elem() +func (NativeNodePoolNativeInstanceChargePrepaidArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NativeNodePoolNativeInstanceChargePrepaid)(nil)).Elem() } -func (i NodePoolNodeConfigArgs) ToNodePoolNodeConfigOutput() NodePoolNodeConfigOutput { - return i.ToNodePoolNodeConfigOutputWithContext(context.Background()) +func (i NativeNodePoolNativeInstanceChargePrepaidArgs) ToNativeNodePoolNativeInstanceChargePrepaidOutput() NativeNodePoolNativeInstanceChargePrepaidOutput { + return i.ToNativeNodePoolNativeInstanceChargePrepaidOutputWithContext(context.Background()) } -func (i NodePoolNodeConfigArgs) ToNodePoolNodeConfigOutputWithContext(ctx context.Context) NodePoolNodeConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodePoolNodeConfigOutput) +func (i NativeNodePoolNativeInstanceChargePrepaidArgs) ToNativeNodePoolNativeInstanceChargePrepaidOutputWithContext(ctx context.Context) NativeNodePoolNativeInstanceChargePrepaidOutput { + return pulumi.ToOutputWithContext(ctx, i).(NativeNodePoolNativeInstanceChargePrepaidOutput) } -func (i NodePoolNodeConfigArgs) ToNodePoolNodeConfigPtrOutput() NodePoolNodeConfigPtrOutput { - return i.ToNodePoolNodeConfigPtrOutputWithContext(context.Background()) +func (i NativeNodePoolNativeInstanceChargePrepaidArgs) ToNativeNodePoolNativeInstanceChargePrepaidPtrOutput() NativeNodePoolNativeInstanceChargePrepaidPtrOutput { + return i.ToNativeNodePoolNativeInstanceChargePrepaidPtrOutputWithContext(context.Background()) } -func (i NodePoolNodeConfigArgs) ToNodePoolNodeConfigPtrOutputWithContext(ctx context.Context) NodePoolNodeConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodePoolNodeConfigOutput).ToNodePoolNodeConfigPtrOutputWithContext(ctx) +func (i NativeNodePoolNativeInstanceChargePrepaidArgs) ToNativeNodePoolNativeInstanceChargePrepaidPtrOutputWithContext(ctx context.Context) NativeNodePoolNativeInstanceChargePrepaidPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NativeNodePoolNativeInstanceChargePrepaidOutput).ToNativeNodePoolNativeInstanceChargePrepaidPtrOutputWithContext(ctx) } -// NodePoolNodeConfigPtrInput is an input type that accepts NodePoolNodeConfigArgs, NodePoolNodeConfigPtr and NodePoolNodeConfigPtrOutput values. -// You can construct a concrete instance of `NodePoolNodeConfigPtrInput` via: +// NativeNodePoolNativeInstanceChargePrepaidPtrInput is an input type that accepts NativeNodePoolNativeInstanceChargePrepaidArgs, NativeNodePoolNativeInstanceChargePrepaidPtr and NativeNodePoolNativeInstanceChargePrepaidPtrOutput values. +// You can construct a concrete instance of `NativeNodePoolNativeInstanceChargePrepaidPtrInput` via: // -// NodePoolNodeConfigArgs{...} +// NativeNodePoolNativeInstanceChargePrepaidArgs{...} // // or: // // nil -type NodePoolNodeConfigPtrInput interface { +type NativeNodePoolNativeInstanceChargePrepaidPtrInput interface { pulumi.Input - ToNodePoolNodeConfigPtrOutput() NodePoolNodeConfigPtrOutput - ToNodePoolNodeConfigPtrOutputWithContext(context.Context) NodePoolNodeConfigPtrOutput + ToNativeNodePoolNativeInstanceChargePrepaidPtrOutput() NativeNodePoolNativeInstanceChargePrepaidPtrOutput + ToNativeNodePoolNativeInstanceChargePrepaidPtrOutputWithContext(context.Context) NativeNodePoolNativeInstanceChargePrepaidPtrOutput } -type nodePoolNodeConfigPtrType NodePoolNodeConfigArgs +type nativeNodePoolNativeInstanceChargePrepaidPtrType NativeNodePoolNativeInstanceChargePrepaidArgs -func NodePoolNodeConfigPtr(v *NodePoolNodeConfigArgs) NodePoolNodeConfigPtrInput { - return (*nodePoolNodeConfigPtrType)(v) +func NativeNodePoolNativeInstanceChargePrepaidPtr(v *NativeNodePoolNativeInstanceChargePrepaidArgs) NativeNodePoolNativeInstanceChargePrepaidPtrInput { + return (*nativeNodePoolNativeInstanceChargePrepaidPtrType)(v) } -func (*nodePoolNodeConfigPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**NodePoolNodeConfig)(nil)).Elem() +func (*nativeNodePoolNativeInstanceChargePrepaidPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NativeNodePoolNativeInstanceChargePrepaid)(nil)).Elem() } -func (i *nodePoolNodeConfigPtrType) ToNodePoolNodeConfigPtrOutput() NodePoolNodeConfigPtrOutput { - return i.ToNodePoolNodeConfigPtrOutputWithContext(context.Background()) +func (i *nativeNodePoolNativeInstanceChargePrepaidPtrType) ToNativeNodePoolNativeInstanceChargePrepaidPtrOutput() NativeNodePoolNativeInstanceChargePrepaidPtrOutput { + return i.ToNativeNodePoolNativeInstanceChargePrepaidPtrOutputWithContext(context.Background()) } -func (i *nodePoolNodeConfigPtrType) ToNodePoolNodeConfigPtrOutputWithContext(ctx context.Context) NodePoolNodeConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodePoolNodeConfigPtrOutput) +func (i *nativeNodePoolNativeInstanceChargePrepaidPtrType) ToNativeNodePoolNativeInstanceChargePrepaidPtrOutputWithContext(ctx context.Context) NativeNodePoolNativeInstanceChargePrepaidPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NativeNodePoolNativeInstanceChargePrepaidPtrOutput) } -type NodePoolNodeConfigOutput struct{ *pulumi.OutputState } +type NativeNodePoolNativeInstanceChargePrepaidOutput struct{ *pulumi.OutputState } -func (NodePoolNodeConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NodePoolNodeConfig)(nil)).Elem() +func (NativeNodePoolNativeInstanceChargePrepaidOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NativeNodePoolNativeInstanceChargePrepaid)(nil)).Elem() } -func (o NodePoolNodeConfigOutput) ToNodePoolNodeConfigOutput() NodePoolNodeConfigOutput { +func (o NativeNodePoolNativeInstanceChargePrepaidOutput) ToNativeNodePoolNativeInstanceChargePrepaidOutput() NativeNodePoolNativeInstanceChargePrepaidOutput { return o } -func (o NodePoolNodeConfigOutput) ToNodePoolNodeConfigOutputWithContext(ctx context.Context) NodePoolNodeConfigOutput { +func (o NativeNodePoolNativeInstanceChargePrepaidOutput) ToNativeNodePoolNativeInstanceChargePrepaidOutputWithContext(ctx context.Context) NativeNodePoolNativeInstanceChargePrepaidOutput { return o } -func (o NodePoolNodeConfigOutput) ToNodePoolNodeConfigPtrOutput() NodePoolNodeConfigPtrOutput { - return o.ToNodePoolNodeConfigPtrOutputWithContext(context.Background()) +func (o NativeNodePoolNativeInstanceChargePrepaidOutput) ToNativeNodePoolNativeInstanceChargePrepaidPtrOutput() NativeNodePoolNativeInstanceChargePrepaidPtrOutput { + return o.ToNativeNodePoolNativeInstanceChargePrepaidPtrOutputWithContext(context.Background()) } -func (o NodePoolNodeConfigOutput) ToNodePoolNodeConfigPtrOutputWithContext(ctx context.Context) NodePoolNodeConfigPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v NodePoolNodeConfig) *NodePoolNodeConfig { +func (o NativeNodePoolNativeInstanceChargePrepaidOutput) ToNativeNodePoolNativeInstanceChargePrepaidPtrOutputWithContext(ctx context.Context) NativeNodePoolNativeInstanceChargePrepaidPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NativeNodePoolNativeInstanceChargePrepaid) *NativeNodePoolNativeInstanceChargePrepaid { return &v - }).(NodePoolNodeConfigPtrOutput) -} - -// Configurations of data disk. -func (o NodePoolNodeConfigOutput) DataDisks() NodePoolNodeConfigDataDiskArrayOutput { - return o.ApplyT(func(v NodePoolNodeConfig) []NodePoolNodeConfigDataDisk { return v.DataDisks }).(NodePoolNodeConfigDataDiskArrayOutput) + }).(NativeNodePoolNativeInstanceChargePrepaidPtrOutput) } -// Indicate to set desired pod number in node. valid when the cluster is podCIDR. -func (o NodePoolNodeConfigOutput) DesiredPodNum() pulumi.IntPtrOutput { - return o.ApplyT(func(v NodePoolNodeConfig) *int { return v.DesiredPodNum }).(pulumi.IntPtrOutput) -} - -// Docker graph path. Default is `/var/lib/docker`. -func (o NodePoolNodeConfigOutput) DockerGraphPath() pulumi.StringPtrOutput { - return o.ApplyT(func(v NodePoolNodeConfig) *string { return v.DockerGraphPath }).(pulumi.StringPtrOutput) -} - -// Custom parameter information related to the node. This is a white-list parameter. -func (o NodePoolNodeConfigOutput) ExtraArgs() pulumi.StringArrayOutput { - return o.ApplyT(func(v NodePoolNodeConfig) []string { return v.ExtraArgs }).(pulumi.StringArrayOutput) -} - -// GPU driver parameters. -func (o NodePoolNodeConfigOutput) GpuArgs() NodePoolNodeConfigGpuArgsPtrOutput { - return o.ApplyT(func(v NodePoolNodeConfig) *NodePoolNodeConfigGpuArgs { return v.GpuArgs }).(NodePoolNodeConfigGpuArgsPtrOutput) -} - -// Indicate to schedule the adding node or not. Default is true. -func (o NodePoolNodeConfigOutput) IsSchedule() pulumi.BoolPtrOutput { - return o.ApplyT(func(v NodePoolNodeConfig) *bool { return v.IsSchedule }).(pulumi.BoolPtrOutput) -} - -// Mount target. Default is not mounting. -func (o NodePoolNodeConfigOutput) MountTarget() pulumi.StringPtrOutput { - return o.ApplyT(func(v NodePoolNodeConfig) *string { return v.MountTarget }).(pulumi.StringPtrOutput) -} - -// Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. -func (o NodePoolNodeConfigOutput) PreStartUserScript() pulumi.StringPtrOutput { - return o.ApplyT(func(v NodePoolNodeConfig) *string { return v.PreStartUserScript }).(pulumi.StringPtrOutput) +// Postpaid billing cycle, unit (month): 1, 2, 3, 4, 5,, 6, 7, 8, 9, 10, 11, 12, 24, 36, 48, 60. +func (o NativeNodePoolNativeInstanceChargePrepaidOutput) Period() pulumi.IntOutput { + return o.ApplyT(func(v NativeNodePoolNativeInstanceChargePrepaid) int { return v.Period }).(pulumi.IntOutput) } -// Base64-encoded User Data text, the length limit is 16KB. -func (o NodePoolNodeConfigOutput) UserData() pulumi.StringPtrOutput { - return o.ApplyT(func(v NodePoolNodeConfig) *string { return v.UserData }).(pulumi.StringPtrOutput) +// Prepaid renewal method: +func (o NativeNodePoolNativeInstanceChargePrepaidOutput) RenewFlag() pulumi.StringPtrOutput { + return o.ApplyT(func(v NativeNodePoolNativeInstanceChargePrepaid) *string { return v.RenewFlag }).(pulumi.StringPtrOutput) } -type NodePoolNodeConfigPtrOutput struct{ *pulumi.OutputState } +type NativeNodePoolNativeInstanceChargePrepaidPtrOutput struct{ *pulumi.OutputState } -func (NodePoolNodeConfigPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**NodePoolNodeConfig)(nil)).Elem() +func (NativeNodePoolNativeInstanceChargePrepaidPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NativeNodePoolNativeInstanceChargePrepaid)(nil)).Elem() } -func (o NodePoolNodeConfigPtrOutput) ToNodePoolNodeConfigPtrOutput() NodePoolNodeConfigPtrOutput { +func (o NativeNodePoolNativeInstanceChargePrepaidPtrOutput) ToNativeNodePoolNativeInstanceChargePrepaidPtrOutput() NativeNodePoolNativeInstanceChargePrepaidPtrOutput { return o } -func (o NodePoolNodeConfigPtrOutput) ToNodePoolNodeConfigPtrOutputWithContext(ctx context.Context) NodePoolNodeConfigPtrOutput { +func (o NativeNodePoolNativeInstanceChargePrepaidPtrOutput) ToNativeNodePoolNativeInstanceChargePrepaidPtrOutputWithContext(ctx context.Context) NativeNodePoolNativeInstanceChargePrepaidPtrOutput { return o } -func (o NodePoolNodeConfigPtrOutput) Elem() NodePoolNodeConfigOutput { - return o.ApplyT(func(v *NodePoolNodeConfig) NodePoolNodeConfig { +func (o NativeNodePoolNativeInstanceChargePrepaidPtrOutput) Elem() NativeNodePoolNativeInstanceChargePrepaidOutput { + return o.ApplyT(func(v *NativeNodePoolNativeInstanceChargePrepaid) NativeNodePoolNativeInstanceChargePrepaid { if v != nil { return *v } - var ret NodePoolNodeConfig + var ret NativeNodePoolNativeInstanceChargePrepaid return ret - }).(NodePoolNodeConfigOutput) -} - -// Configurations of data disk. -func (o NodePoolNodeConfigPtrOutput) DataDisks() NodePoolNodeConfigDataDiskArrayOutput { - return o.ApplyT(func(v *NodePoolNodeConfig) []NodePoolNodeConfigDataDisk { - if v == nil { - return nil - } - return v.DataDisks - }).(NodePoolNodeConfigDataDiskArrayOutput) + }).(NativeNodePoolNativeInstanceChargePrepaidOutput) } -// Indicate to set desired pod number in node. valid when the cluster is podCIDR. -func (o NodePoolNodeConfigPtrOutput) DesiredPodNum() pulumi.IntPtrOutput { - return o.ApplyT(func(v *NodePoolNodeConfig) *int { +// Postpaid billing cycle, unit (month): 1, 2, 3, 4, 5,, 6, 7, 8, 9, 10, 11, 12, 24, 36, 48, 60. +func (o NativeNodePoolNativeInstanceChargePrepaidPtrOutput) Period() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NativeNodePoolNativeInstanceChargePrepaid) *int { if v == nil { return nil } - return v.DesiredPodNum + return &v.Period }).(pulumi.IntPtrOutput) } -// Docker graph path. Default is `/var/lib/docker`. -func (o NodePoolNodeConfigPtrOutput) DockerGraphPath() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NodePoolNodeConfig) *string { +// Prepaid renewal method: +func (o NativeNodePoolNativeInstanceChargePrepaidPtrOutput) RenewFlag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NativeNodePoolNativeInstanceChargePrepaid) *string { if v == nil { return nil } - return v.DockerGraphPath + return v.RenewFlag }).(pulumi.StringPtrOutput) } -// Custom parameter information related to the node. This is a white-list parameter. -func (o NodePoolNodeConfigPtrOutput) ExtraArgs() pulumi.StringArrayOutput { - return o.ApplyT(func(v *NodePoolNodeConfig) []string { - if v == nil { - return nil - } - return v.ExtraArgs - }).(pulumi.StringArrayOutput) +type NativeNodePoolNativeInternetAccessible struct { + // Bandwidth package ID. Note: When ChargeType is BANDWIDTH_PACKAG, the value cannot be empty; otherwise, the value must be empty. + BandwidthPackageId *string `pulumi:"bandwidthPackageId"` + // Network billing method. Optional value is `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. + ChargeType string `pulumi:"chargeType"` + // Maximum bandwidth output. Note: When chargeType is `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_POSTPAID_BY_HOUR`, the valid range is 1~100. When chargeType is `BANDWIDTH_PACKAG`, the valid range is 1~2000. + MaxBandwidthOut int `pulumi:"maxBandwidthOut"` } -// GPU driver parameters. -func (o NodePoolNodeConfigPtrOutput) GpuArgs() NodePoolNodeConfigGpuArgsPtrOutput { - return o.ApplyT(func(v *NodePoolNodeConfig) *NodePoolNodeConfigGpuArgs { - if v == nil { - return nil - } - return v.GpuArgs - }).(NodePoolNodeConfigGpuArgsPtrOutput) +// NativeNodePoolNativeInternetAccessibleInput is an input type that accepts NativeNodePoolNativeInternetAccessibleArgs and NativeNodePoolNativeInternetAccessibleOutput values. +// You can construct a concrete instance of `NativeNodePoolNativeInternetAccessibleInput` via: +// +// NativeNodePoolNativeInternetAccessibleArgs{...} +type NativeNodePoolNativeInternetAccessibleInput interface { + pulumi.Input + + ToNativeNodePoolNativeInternetAccessibleOutput() NativeNodePoolNativeInternetAccessibleOutput + ToNativeNodePoolNativeInternetAccessibleOutputWithContext(context.Context) NativeNodePoolNativeInternetAccessibleOutput } -// Indicate to schedule the adding node or not. Default is true. -func (o NodePoolNodeConfigPtrOutput) IsSchedule() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *NodePoolNodeConfig) *bool { - if v == nil { - return nil - } - return v.IsSchedule - }).(pulumi.BoolPtrOutput) +type NativeNodePoolNativeInternetAccessibleArgs struct { + // Bandwidth package ID. Note: When ChargeType is BANDWIDTH_PACKAG, the value cannot be empty; otherwise, the value must be empty. + BandwidthPackageId pulumi.StringPtrInput `pulumi:"bandwidthPackageId"` + // Network billing method. Optional value is `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. + ChargeType pulumi.StringInput `pulumi:"chargeType"` + // Maximum bandwidth output. Note: When chargeType is `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_POSTPAID_BY_HOUR`, the valid range is 1~100. When chargeType is `BANDWIDTH_PACKAG`, the valid range is 1~2000. + MaxBandwidthOut pulumi.IntInput `pulumi:"maxBandwidthOut"` } -// Mount target. Default is not mounting. -func (o NodePoolNodeConfigPtrOutput) MountTarget() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NodePoolNodeConfig) *string { - if v == nil { - return nil - } - return v.MountTarget - }).(pulumi.StringPtrOutput) +func (NativeNodePoolNativeInternetAccessibleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NativeNodePoolNativeInternetAccessible)(nil)).Elem() } -// Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. -func (o NodePoolNodeConfigPtrOutput) PreStartUserScript() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NodePoolNodeConfig) *string { - if v == nil { - return nil - } - return v.PreStartUserScript - }).(pulumi.StringPtrOutput) +func (i NativeNodePoolNativeInternetAccessibleArgs) ToNativeNodePoolNativeInternetAccessibleOutput() NativeNodePoolNativeInternetAccessibleOutput { + return i.ToNativeNodePoolNativeInternetAccessibleOutputWithContext(context.Background()) } -// Base64-encoded User Data text, the length limit is 16KB. -func (o NodePoolNodeConfigPtrOutput) UserData() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NodePoolNodeConfig) *string { - if v == nil { - return nil - } - return v.UserData - }).(pulumi.StringPtrOutput) +func (i NativeNodePoolNativeInternetAccessibleArgs) ToNativeNodePoolNativeInternetAccessibleOutputWithContext(ctx context.Context) NativeNodePoolNativeInternetAccessibleOutput { + return pulumi.ToOutputWithContext(ctx, i).(NativeNodePoolNativeInternetAccessibleOutput) } -type NodePoolNodeConfigDataDisk struct { - // Indicate whether to auto format and mount or not. Default is `false`. - AutoFormatAndMount *bool `pulumi:"autoFormatAndMount"` - // The name of the device or partition to mount. NOTE: this argument doesn't support setting in node pool, or will leads to mount error. - DiskPartition *string `pulumi:"diskPartition"` - // Volume of disk in GB. Default is `0`. - DiskSize *int `pulumi:"diskSize"` - // Types of disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. - DiskType *string `pulumi:"diskType"` - // File system, e.g. `ext3/ext4/xfs`. - FileSystem *string `pulumi:"fileSystem"` - // Mount target. - MountTarget *string `pulumi:"mountTarget"` +func (i NativeNodePoolNativeInternetAccessibleArgs) ToNativeNodePoolNativeInternetAccessiblePtrOutput() NativeNodePoolNativeInternetAccessiblePtrOutput { + return i.ToNativeNodePoolNativeInternetAccessiblePtrOutputWithContext(context.Background()) } -// NodePoolNodeConfigDataDiskInput is an input type that accepts NodePoolNodeConfigDataDiskArgs and NodePoolNodeConfigDataDiskOutput values. -// You can construct a concrete instance of `NodePoolNodeConfigDataDiskInput` via: +func (i NativeNodePoolNativeInternetAccessibleArgs) ToNativeNodePoolNativeInternetAccessiblePtrOutputWithContext(ctx context.Context) NativeNodePoolNativeInternetAccessiblePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NativeNodePoolNativeInternetAccessibleOutput).ToNativeNodePoolNativeInternetAccessiblePtrOutputWithContext(ctx) +} + +// NativeNodePoolNativeInternetAccessiblePtrInput is an input type that accepts NativeNodePoolNativeInternetAccessibleArgs, NativeNodePoolNativeInternetAccessiblePtr and NativeNodePoolNativeInternetAccessiblePtrOutput values. +// You can construct a concrete instance of `NativeNodePoolNativeInternetAccessiblePtrInput` via: // -// NodePoolNodeConfigDataDiskArgs{...} -type NodePoolNodeConfigDataDiskInput interface { +// NativeNodePoolNativeInternetAccessibleArgs{...} +// +// or: +// +// nil +type NativeNodePoolNativeInternetAccessiblePtrInput interface { pulumi.Input - ToNodePoolNodeConfigDataDiskOutput() NodePoolNodeConfigDataDiskOutput - ToNodePoolNodeConfigDataDiskOutputWithContext(context.Context) NodePoolNodeConfigDataDiskOutput + ToNativeNodePoolNativeInternetAccessiblePtrOutput() NativeNodePoolNativeInternetAccessiblePtrOutput + ToNativeNodePoolNativeInternetAccessiblePtrOutputWithContext(context.Context) NativeNodePoolNativeInternetAccessiblePtrOutput } -type NodePoolNodeConfigDataDiskArgs struct { - // Indicate whether to auto format and mount or not. Default is `false`. - AutoFormatAndMount pulumi.BoolPtrInput `pulumi:"autoFormatAndMount"` - // The name of the device or partition to mount. NOTE: this argument doesn't support setting in node pool, or will leads to mount error. - DiskPartition pulumi.StringPtrInput `pulumi:"diskPartition"` - // Volume of disk in GB. Default is `0`. - DiskSize pulumi.IntPtrInput `pulumi:"diskSize"` - // Types of disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. - DiskType pulumi.StringPtrInput `pulumi:"diskType"` - // File system, e.g. `ext3/ext4/xfs`. - FileSystem pulumi.StringPtrInput `pulumi:"fileSystem"` - // Mount target. - MountTarget pulumi.StringPtrInput `pulumi:"mountTarget"` -} +type nativeNodePoolNativeInternetAccessiblePtrType NativeNodePoolNativeInternetAccessibleArgs -func (NodePoolNodeConfigDataDiskArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NodePoolNodeConfigDataDisk)(nil)).Elem() +func NativeNodePoolNativeInternetAccessiblePtr(v *NativeNodePoolNativeInternetAccessibleArgs) NativeNodePoolNativeInternetAccessiblePtrInput { + return (*nativeNodePoolNativeInternetAccessiblePtrType)(v) } -func (i NodePoolNodeConfigDataDiskArgs) ToNodePoolNodeConfigDataDiskOutput() NodePoolNodeConfigDataDiskOutput { - return i.ToNodePoolNodeConfigDataDiskOutputWithContext(context.Background()) +func (*nativeNodePoolNativeInternetAccessiblePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NativeNodePoolNativeInternetAccessible)(nil)).Elem() } -func (i NodePoolNodeConfigDataDiskArgs) ToNodePoolNodeConfigDataDiskOutputWithContext(ctx context.Context) NodePoolNodeConfigDataDiskOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodePoolNodeConfigDataDiskOutput) +func (i *nativeNodePoolNativeInternetAccessiblePtrType) ToNativeNodePoolNativeInternetAccessiblePtrOutput() NativeNodePoolNativeInternetAccessiblePtrOutput { + return i.ToNativeNodePoolNativeInternetAccessiblePtrOutputWithContext(context.Background()) } -// NodePoolNodeConfigDataDiskArrayInput is an input type that accepts NodePoolNodeConfigDataDiskArray and NodePoolNodeConfigDataDiskArrayOutput values. -// You can construct a concrete instance of `NodePoolNodeConfigDataDiskArrayInput` via: -// -// NodePoolNodeConfigDataDiskArray{ NodePoolNodeConfigDataDiskArgs{...} } -type NodePoolNodeConfigDataDiskArrayInput interface { - pulumi.Input - - ToNodePoolNodeConfigDataDiskArrayOutput() NodePoolNodeConfigDataDiskArrayOutput - ToNodePoolNodeConfigDataDiskArrayOutputWithContext(context.Context) NodePoolNodeConfigDataDiskArrayOutput +func (i *nativeNodePoolNativeInternetAccessiblePtrType) ToNativeNodePoolNativeInternetAccessiblePtrOutputWithContext(ctx context.Context) NativeNodePoolNativeInternetAccessiblePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NativeNodePoolNativeInternetAccessiblePtrOutput) } -type NodePoolNodeConfigDataDiskArray []NodePoolNodeConfigDataDiskInput +type NativeNodePoolNativeInternetAccessibleOutput struct{ *pulumi.OutputState } -func (NodePoolNodeConfigDataDiskArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NodePoolNodeConfigDataDisk)(nil)).Elem() +func (NativeNodePoolNativeInternetAccessibleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NativeNodePoolNativeInternetAccessible)(nil)).Elem() } -func (i NodePoolNodeConfigDataDiskArray) ToNodePoolNodeConfigDataDiskArrayOutput() NodePoolNodeConfigDataDiskArrayOutput { - return i.ToNodePoolNodeConfigDataDiskArrayOutputWithContext(context.Background()) +func (o NativeNodePoolNativeInternetAccessibleOutput) ToNativeNodePoolNativeInternetAccessibleOutput() NativeNodePoolNativeInternetAccessibleOutput { + return o } -func (i NodePoolNodeConfigDataDiskArray) ToNodePoolNodeConfigDataDiskArrayOutputWithContext(ctx context.Context) NodePoolNodeConfigDataDiskArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodePoolNodeConfigDataDiskArrayOutput) +func (o NativeNodePoolNativeInternetAccessibleOutput) ToNativeNodePoolNativeInternetAccessibleOutputWithContext(ctx context.Context) NativeNodePoolNativeInternetAccessibleOutput { + return o } -type NodePoolNodeConfigDataDiskOutput struct{ *pulumi.OutputState } - -func (NodePoolNodeConfigDataDiskOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NodePoolNodeConfigDataDisk)(nil)).Elem() +func (o NativeNodePoolNativeInternetAccessibleOutput) ToNativeNodePoolNativeInternetAccessiblePtrOutput() NativeNodePoolNativeInternetAccessiblePtrOutput { + return o.ToNativeNodePoolNativeInternetAccessiblePtrOutputWithContext(context.Background()) } -func (o NodePoolNodeConfigDataDiskOutput) ToNodePoolNodeConfigDataDiskOutput() NodePoolNodeConfigDataDiskOutput { - return o +func (o NativeNodePoolNativeInternetAccessibleOutput) ToNativeNodePoolNativeInternetAccessiblePtrOutputWithContext(ctx context.Context) NativeNodePoolNativeInternetAccessiblePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NativeNodePoolNativeInternetAccessible) *NativeNodePoolNativeInternetAccessible { + return &v + }).(NativeNodePoolNativeInternetAccessiblePtrOutput) } -func (o NodePoolNodeConfigDataDiskOutput) ToNodePoolNodeConfigDataDiskOutputWithContext(ctx context.Context) NodePoolNodeConfigDataDiskOutput { - return o +// Bandwidth package ID. Note: When ChargeType is BANDWIDTH_PACKAG, the value cannot be empty; otherwise, the value must be empty. +func (o NativeNodePoolNativeInternetAccessibleOutput) BandwidthPackageId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NativeNodePoolNativeInternetAccessible) *string { return v.BandwidthPackageId }).(pulumi.StringPtrOutput) } -// Indicate whether to auto format and mount or not. Default is `false`. -func (o NodePoolNodeConfigDataDiskOutput) AutoFormatAndMount() pulumi.BoolPtrOutput { - return o.ApplyT(func(v NodePoolNodeConfigDataDisk) *bool { return v.AutoFormatAndMount }).(pulumi.BoolPtrOutput) +// Network billing method. Optional value is `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. +func (o NativeNodePoolNativeInternetAccessibleOutput) ChargeType() pulumi.StringOutput { + return o.ApplyT(func(v NativeNodePoolNativeInternetAccessible) string { return v.ChargeType }).(pulumi.StringOutput) } -// The name of the device or partition to mount. NOTE: this argument doesn't support setting in node pool, or will leads to mount error. -func (o NodePoolNodeConfigDataDiskOutput) DiskPartition() pulumi.StringPtrOutput { - return o.ApplyT(func(v NodePoolNodeConfigDataDisk) *string { return v.DiskPartition }).(pulumi.StringPtrOutput) +// Maximum bandwidth output. Note: When chargeType is `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_POSTPAID_BY_HOUR`, the valid range is 1~100. When chargeType is `BANDWIDTH_PACKAG`, the valid range is 1~2000. +func (o NativeNodePoolNativeInternetAccessibleOutput) MaxBandwidthOut() pulumi.IntOutput { + return o.ApplyT(func(v NativeNodePoolNativeInternetAccessible) int { return v.MaxBandwidthOut }).(pulumi.IntOutput) } -// Volume of disk in GB. Default is `0`. -func (o NodePoolNodeConfigDataDiskOutput) DiskSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v NodePoolNodeConfigDataDisk) *int { return v.DiskSize }).(pulumi.IntPtrOutput) -} +type NativeNodePoolNativeInternetAccessiblePtrOutput struct{ *pulumi.OutputState } -// Types of disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. -func (o NodePoolNodeConfigDataDiskOutput) DiskType() pulumi.StringPtrOutput { - return o.ApplyT(func(v NodePoolNodeConfigDataDisk) *string { return v.DiskType }).(pulumi.StringPtrOutput) +func (NativeNodePoolNativeInternetAccessiblePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NativeNodePoolNativeInternetAccessible)(nil)).Elem() } -// File system, e.g. `ext3/ext4/xfs`. -func (o NodePoolNodeConfigDataDiskOutput) FileSystem() pulumi.StringPtrOutput { - return o.ApplyT(func(v NodePoolNodeConfigDataDisk) *string { return v.FileSystem }).(pulumi.StringPtrOutput) +func (o NativeNodePoolNativeInternetAccessiblePtrOutput) ToNativeNodePoolNativeInternetAccessiblePtrOutput() NativeNodePoolNativeInternetAccessiblePtrOutput { + return o } -// Mount target. -func (o NodePoolNodeConfigDataDiskOutput) MountTarget() pulumi.StringPtrOutput { - return o.ApplyT(func(v NodePoolNodeConfigDataDisk) *string { return v.MountTarget }).(pulumi.StringPtrOutput) +func (o NativeNodePoolNativeInternetAccessiblePtrOutput) ToNativeNodePoolNativeInternetAccessiblePtrOutputWithContext(ctx context.Context) NativeNodePoolNativeInternetAccessiblePtrOutput { + return o } -type NodePoolNodeConfigDataDiskArrayOutput struct{ *pulumi.OutputState } - -func (NodePoolNodeConfigDataDiskArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NodePoolNodeConfigDataDisk)(nil)).Elem() +func (o NativeNodePoolNativeInternetAccessiblePtrOutput) Elem() NativeNodePoolNativeInternetAccessibleOutput { + return o.ApplyT(func(v *NativeNodePoolNativeInternetAccessible) NativeNodePoolNativeInternetAccessible { + if v != nil { + return *v + } + var ret NativeNodePoolNativeInternetAccessible + return ret + }).(NativeNodePoolNativeInternetAccessibleOutput) } -func (o NodePoolNodeConfigDataDiskArrayOutput) ToNodePoolNodeConfigDataDiskArrayOutput() NodePoolNodeConfigDataDiskArrayOutput { - return o +// Bandwidth package ID. Note: When ChargeType is BANDWIDTH_PACKAG, the value cannot be empty; otherwise, the value must be empty. +func (o NativeNodePoolNativeInternetAccessiblePtrOutput) BandwidthPackageId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NativeNodePoolNativeInternetAccessible) *string { + if v == nil { + return nil + } + return v.BandwidthPackageId + }).(pulumi.StringPtrOutput) } -func (o NodePoolNodeConfigDataDiskArrayOutput) ToNodePoolNodeConfigDataDiskArrayOutputWithContext(ctx context.Context) NodePoolNodeConfigDataDiskArrayOutput { - return o +// Network billing method. Optional value is `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. +func (o NativeNodePoolNativeInternetAccessiblePtrOutput) ChargeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NativeNodePoolNativeInternetAccessible) *string { + if v == nil { + return nil + } + return &v.ChargeType + }).(pulumi.StringPtrOutput) } -func (o NodePoolNodeConfigDataDiskArrayOutput) Index(i pulumi.IntInput) NodePoolNodeConfigDataDiskOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NodePoolNodeConfigDataDisk { - return vs[0].([]NodePoolNodeConfigDataDisk)[vs[1].(int)] - }).(NodePoolNodeConfigDataDiskOutput) +// Maximum bandwidth output. Note: When chargeType is `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_POSTPAID_BY_HOUR`, the valid range is 1~100. When chargeType is `BANDWIDTH_PACKAG`, the valid range is 1~2000. +func (o NativeNodePoolNativeInternetAccessiblePtrOutput) MaxBandwidthOut() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NativeNodePoolNativeInternetAccessible) *int { + if v == nil { + return nil + } + return &v.MaxBandwidthOut + }).(pulumi.IntPtrOutput) } -type NodePoolNodeConfigGpuArgs struct { - // CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. - Cuda map[string]interface{} `pulumi:"cuda"` - // cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `docName`: Doc name of cuDNN; `devName`: Dev name of cuDNN. - Cudnn map[string]interface{} `pulumi:"cudnn"` - // Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. - CustomDriver map[string]interface{} `pulumi:"customDriver"` - // GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. - Driver map[string]interface{} `pulumi:"driver"` - // Whether to enable MIG. - MigEnable *bool `pulumi:"migEnable"` +type NativeNodePoolNativeLifecycle struct { + // Custom script after node initialization. + PostInit *string `pulumi:"postInit"` + // Custom script before node initialization. + PreInit *string `pulumi:"preInit"` } -// NodePoolNodeConfigGpuArgsInput is an input type that accepts NodePoolNodeConfigGpuArgsArgs and NodePoolNodeConfigGpuArgsOutput values. -// You can construct a concrete instance of `NodePoolNodeConfigGpuArgsInput` via: +// NativeNodePoolNativeLifecycleInput is an input type that accepts NativeNodePoolNativeLifecycleArgs and NativeNodePoolNativeLifecycleOutput values. +// You can construct a concrete instance of `NativeNodePoolNativeLifecycleInput` via: // -// NodePoolNodeConfigGpuArgsArgs{...} -type NodePoolNodeConfigGpuArgsInput interface { +// NativeNodePoolNativeLifecycleArgs{...} +type NativeNodePoolNativeLifecycleInput interface { pulumi.Input - ToNodePoolNodeConfigGpuArgsOutput() NodePoolNodeConfigGpuArgsOutput - ToNodePoolNodeConfigGpuArgsOutputWithContext(context.Context) NodePoolNodeConfigGpuArgsOutput + ToNativeNodePoolNativeLifecycleOutput() NativeNodePoolNativeLifecycleOutput + ToNativeNodePoolNativeLifecycleOutputWithContext(context.Context) NativeNodePoolNativeLifecycleOutput } -type NodePoolNodeConfigGpuArgsArgs struct { - // CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. - Cuda pulumi.MapInput `pulumi:"cuda"` - // cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `docName`: Doc name of cuDNN; `devName`: Dev name of cuDNN. - Cudnn pulumi.MapInput `pulumi:"cudnn"` - // Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. - CustomDriver pulumi.MapInput `pulumi:"customDriver"` - // GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. - Driver pulumi.MapInput `pulumi:"driver"` - // Whether to enable MIG. - MigEnable pulumi.BoolPtrInput `pulumi:"migEnable"` +type NativeNodePoolNativeLifecycleArgs struct { + // Custom script after node initialization. + PostInit pulumi.StringPtrInput `pulumi:"postInit"` + // Custom script before node initialization. + PreInit pulumi.StringPtrInput `pulumi:"preInit"` } -func (NodePoolNodeConfigGpuArgsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NodePoolNodeConfigGpuArgs)(nil)).Elem() +func (NativeNodePoolNativeLifecycleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NativeNodePoolNativeLifecycle)(nil)).Elem() } -func (i NodePoolNodeConfigGpuArgsArgs) ToNodePoolNodeConfigGpuArgsOutput() NodePoolNodeConfigGpuArgsOutput { - return i.ToNodePoolNodeConfigGpuArgsOutputWithContext(context.Background()) +func (i NativeNodePoolNativeLifecycleArgs) ToNativeNodePoolNativeLifecycleOutput() NativeNodePoolNativeLifecycleOutput { + return i.ToNativeNodePoolNativeLifecycleOutputWithContext(context.Background()) } -func (i NodePoolNodeConfigGpuArgsArgs) ToNodePoolNodeConfigGpuArgsOutputWithContext(ctx context.Context) NodePoolNodeConfigGpuArgsOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodePoolNodeConfigGpuArgsOutput) +func (i NativeNodePoolNativeLifecycleArgs) ToNativeNodePoolNativeLifecycleOutputWithContext(ctx context.Context) NativeNodePoolNativeLifecycleOutput { + return pulumi.ToOutputWithContext(ctx, i).(NativeNodePoolNativeLifecycleOutput) } -func (i NodePoolNodeConfigGpuArgsArgs) ToNodePoolNodeConfigGpuArgsPtrOutput() NodePoolNodeConfigGpuArgsPtrOutput { - return i.ToNodePoolNodeConfigGpuArgsPtrOutputWithContext(context.Background()) +func (i NativeNodePoolNativeLifecycleArgs) ToNativeNodePoolNativeLifecyclePtrOutput() NativeNodePoolNativeLifecyclePtrOutput { + return i.ToNativeNodePoolNativeLifecyclePtrOutputWithContext(context.Background()) } -func (i NodePoolNodeConfigGpuArgsArgs) ToNodePoolNodeConfigGpuArgsPtrOutputWithContext(ctx context.Context) NodePoolNodeConfigGpuArgsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodePoolNodeConfigGpuArgsOutput).ToNodePoolNodeConfigGpuArgsPtrOutputWithContext(ctx) +func (i NativeNodePoolNativeLifecycleArgs) ToNativeNodePoolNativeLifecyclePtrOutputWithContext(ctx context.Context) NativeNodePoolNativeLifecyclePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NativeNodePoolNativeLifecycleOutput).ToNativeNodePoolNativeLifecyclePtrOutputWithContext(ctx) } -// NodePoolNodeConfigGpuArgsPtrInput is an input type that accepts NodePoolNodeConfigGpuArgsArgs, NodePoolNodeConfigGpuArgsPtr and NodePoolNodeConfigGpuArgsPtrOutput values. -// You can construct a concrete instance of `NodePoolNodeConfigGpuArgsPtrInput` via: +// NativeNodePoolNativeLifecyclePtrInput is an input type that accepts NativeNodePoolNativeLifecycleArgs, NativeNodePoolNativeLifecyclePtr and NativeNodePoolNativeLifecyclePtrOutput values. +// You can construct a concrete instance of `NativeNodePoolNativeLifecyclePtrInput` via: // -// NodePoolNodeConfigGpuArgsArgs{...} +// NativeNodePoolNativeLifecycleArgs{...} // // or: // // nil -type NodePoolNodeConfigGpuArgsPtrInput interface { +type NativeNodePoolNativeLifecyclePtrInput interface { pulumi.Input - ToNodePoolNodeConfigGpuArgsPtrOutput() NodePoolNodeConfigGpuArgsPtrOutput - ToNodePoolNodeConfigGpuArgsPtrOutputWithContext(context.Context) NodePoolNodeConfigGpuArgsPtrOutput + ToNativeNodePoolNativeLifecyclePtrOutput() NativeNodePoolNativeLifecyclePtrOutput + ToNativeNodePoolNativeLifecyclePtrOutputWithContext(context.Context) NativeNodePoolNativeLifecyclePtrOutput } -type nodePoolNodeConfigGpuArgsPtrType NodePoolNodeConfigGpuArgsArgs +type nativeNodePoolNativeLifecyclePtrType NativeNodePoolNativeLifecycleArgs -func NodePoolNodeConfigGpuArgsPtr(v *NodePoolNodeConfigGpuArgsArgs) NodePoolNodeConfigGpuArgsPtrInput { - return (*nodePoolNodeConfigGpuArgsPtrType)(v) +func NativeNodePoolNativeLifecyclePtr(v *NativeNodePoolNativeLifecycleArgs) NativeNodePoolNativeLifecyclePtrInput { + return (*nativeNodePoolNativeLifecyclePtrType)(v) } -func (*nodePoolNodeConfigGpuArgsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**NodePoolNodeConfigGpuArgs)(nil)).Elem() +func (*nativeNodePoolNativeLifecyclePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NativeNodePoolNativeLifecycle)(nil)).Elem() } -func (i *nodePoolNodeConfigGpuArgsPtrType) ToNodePoolNodeConfigGpuArgsPtrOutput() NodePoolNodeConfigGpuArgsPtrOutput { - return i.ToNodePoolNodeConfigGpuArgsPtrOutputWithContext(context.Background()) +func (i *nativeNodePoolNativeLifecyclePtrType) ToNativeNodePoolNativeLifecyclePtrOutput() NativeNodePoolNativeLifecyclePtrOutput { + return i.ToNativeNodePoolNativeLifecyclePtrOutputWithContext(context.Background()) } -func (i *nodePoolNodeConfigGpuArgsPtrType) ToNodePoolNodeConfigGpuArgsPtrOutputWithContext(ctx context.Context) NodePoolNodeConfigGpuArgsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodePoolNodeConfigGpuArgsPtrOutput) +func (i *nativeNodePoolNativeLifecyclePtrType) ToNativeNodePoolNativeLifecyclePtrOutputWithContext(ctx context.Context) NativeNodePoolNativeLifecyclePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NativeNodePoolNativeLifecyclePtrOutput) } -type NodePoolNodeConfigGpuArgsOutput struct{ *pulumi.OutputState } +type NativeNodePoolNativeLifecycleOutput struct{ *pulumi.OutputState } -func (NodePoolNodeConfigGpuArgsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NodePoolNodeConfigGpuArgs)(nil)).Elem() +func (NativeNodePoolNativeLifecycleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NativeNodePoolNativeLifecycle)(nil)).Elem() } -func (o NodePoolNodeConfigGpuArgsOutput) ToNodePoolNodeConfigGpuArgsOutput() NodePoolNodeConfigGpuArgsOutput { +func (o NativeNodePoolNativeLifecycleOutput) ToNativeNodePoolNativeLifecycleOutput() NativeNodePoolNativeLifecycleOutput { return o } -func (o NodePoolNodeConfigGpuArgsOutput) ToNodePoolNodeConfigGpuArgsOutputWithContext(ctx context.Context) NodePoolNodeConfigGpuArgsOutput { +func (o NativeNodePoolNativeLifecycleOutput) ToNativeNodePoolNativeLifecycleOutputWithContext(ctx context.Context) NativeNodePoolNativeLifecycleOutput { return o } -func (o NodePoolNodeConfigGpuArgsOutput) ToNodePoolNodeConfigGpuArgsPtrOutput() NodePoolNodeConfigGpuArgsPtrOutput { - return o.ToNodePoolNodeConfigGpuArgsPtrOutputWithContext(context.Background()) +func (o NativeNodePoolNativeLifecycleOutput) ToNativeNodePoolNativeLifecyclePtrOutput() NativeNodePoolNativeLifecyclePtrOutput { + return o.ToNativeNodePoolNativeLifecyclePtrOutputWithContext(context.Background()) } -func (o NodePoolNodeConfigGpuArgsOutput) ToNodePoolNodeConfigGpuArgsPtrOutputWithContext(ctx context.Context) NodePoolNodeConfigGpuArgsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v NodePoolNodeConfigGpuArgs) *NodePoolNodeConfigGpuArgs { +func (o NativeNodePoolNativeLifecycleOutput) ToNativeNodePoolNativeLifecyclePtrOutputWithContext(ctx context.Context) NativeNodePoolNativeLifecyclePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NativeNodePoolNativeLifecycle) *NativeNodePoolNativeLifecycle { return &v - }).(NodePoolNodeConfigGpuArgsPtrOutput) + }).(NativeNodePoolNativeLifecyclePtrOutput) } -// CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. -func (o NodePoolNodeConfigGpuArgsOutput) Cuda() pulumi.MapOutput { - return o.ApplyT(func(v NodePoolNodeConfigGpuArgs) map[string]interface{} { return v.Cuda }).(pulumi.MapOutput) +// Custom script after node initialization. +func (o NativeNodePoolNativeLifecycleOutput) PostInit() pulumi.StringPtrOutput { + return o.ApplyT(func(v NativeNodePoolNativeLifecycle) *string { return v.PostInit }).(pulumi.StringPtrOutput) } -// cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `docName`: Doc name of cuDNN; `devName`: Dev name of cuDNN. -func (o NodePoolNodeConfigGpuArgsOutput) Cudnn() pulumi.MapOutput { - return o.ApplyT(func(v NodePoolNodeConfigGpuArgs) map[string]interface{} { return v.Cudnn }).(pulumi.MapOutput) +// Custom script before node initialization. +func (o NativeNodePoolNativeLifecycleOutput) PreInit() pulumi.StringPtrOutput { + return o.ApplyT(func(v NativeNodePoolNativeLifecycle) *string { return v.PreInit }).(pulumi.StringPtrOutput) } -// Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. -func (o NodePoolNodeConfigGpuArgsOutput) CustomDriver() pulumi.MapOutput { - return o.ApplyT(func(v NodePoolNodeConfigGpuArgs) map[string]interface{} { return v.CustomDriver }).(pulumi.MapOutput) +type NativeNodePoolNativeLifecyclePtrOutput struct{ *pulumi.OutputState } + +func (NativeNodePoolNativeLifecyclePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NativeNodePoolNativeLifecycle)(nil)).Elem() } -// GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. -func (o NodePoolNodeConfigGpuArgsOutput) Driver() pulumi.MapOutput { - return o.ApplyT(func(v NodePoolNodeConfigGpuArgs) map[string]interface{} { return v.Driver }).(pulumi.MapOutput) +func (o NativeNodePoolNativeLifecyclePtrOutput) ToNativeNodePoolNativeLifecyclePtrOutput() NativeNodePoolNativeLifecyclePtrOutput { + return o } -// Whether to enable MIG. -func (o NodePoolNodeConfigGpuArgsOutput) MigEnable() pulumi.BoolPtrOutput { - return o.ApplyT(func(v NodePoolNodeConfigGpuArgs) *bool { return v.MigEnable }).(pulumi.BoolPtrOutput) +func (o NativeNodePoolNativeLifecyclePtrOutput) ToNativeNodePoolNativeLifecyclePtrOutputWithContext(ctx context.Context) NativeNodePoolNativeLifecyclePtrOutput { + return o } -type NodePoolNodeConfigGpuArgsPtrOutput struct{ *pulumi.OutputState } - -func (NodePoolNodeConfigGpuArgsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**NodePoolNodeConfigGpuArgs)(nil)).Elem() -} - -func (o NodePoolNodeConfigGpuArgsPtrOutput) ToNodePoolNodeConfigGpuArgsPtrOutput() NodePoolNodeConfigGpuArgsPtrOutput { - return o -} - -func (o NodePoolNodeConfigGpuArgsPtrOutput) ToNodePoolNodeConfigGpuArgsPtrOutputWithContext(ctx context.Context) NodePoolNodeConfigGpuArgsPtrOutput { - return o -} - -func (o NodePoolNodeConfigGpuArgsPtrOutput) Elem() NodePoolNodeConfigGpuArgsOutput { - return o.ApplyT(func(v *NodePoolNodeConfigGpuArgs) NodePoolNodeConfigGpuArgs { +func (o NativeNodePoolNativeLifecyclePtrOutput) Elem() NativeNodePoolNativeLifecycleOutput { + return o.ApplyT(func(v *NativeNodePoolNativeLifecycle) NativeNodePoolNativeLifecycle { if v != nil { return *v } - var ret NodePoolNodeConfigGpuArgs + var ret NativeNodePoolNativeLifecycle return ret - }).(NodePoolNodeConfigGpuArgsOutput) + }).(NativeNodePoolNativeLifecycleOutput) } -// CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. -func (o NodePoolNodeConfigGpuArgsPtrOutput) Cuda() pulumi.MapOutput { - return o.ApplyT(func(v *NodePoolNodeConfigGpuArgs) map[string]interface{} { +// Custom script after node initialization. +func (o NativeNodePoolNativeLifecyclePtrOutput) PostInit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NativeNodePoolNativeLifecycle) *string { if v == nil { return nil } - return v.Cuda - }).(pulumi.MapOutput) + return v.PostInit + }).(pulumi.StringPtrOutput) } -// cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `docName`: Doc name of cuDNN; `devName`: Dev name of cuDNN. -func (o NodePoolNodeConfigGpuArgsPtrOutput) Cudnn() pulumi.MapOutput { - return o.ApplyT(func(v *NodePoolNodeConfigGpuArgs) map[string]interface{} { +// Custom script before node initialization. +func (o NativeNodePoolNativeLifecyclePtrOutput) PreInit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NativeNodePoolNativeLifecycle) *string { if v == nil { return nil } - return v.Cudnn - }).(pulumi.MapOutput) + return v.PreInit + }).(pulumi.StringPtrOutput) } -// Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. -func (o NodePoolNodeConfigGpuArgsPtrOutput) CustomDriver() pulumi.MapOutput { - return o.ApplyT(func(v *NodePoolNodeConfigGpuArgs) map[string]interface{} { - if v == nil { - return nil - } - return v.CustomDriver - }).(pulumi.MapOutput) +type NativeNodePoolNativeManagement struct { + // Hosts configuration. + Hosts []string `pulumi:"hosts"` + // Kernel parameter configuration. + KernelArgs []string `pulumi:"kernelArgs"` + // Dns configuration. + Nameservers []string `pulumi:"nameservers"` } -// GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. -func (o NodePoolNodeConfigGpuArgsPtrOutput) Driver() pulumi.MapOutput { - return o.ApplyT(func(v *NodePoolNodeConfigGpuArgs) map[string]interface{} { - if v == nil { - return nil - } - return v.Driver - }).(pulumi.MapOutput) -} +// NativeNodePoolNativeManagementInput is an input type that accepts NativeNodePoolNativeManagementArgs and NativeNodePoolNativeManagementOutput values. +// You can construct a concrete instance of `NativeNodePoolNativeManagementInput` via: +// +// NativeNodePoolNativeManagementArgs{...} +type NativeNodePoolNativeManagementInput interface { + pulumi.Input -// Whether to enable MIG. -func (o NodePoolNodeConfigGpuArgsPtrOutput) MigEnable() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *NodePoolNodeConfigGpuArgs) *bool { - if v == nil { - return nil - } - return v.MigEnable - }).(pulumi.BoolPtrOutput) + ToNativeNodePoolNativeManagementOutput() NativeNodePoolNativeManagementOutput + ToNativeNodePoolNativeManagementOutputWithContext(context.Context) NativeNodePoolNativeManagementOutput } -type NodePoolTaint struct { - // Effect of the taint. Valid values are: `NoSchedule`, `PreferNoSchedule`, `NoExecute`. - Effect string `pulumi:"effect"` - // Key of the taint. The taint key name does not exceed 63 characters, only supports English, numbers,'/','-', and does not allow beginning with ('/'). - Key string `pulumi:"key"` - // Value of the taint. - Value string `pulumi:"value"` +type NativeNodePoolNativeManagementArgs struct { + // Hosts configuration. + Hosts pulumi.StringArrayInput `pulumi:"hosts"` + // Kernel parameter configuration. + KernelArgs pulumi.StringArrayInput `pulumi:"kernelArgs"` + // Dns configuration. + Nameservers pulumi.StringArrayInput `pulumi:"nameservers"` } -// NodePoolTaintInput is an input type that accepts NodePoolTaintArgs and NodePoolTaintOutput values. -// You can construct a concrete instance of `NodePoolTaintInput` via: -// -// NodePoolTaintArgs{...} -type NodePoolTaintInput interface { - pulumi.Input - - ToNodePoolTaintOutput() NodePoolTaintOutput - ToNodePoolTaintOutputWithContext(context.Context) NodePoolTaintOutput +func (NativeNodePoolNativeManagementArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NativeNodePoolNativeManagement)(nil)).Elem() } -type NodePoolTaintArgs struct { - // Effect of the taint. Valid values are: `NoSchedule`, `PreferNoSchedule`, `NoExecute`. - Effect pulumi.StringInput `pulumi:"effect"` - // Key of the taint. The taint key name does not exceed 63 characters, only supports English, numbers,'/','-', and does not allow beginning with ('/'). - Key pulumi.StringInput `pulumi:"key"` - // Value of the taint. - Value pulumi.StringInput `pulumi:"value"` +func (i NativeNodePoolNativeManagementArgs) ToNativeNodePoolNativeManagementOutput() NativeNodePoolNativeManagementOutput { + return i.ToNativeNodePoolNativeManagementOutputWithContext(context.Background()) } -func (NodePoolTaintArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NodePoolTaint)(nil)).Elem() +func (i NativeNodePoolNativeManagementArgs) ToNativeNodePoolNativeManagementOutputWithContext(ctx context.Context) NativeNodePoolNativeManagementOutput { + return pulumi.ToOutputWithContext(ctx, i).(NativeNodePoolNativeManagementOutput) } -func (i NodePoolTaintArgs) ToNodePoolTaintOutput() NodePoolTaintOutput { - return i.ToNodePoolTaintOutputWithContext(context.Background()) +func (i NativeNodePoolNativeManagementArgs) ToNativeNodePoolNativeManagementPtrOutput() NativeNodePoolNativeManagementPtrOutput { + return i.ToNativeNodePoolNativeManagementPtrOutputWithContext(context.Background()) } -func (i NodePoolTaintArgs) ToNodePoolTaintOutputWithContext(ctx context.Context) NodePoolTaintOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodePoolTaintOutput) +func (i NativeNodePoolNativeManagementArgs) ToNativeNodePoolNativeManagementPtrOutputWithContext(ctx context.Context) NativeNodePoolNativeManagementPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NativeNodePoolNativeManagementOutput).ToNativeNodePoolNativeManagementPtrOutputWithContext(ctx) } -// NodePoolTaintArrayInput is an input type that accepts NodePoolTaintArray and NodePoolTaintArrayOutput values. -// You can construct a concrete instance of `NodePoolTaintArrayInput` via: +// NativeNodePoolNativeManagementPtrInput is an input type that accepts NativeNodePoolNativeManagementArgs, NativeNodePoolNativeManagementPtr and NativeNodePoolNativeManagementPtrOutput values. +// You can construct a concrete instance of `NativeNodePoolNativeManagementPtrInput` via: // -// NodePoolTaintArray{ NodePoolTaintArgs{...} } -type NodePoolTaintArrayInput interface { +// NativeNodePoolNativeManagementArgs{...} +// +// or: +// +// nil +type NativeNodePoolNativeManagementPtrInput interface { pulumi.Input - ToNodePoolTaintArrayOutput() NodePoolTaintArrayOutput - ToNodePoolTaintArrayOutputWithContext(context.Context) NodePoolTaintArrayOutput + ToNativeNodePoolNativeManagementPtrOutput() NativeNodePoolNativeManagementPtrOutput + ToNativeNodePoolNativeManagementPtrOutputWithContext(context.Context) NativeNodePoolNativeManagementPtrOutput } -type NodePoolTaintArray []NodePoolTaintInput +type nativeNodePoolNativeManagementPtrType NativeNodePoolNativeManagementArgs -func (NodePoolTaintArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NodePoolTaint)(nil)).Elem() +func NativeNodePoolNativeManagementPtr(v *NativeNodePoolNativeManagementArgs) NativeNodePoolNativeManagementPtrInput { + return (*nativeNodePoolNativeManagementPtrType)(v) } -func (i NodePoolTaintArray) ToNodePoolTaintArrayOutput() NodePoolTaintArrayOutput { - return i.ToNodePoolTaintArrayOutputWithContext(context.Background()) +func (*nativeNodePoolNativeManagementPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NativeNodePoolNativeManagement)(nil)).Elem() } -func (i NodePoolTaintArray) ToNodePoolTaintArrayOutputWithContext(ctx context.Context) NodePoolTaintArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NodePoolTaintArrayOutput) +func (i *nativeNodePoolNativeManagementPtrType) ToNativeNodePoolNativeManagementPtrOutput() NativeNodePoolNativeManagementPtrOutput { + return i.ToNativeNodePoolNativeManagementPtrOutputWithContext(context.Background()) } -type NodePoolTaintOutput struct{ *pulumi.OutputState } +func (i *nativeNodePoolNativeManagementPtrType) ToNativeNodePoolNativeManagementPtrOutputWithContext(ctx context.Context) NativeNodePoolNativeManagementPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NativeNodePoolNativeManagementPtrOutput) +} -func (NodePoolTaintOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NodePoolTaint)(nil)).Elem() +type NativeNodePoolNativeManagementOutput struct{ *pulumi.OutputState } + +func (NativeNodePoolNativeManagementOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NativeNodePoolNativeManagement)(nil)).Elem() } -func (o NodePoolTaintOutput) ToNodePoolTaintOutput() NodePoolTaintOutput { +func (o NativeNodePoolNativeManagementOutput) ToNativeNodePoolNativeManagementOutput() NativeNodePoolNativeManagementOutput { return o } -func (o NodePoolTaintOutput) ToNodePoolTaintOutputWithContext(ctx context.Context) NodePoolTaintOutput { +func (o NativeNodePoolNativeManagementOutput) ToNativeNodePoolNativeManagementOutputWithContext(ctx context.Context) NativeNodePoolNativeManagementOutput { return o } -// Effect of the taint. Valid values are: `NoSchedule`, `PreferNoSchedule`, `NoExecute`. -func (o NodePoolTaintOutput) Effect() pulumi.StringOutput { - return o.ApplyT(func(v NodePoolTaint) string { return v.Effect }).(pulumi.StringOutput) +func (o NativeNodePoolNativeManagementOutput) ToNativeNodePoolNativeManagementPtrOutput() NativeNodePoolNativeManagementPtrOutput { + return o.ToNativeNodePoolNativeManagementPtrOutputWithContext(context.Background()) } -// Key of the taint. The taint key name does not exceed 63 characters, only supports English, numbers,'/','-', and does not allow beginning with ('/'). -func (o NodePoolTaintOutput) Key() pulumi.StringOutput { - return o.ApplyT(func(v NodePoolTaint) string { return v.Key }).(pulumi.StringOutput) +func (o NativeNodePoolNativeManagementOutput) ToNativeNodePoolNativeManagementPtrOutputWithContext(ctx context.Context) NativeNodePoolNativeManagementPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NativeNodePoolNativeManagement) *NativeNodePoolNativeManagement { + return &v + }).(NativeNodePoolNativeManagementPtrOutput) } -// Value of the taint. -func (o NodePoolTaintOutput) Value() pulumi.StringOutput { - return o.ApplyT(func(v NodePoolTaint) string { return v.Value }).(pulumi.StringOutput) +// Hosts configuration. +func (o NativeNodePoolNativeManagementOutput) Hosts() pulumi.StringArrayOutput { + return o.ApplyT(func(v NativeNodePoolNativeManagement) []string { return v.Hosts }).(pulumi.StringArrayOutput) } -type NodePoolTaintArrayOutput struct{ *pulumi.OutputState } +// Kernel parameter configuration. +func (o NativeNodePoolNativeManagementOutput) KernelArgs() pulumi.StringArrayOutput { + return o.ApplyT(func(v NativeNodePoolNativeManagement) []string { return v.KernelArgs }).(pulumi.StringArrayOutput) +} -func (NodePoolTaintArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NodePoolTaint)(nil)).Elem() +// Dns configuration. +func (o NativeNodePoolNativeManagementOutput) Nameservers() pulumi.StringArrayOutput { + return o.ApplyT(func(v NativeNodePoolNativeManagement) []string { return v.Nameservers }).(pulumi.StringArrayOutput) } -func (o NodePoolTaintArrayOutput) ToNodePoolTaintArrayOutput() NodePoolTaintArrayOutput { +type NativeNodePoolNativeManagementPtrOutput struct{ *pulumi.OutputState } + +func (NativeNodePoolNativeManagementPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NativeNodePoolNativeManagement)(nil)).Elem() +} + +func (o NativeNodePoolNativeManagementPtrOutput) ToNativeNodePoolNativeManagementPtrOutput() NativeNodePoolNativeManagementPtrOutput { return o } -func (o NodePoolTaintArrayOutput) ToNodePoolTaintArrayOutputWithContext(ctx context.Context) NodePoolTaintArrayOutput { +func (o NativeNodePoolNativeManagementPtrOutput) ToNativeNodePoolNativeManagementPtrOutputWithContext(ctx context.Context) NativeNodePoolNativeManagementPtrOutput { return o } -func (o NodePoolTaintArrayOutput) Index(i pulumi.IntInput) NodePoolTaintOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NodePoolTaint { - return vs[0].([]NodePoolTaint)[vs[1].(int)] - }).(NodePoolTaintOutput) +func (o NativeNodePoolNativeManagementPtrOutput) Elem() NativeNodePoolNativeManagementOutput { + return o.ApplyT(func(v *NativeNodePoolNativeManagement) NativeNodePoolNativeManagement { + if v != nil { + return *v + } + var ret NativeNodePoolNativeManagement + return ret + }).(NativeNodePoolNativeManagementOutput) } -type ScaleWorkerDataDisk struct { - // Indicate whether to auto format and mount or not. Default is `false`. - AutoFormatAndMount *bool `pulumi:"autoFormatAndMount"` - // Volume of disk in GB. Default is `0`. - DiskSize *int `pulumi:"diskSize"` - // Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD` and `CLOUD_HSSD` and `CLOUD_TSSD`. - DiskType *string `pulumi:"diskType"` - // File system, e.g. `ext3/ext4/xfs`. - FileSystem *string `pulumi:"fileSystem"` - // Mount target. - MountTarget *string `pulumi:"mountTarget"` +// Hosts configuration. +func (o NativeNodePoolNativeManagementPtrOutput) Hosts() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NativeNodePoolNativeManagement) []string { + if v == nil { + return nil + } + return v.Hosts + }).(pulumi.StringArrayOutput) } -// ScaleWorkerDataDiskInput is an input type that accepts ScaleWorkerDataDiskArgs and ScaleWorkerDataDiskOutput values. -// You can construct a concrete instance of `ScaleWorkerDataDiskInput` via: +// Kernel parameter configuration. +func (o NativeNodePoolNativeManagementPtrOutput) KernelArgs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NativeNodePoolNativeManagement) []string { + if v == nil { + return nil + } + return v.KernelArgs + }).(pulumi.StringArrayOutput) +} + +// Dns configuration. +func (o NativeNodePoolNativeManagementPtrOutput) Nameservers() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NativeNodePoolNativeManagement) []string { + if v == nil { + return nil + } + return v.Nameservers + }).(pulumi.StringArrayOutput) +} + +type NativeNodePoolNativeScaling struct { + // Node pool expansion strategy. `ZoneEquality`: multiple availability zones are broken up; `ZonePriority`: the preferred availability zone takes precedence. + CreatePolicy *string `pulumi:"createPolicy"` + // Maximum number of replicas in node pool. + MaxReplicas *int `pulumi:"maxReplicas"` + // Minimum number of replicas in node pool. + MinReplicas *int `pulumi:"minReplicas"` +} + +// NativeNodePoolNativeScalingInput is an input type that accepts NativeNodePoolNativeScalingArgs and NativeNodePoolNativeScalingOutput values. +// You can construct a concrete instance of `NativeNodePoolNativeScalingInput` via: // -// ScaleWorkerDataDiskArgs{...} -type ScaleWorkerDataDiskInput interface { +// NativeNodePoolNativeScalingArgs{...} +type NativeNodePoolNativeScalingInput interface { pulumi.Input - ToScaleWorkerDataDiskOutput() ScaleWorkerDataDiskOutput - ToScaleWorkerDataDiskOutputWithContext(context.Context) ScaleWorkerDataDiskOutput + ToNativeNodePoolNativeScalingOutput() NativeNodePoolNativeScalingOutput + ToNativeNodePoolNativeScalingOutputWithContext(context.Context) NativeNodePoolNativeScalingOutput } -type ScaleWorkerDataDiskArgs struct { - // Indicate whether to auto format and mount or not. Default is `false`. - AutoFormatAndMount pulumi.BoolPtrInput `pulumi:"autoFormatAndMount"` - // Volume of disk in GB. Default is `0`. - DiskSize pulumi.IntPtrInput `pulumi:"diskSize"` - // Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD` and `CLOUD_HSSD` and `CLOUD_TSSD`. - DiskType pulumi.StringPtrInput `pulumi:"diskType"` - // File system, e.g. `ext3/ext4/xfs`. - FileSystem pulumi.StringPtrInput `pulumi:"fileSystem"` - // Mount target. - MountTarget pulumi.StringPtrInput `pulumi:"mountTarget"` +type NativeNodePoolNativeScalingArgs struct { + // Node pool expansion strategy. `ZoneEquality`: multiple availability zones are broken up; `ZonePriority`: the preferred availability zone takes precedence. + CreatePolicy pulumi.StringPtrInput `pulumi:"createPolicy"` + // Maximum number of replicas in node pool. + MaxReplicas pulumi.IntPtrInput `pulumi:"maxReplicas"` + // Minimum number of replicas in node pool. + MinReplicas pulumi.IntPtrInput `pulumi:"minReplicas"` } -func (ScaleWorkerDataDiskArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ScaleWorkerDataDisk)(nil)).Elem() +func (NativeNodePoolNativeScalingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NativeNodePoolNativeScaling)(nil)).Elem() } -func (i ScaleWorkerDataDiskArgs) ToScaleWorkerDataDiskOutput() ScaleWorkerDataDiskOutput { - return i.ToScaleWorkerDataDiskOutputWithContext(context.Background()) +func (i NativeNodePoolNativeScalingArgs) ToNativeNodePoolNativeScalingOutput() NativeNodePoolNativeScalingOutput { + return i.ToNativeNodePoolNativeScalingOutputWithContext(context.Background()) } -func (i ScaleWorkerDataDiskArgs) ToScaleWorkerDataDiskOutputWithContext(ctx context.Context) ScaleWorkerDataDiskOutput { - return pulumi.ToOutputWithContext(ctx, i).(ScaleWorkerDataDiskOutput) +func (i NativeNodePoolNativeScalingArgs) ToNativeNodePoolNativeScalingOutputWithContext(ctx context.Context) NativeNodePoolNativeScalingOutput { + return pulumi.ToOutputWithContext(ctx, i).(NativeNodePoolNativeScalingOutput) } -// ScaleWorkerDataDiskArrayInput is an input type that accepts ScaleWorkerDataDiskArray and ScaleWorkerDataDiskArrayOutput values. -// You can construct a concrete instance of `ScaleWorkerDataDiskArrayInput` via: +func (i NativeNodePoolNativeScalingArgs) ToNativeNodePoolNativeScalingPtrOutput() NativeNodePoolNativeScalingPtrOutput { + return i.ToNativeNodePoolNativeScalingPtrOutputWithContext(context.Background()) +} + +func (i NativeNodePoolNativeScalingArgs) ToNativeNodePoolNativeScalingPtrOutputWithContext(ctx context.Context) NativeNodePoolNativeScalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NativeNodePoolNativeScalingOutput).ToNativeNodePoolNativeScalingPtrOutputWithContext(ctx) +} + +// NativeNodePoolNativeScalingPtrInput is an input type that accepts NativeNodePoolNativeScalingArgs, NativeNodePoolNativeScalingPtr and NativeNodePoolNativeScalingPtrOutput values. +// You can construct a concrete instance of `NativeNodePoolNativeScalingPtrInput` via: // -// ScaleWorkerDataDiskArray{ ScaleWorkerDataDiskArgs{...} } -type ScaleWorkerDataDiskArrayInput interface { +// NativeNodePoolNativeScalingArgs{...} +// +// or: +// +// nil +type NativeNodePoolNativeScalingPtrInput interface { pulumi.Input - ToScaleWorkerDataDiskArrayOutput() ScaleWorkerDataDiskArrayOutput - ToScaleWorkerDataDiskArrayOutputWithContext(context.Context) ScaleWorkerDataDiskArrayOutput + ToNativeNodePoolNativeScalingPtrOutput() NativeNodePoolNativeScalingPtrOutput + ToNativeNodePoolNativeScalingPtrOutputWithContext(context.Context) NativeNodePoolNativeScalingPtrOutput } -type ScaleWorkerDataDiskArray []ScaleWorkerDataDiskInput +type nativeNodePoolNativeScalingPtrType NativeNodePoolNativeScalingArgs -func (ScaleWorkerDataDiskArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ScaleWorkerDataDisk)(nil)).Elem() +func NativeNodePoolNativeScalingPtr(v *NativeNodePoolNativeScalingArgs) NativeNodePoolNativeScalingPtrInput { + return (*nativeNodePoolNativeScalingPtrType)(v) } -func (i ScaleWorkerDataDiskArray) ToScaleWorkerDataDiskArrayOutput() ScaleWorkerDataDiskArrayOutput { - return i.ToScaleWorkerDataDiskArrayOutputWithContext(context.Background()) +func (*nativeNodePoolNativeScalingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NativeNodePoolNativeScaling)(nil)).Elem() } -func (i ScaleWorkerDataDiskArray) ToScaleWorkerDataDiskArrayOutputWithContext(ctx context.Context) ScaleWorkerDataDiskArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ScaleWorkerDataDiskArrayOutput) +func (i *nativeNodePoolNativeScalingPtrType) ToNativeNodePoolNativeScalingPtrOutput() NativeNodePoolNativeScalingPtrOutput { + return i.ToNativeNodePoolNativeScalingPtrOutputWithContext(context.Background()) } -type ScaleWorkerDataDiskOutput struct{ *pulumi.OutputState } +func (i *nativeNodePoolNativeScalingPtrType) ToNativeNodePoolNativeScalingPtrOutputWithContext(ctx context.Context) NativeNodePoolNativeScalingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NativeNodePoolNativeScalingPtrOutput) +} -func (ScaleWorkerDataDiskOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ScaleWorkerDataDisk)(nil)).Elem() +type NativeNodePoolNativeScalingOutput struct{ *pulumi.OutputState } + +func (NativeNodePoolNativeScalingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NativeNodePoolNativeScaling)(nil)).Elem() } -func (o ScaleWorkerDataDiskOutput) ToScaleWorkerDataDiskOutput() ScaleWorkerDataDiskOutput { +func (o NativeNodePoolNativeScalingOutput) ToNativeNodePoolNativeScalingOutput() NativeNodePoolNativeScalingOutput { return o } -func (o ScaleWorkerDataDiskOutput) ToScaleWorkerDataDiskOutputWithContext(ctx context.Context) ScaleWorkerDataDiskOutput { +func (o NativeNodePoolNativeScalingOutput) ToNativeNodePoolNativeScalingOutputWithContext(ctx context.Context) NativeNodePoolNativeScalingOutput { return o } -// Indicate whether to auto format and mount or not. Default is `false`. -func (o ScaleWorkerDataDiskOutput) AutoFormatAndMount() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ScaleWorkerDataDisk) *bool { return v.AutoFormatAndMount }).(pulumi.BoolPtrOutput) +func (o NativeNodePoolNativeScalingOutput) ToNativeNodePoolNativeScalingPtrOutput() NativeNodePoolNativeScalingPtrOutput { + return o.ToNativeNodePoolNativeScalingPtrOutputWithContext(context.Background()) } -// Volume of disk in GB. Default is `0`. -func (o ScaleWorkerDataDiskOutput) DiskSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v ScaleWorkerDataDisk) *int { return v.DiskSize }).(pulumi.IntPtrOutput) +func (o NativeNodePoolNativeScalingOutput) ToNativeNodePoolNativeScalingPtrOutputWithContext(ctx context.Context) NativeNodePoolNativeScalingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NativeNodePoolNativeScaling) *NativeNodePoolNativeScaling { + return &v + }).(NativeNodePoolNativeScalingPtrOutput) } -// Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD` and `CLOUD_HSSD` and `CLOUD_TSSD`. -func (o ScaleWorkerDataDiskOutput) DiskType() pulumi.StringPtrOutput { - return o.ApplyT(func(v ScaleWorkerDataDisk) *string { return v.DiskType }).(pulumi.StringPtrOutput) +// Node pool expansion strategy. `ZoneEquality`: multiple availability zones are broken up; `ZonePriority`: the preferred availability zone takes precedence. +func (o NativeNodePoolNativeScalingOutput) CreatePolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v NativeNodePoolNativeScaling) *string { return v.CreatePolicy }).(pulumi.StringPtrOutput) } -// File system, e.g. `ext3/ext4/xfs`. -func (o ScaleWorkerDataDiskOutput) FileSystem() pulumi.StringPtrOutput { - return o.ApplyT(func(v ScaleWorkerDataDisk) *string { return v.FileSystem }).(pulumi.StringPtrOutput) +// Maximum number of replicas in node pool. +func (o NativeNodePoolNativeScalingOutput) MaxReplicas() pulumi.IntPtrOutput { + return o.ApplyT(func(v NativeNodePoolNativeScaling) *int { return v.MaxReplicas }).(pulumi.IntPtrOutput) } -// Mount target. -func (o ScaleWorkerDataDiskOutput) MountTarget() pulumi.StringPtrOutput { - return o.ApplyT(func(v ScaleWorkerDataDisk) *string { return v.MountTarget }).(pulumi.StringPtrOutput) +// Minimum number of replicas in node pool. +func (o NativeNodePoolNativeScalingOutput) MinReplicas() pulumi.IntPtrOutput { + return o.ApplyT(func(v NativeNodePoolNativeScaling) *int { return v.MinReplicas }).(pulumi.IntPtrOutput) } -type ScaleWorkerDataDiskArrayOutput struct{ *pulumi.OutputState } +type NativeNodePoolNativeScalingPtrOutput struct{ *pulumi.OutputState } -func (ScaleWorkerDataDiskArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ScaleWorkerDataDisk)(nil)).Elem() +func (NativeNodePoolNativeScalingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NativeNodePoolNativeScaling)(nil)).Elem() } -func (o ScaleWorkerDataDiskArrayOutput) ToScaleWorkerDataDiskArrayOutput() ScaleWorkerDataDiskArrayOutput { +func (o NativeNodePoolNativeScalingPtrOutput) ToNativeNodePoolNativeScalingPtrOutput() NativeNodePoolNativeScalingPtrOutput { return o } -func (o ScaleWorkerDataDiskArrayOutput) ToScaleWorkerDataDiskArrayOutputWithContext(ctx context.Context) ScaleWorkerDataDiskArrayOutput { +func (o NativeNodePoolNativeScalingPtrOutput) ToNativeNodePoolNativeScalingPtrOutputWithContext(ctx context.Context) NativeNodePoolNativeScalingPtrOutput { return o } -func (o ScaleWorkerDataDiskArrayOutput) Index(i pulumi.IntInput) ScaleWorkerDataDiskOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ScaleWorkerDataDisk { - return vs[0].([]ScaleWorkerDataDisk)[vs[1].(int)] - }).(ScaleWorkerDataDiskOutput) +func (o NativeNodePoolNativeScalingPtrOutput) Elem() NativeNodePoolNativeScalingOutput { + return o.ApplyT(func(v *NativeNodePoolNativeScaling) NativeNodePoolNativeScaling { + if v != nil { + return *v + } + var ret NativeNodePoolNativeScaling + return ret + }).(NativeNodePoolNativeScalingOutput) } -type ScaleWorkerGpuArgs struct { - // CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. - Cuda map[string]interface{} `pulumi:"cuda"` - // cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `docName`: Doc name of cuDNN; `devName`: Dev name of cuDNN. - Cudnn map[string]interface{} `pulumi:"cudnn"` - // Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. - CustomDriver map[string]interface{} `pulumi:"customDriver"` - // GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. - Driver map[string]interface{} `pulumi:"driver"` - // Whether to enable MIG. - MigEnable *bool `pulumi:"migEnable"` +// Node pool expansion strategy. `ZoneEquality`: multiple availability zones are broken up; `ZonePriority`: the preferred availability zone takes precedence. +func (o NativeNodePoolNativeScalingPtrOutput) CreatePolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NativeNodePoolNativeScaling) *string { + if v == nil { + return nil + } + return v.CreatePolicy + }).(pulumi.StringPtrOutput) } -// ScaleWorkerGpuArgsInput is an input type that accepts ScaleWorkerGpuArgsArgs and ScaleWorkerGpuArgsOutput values. -// You can construct a concrete instance of `ScaleWorkerGpuArgsInput` via: +// Maximum number of replicas in node pool. +func (o NativeNodePoolNativeScalingPtrOutput) MaxReplicas() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NativeNodePoolNativeScaling) *int { + if v == nil { + return nil + } + return v.MaxReplicas + }).(pulumi.IntPtrOutput) +} + +// Minimum number of replicas in node pool. +func (o NativeNodePoolNativeScalingPtrOutput) MinReplicas() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NativeNodePoolNativeScaling) *int { + if v == nil { + return nil + } + return v.MinReplicas + }).(pulumi.IntPtrOutput) +} + +type NativeNodePoolNativeSystemDisk struct { + // Cloud disk size (G). + DiskSize int `pulumi:"diskSize"` + // Cloud disk type. Valid values: `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_SSD`: cloud SSD disk, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD. + DiskType string `pulumi:"diskType"` +} + +// NativeNodePoolNativeSystemDiskInput is an input type that accepts NativeNodePoolNativeSystemDiskArgs and NativeNodePoolNativeSystemDiskOutput values. +// You can construct a concrete instance of `NativeNodePoolNativeSystemDiskInput` via: // -// ScaleWorkerGpuArgsArgs{...} -type ScaleWorkerGpuArgsInput interface { +// NativeNodePoolNativeSystemDiskArgs{...} +type NativeNodePoolNativeSystemDiskInput interface { pulumi.Input - ToScaleWorkerGpuArgsOutput() ScaleWorkerGpuArgsOutput - ToScaleWorkerGpuArgsOutputWithContext(context.Context) ScaleWorkerGpuArgsOutput + ToNativeNodePoolNativeSystemDiskOutput() NativeNodePoolNativeSystemDiskOutput + ToNativeNodePoolNativeSystemDiskOutputWithContext(context.Context) NativeNodePoolNativeSystemDiskOutput } -type ScaleWorkerGpuArgsArgs struct { - // CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. - Cuda pulumi.MapInput `pulumi:"cuda"` - // cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `docName`: Doc name of cuDNN; `devName`: Dev name of cuDNN. - Cudnn pulumi.MapInput `pulumi:"cudnn"` - // Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. - CustomDriver pulumi.MapInput `pulumi:"customDriver"` - // GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. - Driver pulumi.MapInput `pulumi:"driver"` - // Whether to enable MIG. - MigEnable pulumi.BoolPtrInput `pulumi:"migEnable"` +type NativeNodePoolNativeSystemDiskArgs struct { + // Cloud disk size (G). + DiskSize pulumi.IntInput `pulumi:"diskSize"` + // Cloud disk type. Valid values: `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_SSD`: cloud SSD disk, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD. + DiskType pulumi.StringInput `pulumi:"diskType"` } -func (ScaleWorkerGpuArgsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ScaleWorkerGpuArgs)(nil)).Elem() +func (NativeNodePoolNativeSystemDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NativeNodePoolNativeSystemDisk)(nil)).Elem() } -func (i ScaleWorkerGpuArgsArgs) ToScaleWorkerGpuArgsOutput() ScaleWorkerGpuArgsOutput { - return i.ToScaleWorkerGpuArgsOutputWithContext(context.Background()) +func (i NativeNodePoolNativeSystemDiskArgs) ToNativeNodePoolNativeSystemDiskOutput() NativeNodePoolNativeSystemDiskOutput { + return i.ToNativeNodePoolNativeSystemDiskOutputWithContext(context.Background()) } -func (i ScaleWorkerGpuArgsArgs) ToScaleWorkerGpuArgsOutputWithContext(ctx context.Context) ScaleWorkerGpuArgsOutput { - return pulumi.ToOutputWithContext(ctx, i).(ScaleWorkerGpuArgsOutput) +func (i NativeNodePoolNativeSystemDiskArgs) ToNativeNodePoolNativeSystemDiskOutputWithContext(ctx context.Context) NativeNodePoolNativeSystemDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(NativeNodePoolNativeSystemDiskOutput) } -func (i ScaleWorkerGpuArgsArgs) ToScaleWorkerGpuArgsPtrOutput() ScaleWorkerGpuArgsPtrOutput { - return i.ToScaleWorkerGpuArgsPtrOutputWithContext(context.Background()) +func (i NativeNodePoolNativeSystemDiskArgs) ToNativeNodePoolNativeSystemDiskPtrOutput() NativeNodePoolNativeSystemDiskPtrOutput { + return i.ToNativeNodePoolNativeSystemDiskPtrOutputWithContext(context.Background()) } -func (i ScaleWorkerGpuArgsArgs) ToScaleWorkerGpuArgsPtrOutputWithContext(ctx context.Context) ScaleWorkerGpuArgsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ScaleWorkerGpuArgsOutput).ToScaleWorkerGpuArgsPtrOutputWithContext(ctx) +func (i NativeNodePoolNativeSystemDiskArgs) ToNativeNodePoolNativeSystemDiskPtrOutputWithContext(ctx context.Context) NativeNodePoolNativeSystemDiskPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NativeNodePoolNativeSystemDiskOutput).ToNativeNodePoolNativeSystemDiskPtrOutputWithContext(ctx) } -// ScaleWorkerGpuArgsPtrInput is an input type that accepts ScaleWorkerGpuArgsArgs, ScaleWorkerGpuArgsPtr and ScaleWorkerGpuArgsPtrOutput values. -// You can construct a concrete instance of `ScaleWorkerGpuArgsPtrInput` via: +// NativeNodePoolNativeSystemDiskPtrInput is an input type that accepts NativeNodePoolNativeSystemDiskArgs, NativeNodePoolNativeSystemDiskPtr and NativeNodePoolNativeSystemDiskPtrOutput values. +// You can construct a concrete instance of `NativeNodePoolNativeSystemDiskPtrInput` via: // -// ScaleWorkerGpuArgsArgs{...} +// NativeNodePoolNativeSystemDiskArgs{...} // // or: // // nil -type ScaleWorkerGpuArgsPtrInput interface { +type NativeNodePoolNativeSystemDiskPtrInput interface { pulumi.Input - ToScaleWorkerGpuArgsPtrOutput() ScaleWorkerGpuArgsPtrOutput - ToScaleWorkerGpuArgsPtrOutputWithContext(context.Context) ScaleWorkerGpuArgsPtrOutput + ToNativeNodePoolNativeSystemDiskPtrOutput() NativeNodePoolNativeSystemDiskPtrOutput + ToNativeNodePoolNativeSystemDiskPtrOutputWithContext(context.Context) NativeNodePoolNativeSystemDiskPtrOutput } -type scaleWorkerGpuArgsPtrType ScaleWorkerGpuArgsArgs +type nativeNodePoolNativeSystemDiskPtrType NativeNodePoolNativeSystemDiskArgs -func ScaleWorkerGpuArgsPtr(v *ScaleWorkerGpuArgsArgs) ScaleWorkerGpuArgsPtrInput { - return (*scaleWorkerGpuArgsPtrType)(v) +func NativeNodePoolNativeSystemDiskPtr(v *NativeNodePoolNativeSystemDiskArgs) NativeNodePoolNativeSystemDiskPtrInput { + return (*nativeNodePoolNativeSystemDiskPtrType)(v) } -func (*scaleWorkerGpuArgsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ScaleWorkerGpuArgs)(nil)).Elem() +func (*nativeNodePoolNativeSystemDiskPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NativeNodePoolNativeSystemDisk)(nil)).Elem() } -func (i *scaleWorkerGpuArgsPtrType) ToScaleWorkerGpuArgsPtrOutput() ScaleWorkerGpuArgsPtrOutput { - return i.ToScaleWorkerGpuArgsPtrOutputWithContext(context.Background()) +func (i *nativeNodePoolNativeSystemDiskPtrType) ToNativeNodePoolNativeSystemDiskPtrOutput() NativeNodePoolNativeSystemDiskPtrOutput { + return i.ToNativeNodePoolNativeSystemDiskPtrOutputWithContext(context.Background()) } -func (i *scaleWorkerGpuArgsPtrType) ToScaleWorkerGpuArgsPtrOutputWithContext(ctx context.Context) ScaleWorkerGpuArgsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ScaleWorkerGpuArgsPtrOutput) +func (i *nativeNodePoolNativeSystemDiskPtrType) ToNativeNodePoolNativeSystemDiskPtrOutputWithContext(ctx context.Context) NativeNodePoolNativeSystemDiskPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NativeNodePoolNativeSystemDiskPtrOutput) } -type ScaleWorkerGpuArgsOutput struct{ *pulumi.OutputState } +type NativeNodePoolNativeSystemDiskOutput struct{ *pulumi.OutputState } -func (ScaleWorkerGpuArgsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ScaleWorkerGpuArgs)(nil)).Elem() +func (NativeNodePoolNativeSystemDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NativeNodePoolNativeSystemDisk)(nil)).Elem() } -func (o ScaleWorkerGpuArgsOutput) ToScaleWorkerGpuArgsOutput() ScaleWorkerGpuArgsOutput { +func (o NativeNodePoolNativeSystemDiskOutput) ToNativeNodePoolNativeSystemDiskOutput() NativeNodePoolNativeSystemDiskOutput { return o } -func (o ScaleWorkerGpuArgsOutput) ToScaleWorkerGpuArgsOutputWithContext(ctx context.Context) ScaleWorkerGpuArgsOutput { +func (o NativeNodePoolNativeSystemDiskOutput) ToNativeNodePoolNativeSystemDiskOutputWithContext(ctx context.Context) NativeNodePoolNativeSystemDiskOutput { return o } -func (o ScaleWorkerGpuArgsOutput) ToScaleWorkerGpuArgsPtrOutput() ScaleWorkerGpuArgsPtrOutput { - return o.ToScaleWorkerGpuArgsPtrOutputWithContext(context.Background()) +func (o NativeNodePoolNativeSystemDiskOutput) ToNativeNodePoolNativeSystemDiskPtrOutput() NativeNodePoolNativeSystemDiskPtrOutput { + return o.ToNativeNodePoolNativeSystemDiskPtrOutputWithContext(context.Background()) } -func (o ScaleWorkerGpuArgsOutput) ToScaleWorkerGpuArgsPtrOutputWithContext(ctx context.Context) ScaleWorkerGpuArgsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ScaleWorkerGpuArgs) *ScaleWorkerGpuArgs { +func (o NativeNodePoolNativeSystemDiskOutput) ToNativeNodePoolNativeSystemDiskPtrOutputWithContext(ctx context.Context) NativeNodePoolNativeSystemDiskPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NativeNodePoolNativeSystemDisk) *NativeNodePoolNativeSystemDisk { return &v - }).(ScaleWorkerGpuArgsPtrOutput) -} - -// CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. -func (o ScaleWorkerGpuArgsOutput) Cuda() pulumi.MapOutput { - return o.ApplyT(func(v ScaleWorkerGpuArgs) map[string]interface{} { return v.Cuda }).(pulumi.MapOutput) -} - -// cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `docName`: Doc name of cuDNN; `devName`: Dev name of cuDNN. -func (o ScaleWorkerGpuArgsOutput) Cudnn() pulumi.MapOutput { - return o.ApplyT(func(v ScaleWorkerGpuArgs) map[string]interface{} { return v.Cudnn }).(pulumi.MapOutput) -} - -// Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. -func (o ScaleWorkerGpuArgsOutput) CustomDriver() pulumi.MapOutput { - return o.ApplyT(func(v ScaleWorkerGpuArgs) map[string]interface{} { return v.CustomDriver }).(pulumi.MapOutput) + }).(NativeNodePoolNativeSystemDiskPtrOutput) } -// GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. -func (o ScaleWorkerGpuArgsOutput) Driver() pulumi.MapOutput { - return o.ApplyT(func(v ScaleWorkerGpuArgs) map[string]interface{} { return v.Driver }).(pulumi.MapOutput) +// Cloud disk size (G). +func (o NativeNodePoolNativeSystemDiskOutput) DiskSize() pulumi.IntOutput { + return o.ApplyT(func(v NativeNodePoolNativeSystemDisk) int { return v.DiskSize }).(pulumi.IntOutput) } -// Whether to enable MIG. -func (o ScaleWorkerGpuArgsOutput) MigEnable() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ScaleWorkerGpuArgs) *bool { return v.MigEnable }).(pulumi.BoolPtrOutput) +// Cloud disk type. Valid values: `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_SSD`: cloud SSD disk, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD. +func (o NativeNodePoolNativeSystemDiskOutput) DiskType() pulumi.StringOutput { + return o.ApplyT(func(v NativeNodePoolNativeSystemDisk) string { return v.DiskType }).(pulumi.StringOutput) } -type ScaleWorkerGpuArgsPtrOutput struct{ *pulumi.OutputState } +type NativeNodePoolNativeSystemDiskPtrOutput struct{ *pulumi.OutputState } -func (ScaleWorkerGpuArgsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ScaleWorkerGpuArgs)(nil)).Elem() +func (NativeNodePoolNativeSystemDiskPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NativeNodePoolNativeSystemDisk)(nil)).Elem() } -func (o ScaleWorkerGpuArgsPtrOutput) ToScaleWorkerGpuArgsPtrOutput() ScaleWorkerGpuArgsPtrOutput { +func (o NativeNodePoolNativeSystemDiskPtrOutput) ToNativeNodePoolNativeSystemDiskPtrOutput() NativeNodePoolNativeSystemDiskPtrOutput { return o } -func (o ScaleWorkerGpuArgsPtrOutput) ToScaleWorkerGpuArgsPtrOutputWithContext(ctx context.Context) ScaleWorkerGpuArgsPtrOutput { +func (o NativeNodePoolNativeSystemDiskPtrOutput) ToNativeNodePoolNativeSystemDiskPtrOutputWithContext(ctx context.Context) NativeNodePoolNativeSystemDiskPtrOutput { return o } -func (o ScaleWorkerGpuArgsPtrOutput) Elem() ScaleWorkerGpuArgsOutput { - return o.ApplyT(func(v *ScaleWorkerGpuArgs) ScaleWorkerGpuArgs { +func (o NativeNodePoolNativeSystemDiskPtrOutput) Elem() NativeNodePoolNativeSystemDiskOutput { + return o.ApplyT(func(v *NativeNodePoolNativeSystemDisk) NativeNodePoolNativeSystemDisk { if v != nil { return *v } - var ret ScaleWorkerGpuArgs + var ret NativeNodePoolNativeSystemDisk return ret - }).(ScaleWorkerGpuArgsOutput) + }).(NativeNodePoolNativeSystemDiskOutput) } -// CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. -func (o ScaleWorkerGpuArgsPtrOutput) Cuda() pulumi.MapOutput { - return o.ApplyT(func(v *ScaleWorkerGpuArgs) map[string]interface{} { +// Cloud disk size (G). +func (o NativeNodePoolNativeSystemDiskPtrOutput) DiskSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NativeNodePoolNativeSystemDisk) *int { if v == nil { return nil } - return v.Cuda - }).(pulumi.MapOutput) + return &v.DiskSize + }).(pulumi.IntPtrOutput) } -// cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `docName`: Doc name of cuDNN; `devName`: Dev name of cuDNN. -func (o ScaleWorkerGpuArgsPtrOutput) Cudnn() pulumi.MapOutput { - return o.ApplyT(func(v *ScaleWorkerGpuArgs) map[string]interface{} { +// Cloud disk type. Valid values: `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_SSD`: cloud SSD disk, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD. +func (o NativeNodePoolNativeSystemDiskPtrOutput) DiskType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NativeNodePoolNativeSystemDisk) *string { if v == nil { return nil } - return v.Cudnn - }).(pulumi.MapOutput) + return &v.DiskType + }).(pulumi.StringPtrOutput) } -// Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. -func (o ScaleWorkerGpuArgsPtrOutput) CustomDriver() pulumi.MapOutput { - return o.ApplyT(func(v *ScaleWorkerGpuArgs) map[string]interface{} { - if v == nil { - return nil - } - return v.CustomDriver - }).(pulumi.MapOutput) +type NativeNodePoolTag struct { + // The resource type bound to the label. + ResourceType *string `pulumi:"resourceType"` + // Tag pair list. + Tags []NativeNodePoolTagTag `pulumi:"tags"` } -// GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. -func (o ScaleWorkerGpuArgsPtrOutput) Driver() pulumi.MapOutput { - return o.ApplyT(func(v *ScaleWorkerGpuArgs) map[string]interface{} { - if v == nil { - return nil - } - return v.Driver - }).(pulumi.MapOutput) +// NativeNodePoolTagInput is an input type that accepts NativeNodePoolTagArgs and NativeNodePoolTagOutput values. +// You can construct a concrete instance of `NativeNodePoolTagInput` via: +// +// NativeNodePoolTagArgs{...} +type NativeNodePoolTagInput interface { + pulumi.Input + + ToNativeNodePoolTagOutput() NativeNodePoolTagOutput + ToNativeNodePoolTagOutputWithContext(context.Context) NativeNodePoolTagOutput } -// Whether to enable MIG. -func (o ScaleWorkerGpuArgsPtrOutput) MigEnable() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ScaleWorkerGpuArgs) *bool { - if v == nil { - return nil - } - return v.MigEnable - }).(pulumi.BoolPtrOutput) +type NativeNodePoolTagArgs struct { + // The resource type bound to the label. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` + // Tag pair list. + Tags NativeNodePoolTagTagArrayInput `pulumi:"tags"` } -type ScaleWorkerWorkerConfig struct { - // Indicates which availability zone will be used. - AvailabilityZone *string `pulumi:"availabilityZone"` - // bandwidth package id. if user is standard user, then the bandwidthPackageId is needed, or default has bandwidth_package_id. - BandwidthPackageId *string `pulumi:"bandwidthPackageId"` - // CAM role name authorized to access. - CamRoleName *string `pulumi:"camRoleName"` - // Number of cvm. - Count *int `pulumi:"count"` - // Configurations of data disk. - DataDisks []ScaleWorkerWorkerConfigDataDisk `pulumi:"dataDisks"` - // Indicate to set desired pod number in node. valid when enable_customized_pod_cidr=true, and it override `[globe_]desired_pod_num` for current node. Either all the fields `desiredPodNum` or none. - DesiredPodNum *int `pulumi:"desiredPodNum"` - // Disaster recover groups to which a CVM instance belongs. Only support maximum 1. - DisasterRecoverGroupIds *string `pulumi:"disasterRecoverGroupIds"` - // To specify whether to enable cloud monitor service. Default is TRUE. - EnhancedMonitorService *bool `pulumi:"enhancedMonitorService"` - // To specify whether to enable cloud security service. Default is TRUE. - EnhancedSecurityService *bool `pulumi:"enhancedSecurityService"` - // The host name of the attached instance. Dot (.) and dash (-) cannot be used as the first and last characters of HostName and cannot be used consecutively. Windows example: The length of the name character is [2, 15], letters (capitalization is not restricted), numbers and dashes (-) are allowed, dots (.) are not supported, and not all numbers are allowed. Examples of other types (Linux, etc.): The character length is [2, 60], and multiple dots are allowed. There is a segment between the dots. Each segment allows letters (with no limitation on capitalization), numbers and dashes (-). - Hostname *string `pulumi:"hostname"` - // Id of cvm hpc cluster. - HpcClusterId *string `pulumi:"hpcClusterId"` - // The valid image id, format of img-xxx. - ImgId *string `pulumi:"imgId"` - // The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. Note: TencentCloud International only supports `POSTPAID_BY_HOUR`, `PREPAID` instance will not terminated after cluster deleted, and may not allow to delete before expired. - InstanceChargeType *string `pulumi:"instanceChargeType"` - // The tenancy (time unit is month) of the prepaid instance. NOTE: it only works when instanceChargeType is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. - InstanceChargeTypePrepaidPeriod *int `pulumi:"instanceChargeTypePrepaidPeriod"` - // Auto renewal flag. Valid values: `NOTIFY_AND_AUTO_RENEW`: notify upon expiration and renew automatically, `NOTIFY_AND_MANUAL_RENEW`: notify upon expiration but do not renew automatically, `DISABLE_NOTIFY_AND_MANUAL_RENEW`: neither notify upon expiration nor renew automatically. Default value: `NOTIFY_AND_MANUAL_RENEW`. If this parameter is specified as `NOTIFY_AND_AUTO_RENEW`, the instance will be automatically renewed on a monthly basis if the account balance is sufficient. NOTE: it only works when instanceChargeType is set to `PREPAID`. - InstanceChargeTypePrepaidRenewFlag *string `pulumi:"instanceChargeTypePrepaidRenewFlag"` - // Name of the CVMs. - InstanceName *string `pulumi:"instanceName"` - // Specified types of CVM instance. - InstanceType string `pulumi:"instanceType"` - // Charge types for network traffic. Available values include `TRAFFIC_POSTPAID_BY_HOUR`. - InternetChargeType *string `pulumi:"internetChargeType"` - // Max bandwidth of Internet access in Mbps. Default is 0. - InternetMaxBandwidthOut *int `pulumi:"internetMaxBandwidthOut"` - // ID list of keys, should be set if `password` not set. - KeyIds *string `pulumi:"keyIds"` - // Password to access, should be set if `keyIds` not set. - Password *string `pulumi:"password"` - // Specify whether to assign an Internet IP address. - PublicIpAssigned *bool `pulumi:"publicIpAssigned"` - // Security groups to which a CVM instance belongs. - SecurityGroupIds []string `pulumi:"securityGroupIds"` - // Private network ID. - SubnetId string `pulumi:"subnetId"` - // Volume of system disk in GB. Default is `50`. - SystemDiskSize *int `pulumi:"systemDiskSize"` - // System disk type. For more information on limits of system disk types, see [Storage Overview](https://intl.cloud.tencent.com/document/product/213/4952). Valid values: `LOCAL_BASIC`: local disk, `LOCAL_SSD`: local SSD disk, `CLOUD_SSD`: SSD, `CLOUD_PREMIUM`: Premium Cloud Storage. NOTE: `CLOUD_BASIC`, `LOCAL_BASIC` and `LOCAL_SSD` are deprecated. - SystemDiskType *string `pulumi:"systemDiskType"` - // User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB. - UserData *string `pulumi:"userData"` +func (NativeNodePoolTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NativeNodePoolTag)(nil)).Elem() } -// ScaleWorkerWorkerConfigInput is an input type that accepts ScaleWorkerWorkerConfigArgs and ScaleWorkerWorkerConfigOutput values. -// You can construct a concrete instance of `ScaleWorkerWorkerConfigInput` via: +func (i NativeNodePoolTagArgs) ToNativeNodePoolTagOutput() NativeNodePoolTagOutput { + return i.ToNativeNodePoolTagOutputWithContext(context.Background()) +} + +func (i NativeNodePoolTagArgs) ToNativeNodePoolTagOutputWithContext(ctx context.Context) NativeNodePoolTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(NativeNodePoolTagOutput) +} + +// NativeNodePoolTagArrayInput is an input type that accepts NativeNodePoolTagArray and NativeNodePoolTagArrayOutput values. +// You can construct a concrete instance of `NativeNodePoolTagArrayInput` via: // -// ScaleWorkerWorkerConfigArgs{...} -type ScaleWorkerWorkerConfigInput interface { +// NativeNodePoolTagArray{ NativeNodePoolTagArgs{...} } +type NativeNodePoolTagArrayInput interface { pulumi.Input - ToScaleWorkerWorkerConfigOutput() ScaleWorkerWorkerConfigOutput - ToScaleWorkerWorkerConfigOutputWithContext(context.Context) ScaleWorkerWorkerConfigOutput + ToNativeNodePoolTagArrayOutput() NativeNodePoolTagArrayOutput + ToNativeNodePoolTagArrayOutputWithContext(context.Context) NativeNodePoolTagArrayOutput } -type ScaleWorkerWorkerConfigArgs struct { - // Indicates which availability zone will be used. - AvailabilityZone pulumi.StringPtrInput `pulumi:"availabilityZone"` - // bandwidth package id. if user is standard user, then the bandwidthPackageId is needed, or default has bandwidth_package_id. - BandwidthPackageId pulumi.StringPtrInput `pulumi:"bandwidthPackageId"` - // CAM role name authorized to access. - CamRoleName pulumi.StringPtrInput `pulumi:"camRoleName"` - // Number of cvm. - Count pulumi.IntPtrInput `pulumi:"count"` - // Configurations of data disk. - DataDisks ScaleWorkerWorkerConfigDataDiskArrayInput `pulumi:"dataDisks"` - // Indicate to set desired pod number in node. valid when enable_customized_pod_cidr=true, and it override `[globe_]desired_pod_num` for current node. Either all the fields `desiredPodNum` or none. - DesiredPodNum pulumi.IntPtrInput `pulumi:"desiredPodNum"` - // Disaster recover groups to which a CVM instance belongs. Only support maximum 1. - DisasterRecoverGroupIds pulumi.StringPtrInput `pulumi:"disasterRecoverGroupIds"` - // To specify whether to enable cloud monitor service. Default is TRUE. - EnhancedMonitorService pulumi.BoolPtrInput `pulumi:"enhancedMonitorService"` - // To specify whether to enable cloud security service. Default is TRUE. - EnhancedSecurityService pulumi.BoolPtrInput `pulumi:"enhancedSecurityService"` - // The host name of the attached instance. Dot (.) and dash (-) cannot be used as the first and last characters of HostName and cannot be used consecutively. Windows example: The length of the name character is [2, 15], letters (capitalization is not restricted), numbers and dashes (-) are allowed, dots (.) are not supported, and not all numbers are allowed. Examples of other types (Linux, etc.): The character length is [2, 60], and multiple dots are allowed. There is a segment between the dots. Each segment allows letters (with no limitation on capitalization), numbers and dashes (-). - Hostname pulumi.StringPtrInput `pulumi:"hostname"` - // Id of cvm hpc cluster. - HpcClusterId pulumi.StringPtrInput `pulumi:"hpcClusterId"` - // The valid image id, format of img-xxx. - ImgId pulumi.StringPtrInput `pulumi:"imgId"` - // The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. Note: TencentCloud International only supports `POSTPAID_BY_HOUR`, `PREPAID` instance will not terminated after cluster deleted, and may not allow to delete before expired. - InstanceChargeType pulumi.StringPtrInput `pulumi:"instanceChargeType"` - // The tenancy (time unit is month) of the prepaid instance. NOTE: it only works when instanceChargeType is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. - InstanceChargeTypePrepaidPeriod pulumi.IntPtrInput `pulumi:"instanceChargeTypePrepaidPeriod"` - // Auto renewal flag. Valid values: `NOTIFY_AND_AUTO_RENEW`: notify upon expiration and renew automatically, `NOTIFY_AND_MANUAL_RENEW`: notify upon expiration but do not renew automatically, `DISABLE_NOTIFY_AND_MANUAL_RENEW`: neither notify upon expiration nor renew automatically. Default value: `NOTIFY_AND_MANUAL_RENEW`. If this parameter is specified as `NOTIFY_AND_AUTO_RENEW`, the instance will be automatically renewed on a monthly basis if the account balance is sufficient. NOTE: it only works when instanceChargeType is set to `PREPAID`. - InstanceChargeTypePrepaidRenewFlag pulumi.StringPtrInput `pulumi:"instanceChargeTypePrepaidRenewFlag"` - // Name of the CVMs. - InstanceName pulumi.StringPtrInput `pulumi:"instanceName"` - // Specified types of CVM instance. - InstanceType pulumi.StringInput `pulumi:"instanceType"` - // Charge types for network traffic. Available values include `TRAFFIC_POSTPAID_BY_HOUR`. - InternetChargeType pulumi.StringPtrInput `pulumi:"internetChargeType"` - // Max bandwidth of Internet access in Mbps. Default is 0. - InternetMaxBandwidthOut pulumi.IntPtrInput `pulumi:"internetMaxBandwidthOut"` - // ID list of keys, should be set if `password` not set. - KeyIds pulumi.StringPtrInput `pulumi:"keyIds"` - // Password to access, should be set if `keyIds` not set. - Password pulumi.StringPtrInput `pulumi:"password"` - // Specify whether to assign an Internet IP address. - PublicIpAssigned pulumi.BoolPtrInput `pulumi:"publicIpAssigned"` - // Security groups to which a CVM instance belongs. - SecurityGroupIds pulumi.StringArrayInput `pulumi:"securityGroupIds"` - // Private network ID. - SubnetId pulumi.StringInput `pulumi:"subnetId"` - // Volume of system disk in GB. Default is `50`. - SystemDiskSize pulumi.IntPtrInput `pulumi:"systemDiskSize"` - // System disk type. For more information on limits of system disk types, see [Storage Overview](https://intl.cloud.tencent.com/document/product/213/4952). Valid values: `LOCAL_BASIC`: local disk, `LOCAL_SSD`: local SSD disk, `CLOUD_SSD`: SSD, `CLOUD_PREMIUM`: Premium Cloud Storage. NOTE: `CLOUD_BASIC`, `LOCAL_BASIC` and `LOCAL_SSD` are deprecated. - SystemDiskType pulumi.StringPtrInput `pulumi:"systemDiskType"` - // User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB. - UserData pulumi.StringPtrInput `pulumi:"userData"` -} - -func (ScaleWorkerWorkerConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ScaleWorkerWorkerConfig)(nil)).Elem() -} +type NativeNodePoolTagArray []NativeNodePoolTagInput -func (i ScaleWorkerWorkerConfigArgs) ToScaleWorkerWorkerConfigOutput() ScaleWorkerWorkerConfigOutput { - return i.ToScaleWorkerWorkerConfigOutputWithContext(context.Background()) -} - -func (i ScaleWorkerWorkerConfigArgs) ToScaleWorkerWorkerConfigOutputWithContext(ctx context.Context) ScaleWorkerWorkerConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(ScaleWorkerWorkerConfigOutput) +func (NativeNodePoolTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NativeNodePoolTag)(nil)).Elem() } -func (i ScaleWorkerWorkerConfigArgs) ToScaleWorkerWorkerConfigPtrOutput() ScaleWorkerWorkerConfigPtrOutput { - return i.ToScaleWorkerWorkerConfigPtrOutputWithContext(context.Background()) +func (i NativeNodePoolTagArray) ToNativeNodePoolTagArrayOutput() NativeNodePoolTagArrayOutput { + return i.ToNativeNodePoolTagArrayOutputWithContext(context.Background()) } -func (i ScaleWorkerWorkerConfigArgs) ToScaleWorkerWorkerConfigPtrOutputWithContext(ctx context.Context) ScaleWorkerWorkerConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ScaleWorkerWorkerConfigOutput).ToScaleWorkerWorkerConfigPtrOutputWithContext(ctx) +func (i NativeNodePoolTagArray) ToNativeNodePoolTagArrayOutputWithContext(ctx context.Context) NativeNodePoolTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NativeNodePoolTagArrayOutput) } -// ScaleWorkerWorkerConfigPtrInput is an input type that accepts ScaleWorkerWorkerConfigArgs, ScaleWorkerWorkerConfigPtr and ScaleWorkerWorkerConfigPtrOutput values. -// You can construct a concrete instance of `ScaleWorkerWorkerConfigPtrInput` via: -// -// ScaleWorkerWorkerConfigArgs{...} -// -// or: -// -// nil -type ScaleWorkerWorkerConfigPtrInput interface { - pulumi.Input +type NativeNodePoolTagOutput struct{ *pulumi.OutputState } - ToScaleWorkerWorkerConfigPtrOutput() ScaleWorkerWorkerConfigPtrOutput - ToScaleWorkerWorkerConfigPtrOutputWithContext(context.Context) ScaleWorkerWorkerConfigPtrOutput +func (NativeNodePoolTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NativeNodePoolTag)(nil)).Elem() } -type scaleWorkerWorkerConfigPtrType ScaleWorkerWorkerConfigArgs - -func ScaleWorkerWorkerConfigPtr(v *ScaleWorkerWorkerConfigArgs) ScaleWorkerWorkerConfigPtrInput { - return (*scaleWorkerWorkerConfigPtrType)(v) +func (o NativeNodePoolTagOutput) ToNativeNodePoolTagOutput() NativeNodePoolTagOutput { + return o } -func (*scaleWorkerWorkerConfigPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ScaleWorkerWorkerConfig)(nil)).Elem() +func (o NativeNodePoolTagOutput) ToNativeNodePoolTagOutputWithContext(ctx context.Context) NativeNodePoolTagOutput { + return o } -func (i *scaleWorkerWorkerConfigPtrType) ToScaleWorkerWorkerConfigPtrOutput() ScaleWorkerWorkerConfigPtrOutput { - return i.ToScaleWorkerWorkerConfigPtrOutputWithContext(context.Background()) +// The resource type bound to the label. +func (o NativeNodePoolTagOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v NativeNodePoolTag) *string { return v.ResourceType }).(pulumi.StringPtrOutput) } -func (i *scaleWorkerWorkerConfigPtrType) ToScaleWorkerWorkerConfigPtrOutputWithContext(ctx context.Context) ScaleWorkerWorkerConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ScaleWorkerWorkerConfigPtrOutput) +// Tag pair list. +func (o NativeNodePoolTagOutput) Tags() NativeNodePoolTagTagArrayOutput { + return o.ApplyT(func(v NativeNodePoolTag) []NativeNodePoolTagTag { return v.Tags }).(NativeNodePoolTagTagArrayOutput) } -type ScaleWorkerWorkerConfigOutput struct{ *pulumi.OutputState } +type NativeNodePoolTagArrayOutput struct{ *pulumi.OutputState } -func (ScaleWorkerWorkerConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ScaleWorkerWorkerConfig)(nil)).Elem() +func (NativeNodePoolTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NativeNodePoolTag)(nil)).Elem() } -func (o ScaleWorkerWorkerConfigOutput) ToScaleWorkerWorkerConfigOutput() ScaleWorkerWorkerConfigOutput { +func (o NativeNodePoolTagArrayOutput) ToNativeNodePoolTagArrayOutput() NativeNodePoolTagArrayOutput { return o } -func (o ScaleWorkerWorkerConfigOutput) ToScaleWorkerWorkerConfigOutputWithContext(ctx context.Context) ScaleWorkerWorkerConfigOutput { +func (o NativeNodePoolTagArrayOutput) ToNativeNodePoolTagArrayOutputWithContext(ctx context.Context) NativeNodePoolTagArrayOutput { return o } -func (o ScaleWorkerWorkerConfigOutput) ToScaleWorkerWorkerConfigPtrOutput() ScaleWorkerWorkerConfigPtrOutput { - return o.ToScaleWorkerWorkerConfigPtrOutputWithContext(context.Background()) +func (o NativeNodePoolTagArrayOutput) Index(i pulumi.IntInput) NativeNodePoolTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NativeNodePoolTag { + return vs[0].([]NativeNodePoolTag)[vs[1].(int)] + }).(NativeNodePoolTagOutput) } -func (o ScaleWorkerWorkerConfigOutput) ToScaleWorkerWorkerConfigPtrOutputWithContext(ctx context.Context) ScaleWorkerWorkerConfigPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ScaleWorkerWorkerConfig) *ScaleWorkerWorkerConfig { - return &v - }).(ScaleWorkerWorkerConfigPtrOutput) +type NativeNodePoolTagTag struct { + // Tag Key. + Key *string `pulumi:"key"` + // Tag Value. + Value *string `pulumi:"value"` } -// Indicates which availability zone will be used. -func (o ScaleWorkerWorkerConfigOutput) AvailabilityZone() pulumi.StringPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerConfig) *string { return v.AvailabilityZone }).(pulumi.StringPtrOutput) -} +// NativeNodePoolTagTagInput is an input type that accepts NativeNodePoolTagTagArgs and NativeNodePoolTagTagOutput values. +// You can construct a concrete instance of `NativeNodePoolTagTagInput` via: +// +// NativeNodePoolTagTagArgs{...} +type NativeNodePoolTagTagInput interface { + pulumi.Input -// bandwidth package id. if user is standard user, then the bandwidthPackageId is needed, or default has bandwidth_package_id. -func (o ScaleWorkerWorkerConfigOutput) BandwidthPackageId() pulumi.StringPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerConfig) *string { return v.BandwidthPackageId }).(pulumi.StringPtrOutput) + ToNativeNodePoolTagTagOutput() NativeNodePoolTagTagOutput + ToNativeNodePoolTagTagOutputWithContext(context.Context) NativeNodePoolTagTagOutput } -// CAM role name authorized to access. -func (o ScaleWorkerWorkerConfigOutput) CamRoleName() pulumi.StringPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerConfig) *string { return v.CamRoleName }).(pulumi.StringPtrOutput) +type NativeNodePoolTagTagArgs struct { + // Tag Key. + Key pulumi.StringPtrInput `pulumi:"key"` + // Tag Value. + Value pulumi.StringPtrInput `pulumi:"value"` } -// Number of cvm. -func (o ScaleWorkerWorkerConfigOutput) Count() pulumi.IntPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerConfig) *int { return v.Count }).(pulumi.IntPtrOutput) +func (NativeNodePoolTagTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NativeNodePoolTagTag)(nil)).Elem() } -// Configurations of data disk. -func (o ScaleWorkerWorkerConfigOutput) DataDisks() ScaleWorkerWorkerConfigDataDiskArrayOutput { - return o.ApplyT(func(v ScaleWorkerWorkerConfig) []ScaleWorkerWorkerConfigDataDisk { return v.DataDisks }).(ScaleWorkerWorkerConfigDataDiskArrayOutput) +func (i NativeNodePoolTagTagArgs) ToNativeNodePoolTagTagOutput() NativeNodePoolTagTagOutput { + return i.ToNativeNodePoolTagTagOutputWithContext(context.Background()) } -// Indicate to set desired pod number in node. valid when enable_customized_pod_cidr=true, and it override `[globe_]desired_pod_num` for current node. Either all the fields `desiredPodNum` or none. -func (o ScaleWorkerWorkerConfigOutput) DesiredPodNum() pulumi.IntPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerConfig) *int { return v.DesiredPodNum }).(pulumi.IntPtrOutput) +func (i NativeNodePoolTagTagArgs) ToNativeNodePoolTagTagOutputWithContext(ctx context.Context) NativeNodePoolTagTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(NativeNodePoolTagTagOutput) } -// Disaster recover groups to which a CVM instance belongs. Only support maximum 1. -func (o ScaleWorkerWorkerConfigOutput) DisasterRecoverGroupIds() pulumi.StringPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerConfig) *string { return v.DisasterRecoverGroupIds }).(pulumi.StringPtrOutput) +// NativeNodePoolTagTagArrayInput is an input type that accepts NativeNodePoolTagTagArray and NativeNodePoolTagTagArrayOutput values. +// You can construct a concrete instance of `NativeNodePoolTagTagArrayInput` via: +// +// NativeNodePoolTagTagArray{ NativeNodePoolTagTagArgs{...} } +type NativeNodePoolTagTagArrayInput interface { + pulumi.Input + + ToNativeNodePoolTagTagArrayOutput() NativeNodePoolTagTagArrayOutput + ToNativeNodePoolTagTagArrayOutputWithContext(context.Context) NativeNodePoolTagTagArrayOutput } -// To specify whether to enable cloud monitor service. Default is TRUE. -func (o ScaleWorkerWorkerConfigOutput) EnhancedMonitorService() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerConfig) *bool { return v.EnhancedMonitorService }).(pulumi.BoolPtrOutput) +type NativeNodePoolTagTagArray []NativeNodePoolTagTagInput + +func (NativeNodePoolTagTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NativeNodePoolTagTag)(nil)).Elem() } -// To specify whether to enable cloud security service. Default is TRUE. -func (o ScaleWorkerWorkerConfigOutput) EnhancedSecurityService() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerConfig) *bool { return v.EnhancedSecurityService }).(pulumi.BoolPtrOutput) +func (i NativeNodePoolTagTagArray) ToNativeNodePoolTagTagArrayOutput() NativeNodePoolTagTagArrayOutput { + return i.ToNativeNodePoolTagTagArrayOutputWithContext(context.Background()) } -// The host name of the attached instance. Dot (.) and dash (-) cannot be used as the first and last characters of HostName and cannot be used consecutively. Windows example: The length of the name character is [2, 15], letters (capitalization is not restricted), numbers and dashes (-) are allowed, dots (.) are not supported, and not all numbers are allowed. Examples of other types (Linux, etc.): The character length is [2, 60], and multiple dots are allowed. There is a segment between the dots. Each segment allows letters (with no limitation on capitalization), numbers and dashes (-). -func (o ScaleWorkerWorkerConfigOutput) Hostname() pulumi.StringPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerConfig) *string { return v.Hostname }).(pulumi.StringPtrOutput) +func (i NativeNodePoolTagTagArray) ToNativeNodePoolTagTagArrayOutputWithContext(ctx context.Context) NativeNodePoolTagTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NativeNodePoolTagTagArrayOutput) } -// Id of cvm hpc cluster. -func (o ScaleWorkerWorkerConfigOutput) HpcClusterId() pulumi.StringPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerConfig) *string { return v.HpcClusterId }).(pulumi.StringPtrOutput) +type NativeNodePoolTagTagOutput struct{ *pulumi.OutputState } + +func (NativeNodePoolTagTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NativeNodePoolTagTag)(nil)).Elem() } -// The valid image id, format of img-xxx. -func (o ScaleWorkerWorkerConfigOutput) ImgId() pulumi.StringPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerConfig) *string { return v.ImgId }).(pulumi.StringPtrOutput) +func (o NativeNodePoolTagTagOutput) ToNativeNodePoolTagTagOutput() NativeNodePoolTagTagOutput { + return o } -// The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. Note: TencentCloud International only supports `POSTPAID_BY_HOUR`, `PREPAID` instance will not terminated after cluster deleted, and may not allow to delete before expired. -func (o ScaleWorkerWorkerConfigOutput) InstanceChargeType() pulumi.StringPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerConfig) *string { return v.InstanceChargeType }).(pulumi.StringPtrOutput) +func (o NativeNodePoolTagTagOutput) ToNativeNodePoolTagTagOutputWithContext(ctx context.Context) NativeNodePoolTagTagOutput { + return o } -// The tenancy (time unit is month) of the prepaid instance. NOTE: it only works when instanceChargeType is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. -func (o ScaleWorkerWorkerConfigOutput) InstanceChargeTypePrepaidPeriod() pulumi.IntPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerConfig) *int { return v.InstanceChargeTypePrepaidPeriod }).(pulumi.IntPtrOutput) +// Tag Key. +func (o NativeNodePoolTagTagOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v NativeNodePoolTagTag) *string { return v.Key }).(pulumi.StringPtrOutput) } -// Auto renewal flag. Valid values: `NOTIFY_AND_AUTO_RENEW`: notify upon expiration and renew automatically, `NOTIFY_AND_MANUAL_RENEW`: notify upon expiration but do not renew automatically, `DISABLE_NOTIFY_AND_MANUAL_RENEW`: neither notify upon expiration nor renew automatically. Default value: `NOTIFY_AND_MANUAL_RENEW`. If this parameter is specified as `NOTIFY_AND_AUTO_RENEW`, the instance will be automatically renewed on a monthly basis if the account balance is sufficient. NOTE: it only works when instanceChargeType is set to `PREPAID`. -func (o ScaleWorkerWorkerConfigOutput) InstanceChargeTypePrepaidRenewFlag() pulumi.StringPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerConfig) *string { return v.InstanceChargeTypePrepaidRenewFlag }).(pulumi.StringPtrOutput) +// Tag Value. +func (o NativeNodePoolTagTagOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v NativeNodePoolTagTag) *string { return v.Value }).(pulumi.StringPtrOutput) } -// Name of the CVMs. -func (o ScaleWorkerWorkerConfigOutput) InstanceName() pulumi.StringPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerConfig) *string { return v.InstanceName }).(pulumi.StringPtrOutput) +type NativeNodePoolTagTagArrayOutput struct{ *pulumi.OutputState } + +func (NativeNodePoolTagTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NativeNodePoolTagTag)(nil)).Elem() } -// Specified types of CVM instance. -func (o ScaleWorkerWorkerConfigOutput) InstanceType() pulumi.StringOutput { - return o.ApplyT(func(v ScaleWorkerWorkerConfig) string { return v.InstanceType }).(pulumi.StringOutput) +func (o NativeNodePoolTagTagArrayOutput) ToNativeNodePoolTagTagArrayOutput() NativeNodePoolTagTagArrayOutput { + return o } -// Charge types for network traffic. Available values include `TRAFFIC_POSTPAID_BY_HOUR`. -func (o ScaleWorkerWorkerConfigOutput) InternetChargeType() pulumi.StringPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerConfig) *string { return v.InternetChargeType }).(pulumi.StringPtrOutput) +func (o NativeNodePoolTagTagArrayOutput) ToNativeNodePoolTagTagArrayOutputWithContext(ctx context.Context) NativeNodePoolTagTagArrayOutput { + return o } -// Max bandwidth of Internet access in Mbps. Default is 0. -func (o ScaleWorkerWorkerConfigOutput) InternetMaxBandwidthOut() pulumi.IntPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerConfig) *int { return v.InternetMaxBandwidthOut }).(pulumi.IntPtrOutput) +func (o NativeNodePoolTagTagArrayOutput) Index(i pulumi.IntInput) NativeNodePoolTagTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NativeNodePoolTagTag { + return vs[0].([]NativeNodePoolTagTag)[vs[1].(int)] + }).(NativeNodePoolTagTagOutput) } -// ID list of keys, should be set if `password` not set. -func (o ScaleWorkerWorkerConfigOutput) KeyIds() pulumi.StringPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerConfig) *string { return v.KeyIds }).(pulumi.StringPtrOutput) +type NativeNodePoolTaint struct { + // Effect of the taint. + Effect *string `pulumi:"effect"` + // Key of the taint. + Key *string `pulumi:"key"` + // Value of the taint. + Value *string `pulumi:"value"` } -// Password to access, should be set if `keyIds` not set. -func (o ScaleWorkerWorkerConfigOutput) Password() pulumi.StringPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerConfig) *string { return v.Password }).(pulumi.StringPtrOutput) +// NativeNodePoolTaintInput is an input type that accepts NativeNodePoolTaintArgs and NativeNodePoolTaintOutput values. +// You can construct a concrete instance of `NativeNodePoolTaintInput` via: +// +// NativeNodePoolTaintArgs{...} +type NativeNodePoolTaintInput interface { + pulumi.Input + + ToNativeNodePoolTaintOutput() NativeNodePoolTaintOutput + ToNativeNodePoolTaintOutputWithContext(context.Context) NativeNodePoolTaintOutput } -// Specify whether to assign an Internet IP address. -func (o ScaleWorkerWorkerConfigOutput) PublicIpAssigned() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerConfig) *bool { return v.PublicIpAssigned }).(pulumi.BoolPtrOutput) +type NativeNodePoolTaintArgs struct { + // Effect of the taint. + Effect pulumi.StringPtrInput `pulumi:"effect"` + // Key of the taint. + Key pulumi.StringPtrInput `pulumi:"key"` + // Value of the taint. + Value pulumi.StringPtrInput `pulumi:"value"` } -// Security groups to which a CVM instance belongs. -func (o ScaleWorkerWorkerConfigOutput) SecurityGroupIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v ScaleWorkerWorkerConfig) []string { return v.SecurityGroupIds }).(pulumi.StringArrayOutput) +func (NativeNodePoolTaintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NativeNodePoolTaint)(nil)).Elem() } -// Private network ID. -func (o ScaleWorkerWorkerConfigOutput) SubnetId() pulumi.StringOutput { - return o.ApplyT(func(v ScaleWorkerWorkerConfig) string { return v.SubnetId }).(pulumi.StringOutput) +func (i NativeNodePoolTaintArgs) ToNativeNodePoolTaintOutput() NativeNodePoolTaintOutput { + return i.ToNativeNodePoolTaintOutputWithContext(context.Background()) } -// Volume of system disk in GB. Default is `50`. -func (o ScaleWorkerWorkerConfigOutput) SystemDiskSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerConfig) *int { return v.SystemDiskSize }).(pulumi.IntPtrOutput) +func (i NativeNodePoolTaintArgs) ToNativeNodePoolTaintOutputWithContext(ctx context.Context) NativeNodePoolTaintOutput { + return pulumi.ToOutputWithContext(ctx, i).(NativeNodePoolTaintOutput) } -// System disk type. For more information on limits of system disk types, see [Storage Overview](https://intl.cloud.tencent.com/document/product/213/4952). Valid values: `LOCAL_BASIC`: local disk, `LOCAL_SSD`: local SSD disk, `CLOUD_SSD`: SSD, `CLOUD_PREMIUM`: Premium Cloud Storage. NOTE: `CLOUD_BASIC`, `LOCAL_BASIC` and `LOCAL_SSD` are deprecated. -func (o ScaleWorkerWorkerConfigOutput) SystemDiskType() pulumi.StringPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerConfig) *string { return v.SystemDiskType }).(pulumi.StringPtrOutput) +// NativeNodePoolTaintArrayInput is an input type that accepts NativeNodePoolTaintArray and NativeNodePoolTaintArrayOutput values. +// You can construct a concrete instance of `NativeNodePoolTaintArrayInput` via: +// +// NativeNodePoolTaintArray{ NativeNodePoolTaintArgs{...} } +type NativeNodePoolTaintArrayInput interface { + pulumi.Input + + ToNativeNodePoolTaintArrayOutput() NativeNodePoolTaintArrayOutput + ToNativeNodePoolTaintArrayOutputWithContext(context.Context) NativeNodePoolTaintArrayOutput } -// User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB. -func (o ScaleWorkerWorkerConfigOutput) UserData() pulumi.StringPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerConfig) *string { return v.UserData }).(pulumi.StringPtrOutput) +type NativeNodePoolTaintArray []NativeNodePoolTaintInput + +func (NativeNodePoolTaintArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NativeNodePoolTaint)(nil)).Elem() } -type ScaleWorkerWorkerConfigPtrOutput struct{ *pulumi.OutputState } +func (i NativeNodePoolTaintArray) ToNativeNodePoolTaintArrayOutput() NativeNodePoolTaintArrayOutput { + return i.ToNativeNodePoolTaintArrayOutputWithContext(context.Background()) +} -func (ScaleWorkerWorkerConfigPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ScaleWorkerWorkerConfig)(nil)).Elem() +func (i NativeNodePoolTaintArray) ToNativeNodePoolTaintArrayOutputWithContext(ctx context.Context) NativeNodePoolTaintArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NativeNodePoolTaintArrayOutput) } -func (o ScaleWorkerWorkerConfigPtrOutput) ToScaleWorkerWorkerConfigPtrOutput() ScaleWorkerWorkerConfigPtrOutput { - return o +type NativeNodePoolTaintOutput struct{ *pulumi.OutputState } + +func (NativeNodePoolTaintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NativeNodePoolTaint)(nil)).Elem() } -func (o ScaleWorkerWorkerConfigPtrOutput) ToScaleWorkerWorkerConfigPtrOutputWithContext(ctx context.Context) ScaleWorkerWorkerConfigPtrOutput { +func (o NativeNodePoolTaintOutput) ToNativeNodePoolTaintOutput() NativeNodePoolTaintOutput { return o } -func (o ScaleWorkerWorkerConfigPtrOutput) Elem() ScaleWorkerWorkerConfigOutput { - return o.ApplyT(func(v *ScaleWorkerWorkerConfig) ScaleWorkerWorkerConfig { - if v != nil { - return *v - } - var ret ScaleWorkerWorkerConfig - return ret - }).(ScaleWorkerWorkerConfigOutput) +func (o NativeNodePoolTaintOutput) ToNativeNodePoolTaintOutputWithContext(ctx context.Context) NativeNodePoolTaintOutput { + return o } -// Indicates which availability zone will be used. -func (o ScaleWorkerWorkerConfigPtrOutput) AvailabilityZone() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *string { - if v == nil { - return nil - } - return v.AvailabilityZone - }).(pulumi.StringPtrOutput) +// Effect of the taint. +func (o NativeNodePoolTaintOutput) Effect() pulumi.StringPtrOutput { + return o.ApplyT(func(v NativeNodePoolTaint) *string { return v.Effect }).(pulumi.StringPtrOutput) } -// bandwidth package id. if user is standard user, then the bandwidthPackageId is needed, or default has bandwidth_package_id. -func (o ScaleWorkerWorkerConfigPtrOutput) BandwidthPackageId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *string { - if v == nil { - return nil - } - return v.BandwidthPackageId - }).(pulumi.StringPtrOutput) +// Key of the taint. +func (o NativeNodePoolTaintOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v NativeNodePoolTaint) *string { return v.Key }).(pulumi.StringPtrOutput) } -// CAM role name authorized to access. -func (o ScaleWorkerWorkerConfigPtrOutput) CamRoleName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *string { - if v == nil { - return nil - } - return v.CamRoleName - }).(pulumi.StringPtrOutput) +// Value of the taint. +func (o NativeNodePoolTaintOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v NativeNodePoolTaint) *string { return v.Value }).(pulumi.StringPtrOutput) } -// Number of cvm. -func (o ScaleWorkerWorkerConfigPtrOutput) Count() pulumi.IntPtrOutput { - return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *int { - if v == nil { - return nil - } - return v.Count - }).(pulumi.IntPtrOutput) -} +type NativeNodePoolTaintArrayOutput struct{ *pulumi.OutputState } -// Configurations of data disk. -func (o ScaleWorkerWorkerConfigPtrOutput) DataDisks() ScaleWorkerWorkerConfigDataDiskArrayOutput { - return o.ApplyT(func(v *ScaleWorkerWorkerConfig) []ScaleWorkerWorkerConfigDataDisk { - if v == nil { - return nil - } - return v.DataDisks - }).(ScaleWorkerWorkerConfigDataDiskArrayOutput) +func (NativeNodePoolTaintArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NativeNodePoolTaint)(nil)).Elem() } -// Indicate to set desired pod number in node. valid when enable_customized_pod_cidr=true, and it override `[globe_]desired_pod_num` for current node. Either all the fields `desiredPodNum` or none. -func (o ScaleWorkerWorkerConfigPtrOutput) DesiredPodNum() pulumi.IntPtrOutput { - return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *int { - if v == nil { - return nil - } - return v.DesiredPodNum - }).(pulumi.IntPtrOutput) +func (o NativeNodePoolTaintArrayOutput) ToNativeNodePoolTaintArrayOutput() NativeNodePoolTaintArrayOutput { + return o } -// Disaster recover groups to which a CVM instance belongs. Only support maximum 1. -func (o ScaleWorkerWorkerConfigPtrOutput) DisasterRecoverGroupIds() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *string { - if v == nil { - return nil - } - return v.DisasterRecoverGroupIds - }).(pulumi.StringPtrOutput) +func (o NativeNodePoolTaintArrayOutput) ToNativeNodePoolTaintArrayOutputWithContext(ctx context.Context) NativeNodePoolTaintArrayOutput { + return o } -// To specify whether to enable cloud monitor service. Default is TRUE. -func (o ScaleWorkerWorkerConfigPtrOutput) EnhancedMonitorService() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *bool { - if v == nil { - return nil - } - return v.EnhancedMonitorService - }).(pulumi.BoolPtrOutput) +func (o NativeNodePoolTaintArrayOutput) Index(i pulumi.IntInput) NativeNodePoolTaintOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NativeNodePoolTaint { + return vs[0].([]NativeNodePoolTaint)[vs[1].(int)] + }).(NativeNodePoolTaintOutput) } -// To specify whether to enable cloud security service. Default is TRUE. -func (o ScaleWorkerWorkerConfigPtrOutput) EnhancedSecurityService() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *bool { - if v == nil { - return nil - } - return v.EnhancedSecurityService +type NodePoolAutoScalingConfig struct { + // Backup CVM instance types if specified instance type sold out or mismatch. + BackupInstanceTypes []string `pulumi:"backupInstanceTypes"` + // bandwidth package id. if user is standard user, then the bandwidthPackageId is needed, or default has bandwidth_package_id. + BandwidthPackageId *string `pulumi:"bandwidthPackageId"` + // Name of cam role. + CamRoleName *string `pulumi:"camRoleName"` + // Configurations of data disk. + DataDisks []NodePoolAutoScalingConfigDataDisk `pulumi:"dataDisks"` + // To specify whether to enable cloud monitor service. Default is TRUE. + EnhancedMonitorService *bool `pulumi:"enhancedMonitorService"` + // To specify whether to enable cloud security service. Default is TRUE. + EnhancedSecurityService *bool `pulumi:"enhancedSecurityService"` + // The hostname of the cloud server, dot (.) and dash (-) cannot be used as the first and last characters of HostName and cannot be used consecutively. Windows instances are not supported. Examples of other types (Linux, etc.): The character length is [2, 40], multiple periods are allowed, and there is a paragraph between the dots, and each paragraph is allowed to consist of letters (unlimited case), numbers and dashes (-). Pure numbers are not allowed. For usage, refer to `HostNameSettings` in https://www.tencentcloud.com/document/product/377/31001. + HostName *string `pulumi:"hostName"` + // The style of the host name of the cloud server, the value range includes ORIGINAL and UNIQUE, and the default is ORIGINAL. For usage, refer to `HostNameSettings` in https://www.tencentcloud.com/document/product/377/31001. + HostNameStyle *string `pulumi:"hostNameStyle"` + // Charge type of instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `SPOTPAID`. The default is `POSTPAID_BY_HOUR`. NOTE: `SPOTPAID` instance must set `spotInstanceType` and `spotMaxPrice` at the same time. + InstanceChargeType *string `pulumi:"instanceChargeType"` + // The tenancy (in month) of the prepaid instance, NOTE: it only works when instanceChargeType is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. + InstanceChargeTypePrepaidPeriod *int `pulumi:"instanceChargeTypePrepaidPeriod"` + // Auto renewal flag. Valid values: `NOTIFY_AND_AUTO_RENEW`: notify upon expiration and renew automatically, `NOTIFY_AND_MANUAL_RENEW`: notify upon expiration but do not renew automatically, `DISABLE_NOTIFY_AND_MANUAL_RENEW`: neither notify upon expiration nor renew automatically. Default value: `NOTIFY_AND_MANUAL_RENEW`. If this parameter is specified as `NOTIFY_AND_AUTO_RENEW`, the instance will be automatically renewed on a monthly basis if the account balance is sufficient. NOTE: it only works when instanceChargeType is set to `PREPAID`. + InstanceChargeTypePrepaidRenewFlag *string `pulumi:"instanceChargeTypePrepaidRenewFlag"` + // Instance name, no more than 60 characters. For usage, refer to `InstanceNameSettings` in https://www.tencentcloud.com/document/product/377/31001. + InstanceName *string `pulumi:"instanceName"` + // Specified types of CVM instance. + InstanceType string `pulumi:"instanceType"` + // Charge types for network traffic. Valid value: `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. + InternetChargeType *string `pulumi:"internetChargeType"` + // Max bandwidth of Internet access in Mbps. Default is `0`. + InternetMaxBandwidthOut *int `pulumi:"internetMaxBandwidthOut"` + // ID list of keys. + KeyIds []string `pulumi:"keyIds"` + // Ordered security groups to which a CVM instance belongs. + OrderlySecurityGroupIds []string `pulumi:"orderlySecurityGroupIds"` + // Password to access. + Password *string `pulumi:"password"` + // Specify whether to assign an Internet IP address. + PublicIpAssigned *bool `pulumi:"publicIpAssigned"` + // The order of elements in this field cannot be guaranteed. Use `orderlySecurityGroupIds` instead. Security groups to which a CVM instance belongs. + // + // Deprecated: The order of elements in this field cannot be guaranteed. Use `orderlySecurityGroupIds` instead. + SecurityGroupIds []string `pulumi:"securityGroupIds"` + // Type of spot instance, only support `one-time` now. Note: it only works when instanceChargeType is set to `SPOTPAID`. + SpotInstanceType *string `pulumi:"spotInstanceType"` + // Max price of a spot instance, is the format of decimal string, for example "0.50". Note: it only works when instanceChargeType is set to `SPOTPAID`. + SpotMaxPrice *string `pulumi:"spotMaxPrice"` + // Volume of system disk in GB. Default is `50`. + SystemDiskSize *int `pulumi:"systemDiskSize"` + // Type of a CVM disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. Default is `CLOUD_PREMIUM`. + SystemDiskType *string `pulumi:"systemDiskType"` +} + +// NodePoolAutoScalingConfigInput is an input type that accepts NodePoolAutoScalingConfigArgs and NodePoolAutoScalingConfigOutput values. +// You can construct a concrete instance of `NodePoolAutoScalingConfigInput` via: +// +// NodePoolAutoScalingConfigArgs{...} +type NodePoolAutoScalingConfigInput interface { + pulumi.Input + + ToNodePoolAutoScalingConfigOutput() NodePoolAutoScalingConfigOutput + ToNodePoolAutoScalingConfigOutputWithContext(context.Context) NodePoolAutoScalingConfigOutput +} + +type NodePoolAutoScalingConfigArgs struct { + // Backup CVM instance types if specified instance type sold out or mismatch. + BackupInstanceTypes pulumi.StringArrayInput `pulumi:"backupInstanceTypes"` + // bandwidth package id. if user is standard user, then the bandwidthPackageId is needed, or default has bandwidth_package_id. + BandwidthPackageId pulumi.StringPtrInput `pulumi:"bandwidthPackageId"` + // Name of cam role. + CamRoleName pulumi.StringPtrInput `pulumi:"camRoleName"` + // Configurations of data disk. + DataDisks NodePoolAutoScalingConfigDataDiskArrayInput `pulumi:"dataDisks"` + // To specify whether to enable cloud monitor service. Default is TRUE. + EnhancedMonitorService pulumi.BoolPtrInput `pulumi:"enhancedMonitorService"` + // To specify whether to enable cloud security service. Default is TRUE. + EnhancedSecurityService pulumi.BoolPtrInput `pulumi:"enhancedSecurityService"` + // The hostname of the cloud server, dot (.) and dash (-) cannot be used as the first and last characters of HostName and cannot be used consecutively. Windows instances are not supported. Examples of other types (Linux, etc.): The character length is [2, 40], multiple periods are allowed, and there is a paragraph between the dots, and each paragraph is allowed to consist of letters (unlimited case), numbers and dashes (-). Pure numbers are not allowed. For usage, refer to `HostNameSettings` in https://www.tencentcloud.com/document/product/377/31001. + HostName pulumi.StringPtrInput `pulumi:"hostName"` + // The style of the host name of the cloud server, the value range includes ORIGINAL and UNIQUE, and the default is ORIGINAL. For usage, refer to `HostNameSettings` in https://www.tencentcloud.com/document/product/377/31001. + HostNameStyle pulumi.StringPtrInput `pulumi:"hostNameStyle"` + // Charge type of instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `SPOTPAID`. The default is `POSTPAID_BY_HOUR`. NOTE: `SPOTPAID` instance must set `spotInstanceType` and `spotMaxPrice` at the same time. + InstanceChargeType pulumi.StringPtrInput `pulumi:"instanceChargeType"` + // The tenancy (in month) of the prepaid instance, NOTE: it only works when instanceChargeType is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. + InstanceChargeTypePrepaidPeriod pulumi.IntPtrInput `pulumi:"instanceChargeTypePrepaidPeriod"` + // Auto renewal flag. Valid values: `NOTIFY_AND_AUTO_RENEW`: notify upon expiration and renew automatically, `NOTIFY_AND_MANUAL_RENEW`: notify upon expiration but do not renew automatically, `DISABLE_NOTIFY_AND_MANUAL_RENEW`: neither notify upon expiration nor renew automatically. Default value: `NOTIFY_AND_MANUAL_RENEW`. If this parameter is specified as `NOTIFY_AND_AUTO_RENEW`, the instance will be automatically renewed on a monthly basis if the account balance is sufficient. NOTE: it only works when instanceChargeType is set to `PREPAID`. + InstanceChargeTypePrepaidRenewFlag pulumi.StringPtrInput `pulumi:"instanceChargeTypePrepaidRenewFlag"` + // Instance name, no more than 60 characters. For usage, refer to `InstanceNameSettings` in https://www.tencentcloud.com/document/product/377/31001. + InstanceName pulumi.StringPtrInput `pulumi:"instanceName"` + // Specified types of CVM instance. + InstanceType pulumi.StringInput `pulumi:"instanceType"` + // Charge types for network traffic. Valid value: `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. + InternetChargeType pulumi.StringPtrInput `pulumi:"internetChargeType"` + // Max bandwidth of Internet access in Mbps. Default is `0`. + InternetMaxBandwidthOut pulumi.IntPtrInput `pulumi:"internetMaxBandwidthOut"` + // ID list of keys. + KeyIds pulumi.StringArrayInput `pulumi:"keyIds"` + // Ordered security groups to which a CVM instance belongs. + OrderlySecurityGroupIds pulumi.StringArrayInput `pulumi:"orderlySecurityGroupIds"` + // Password to access. + Password pulumi.StringPtrInput `pulumi:"password"` + // Specify whether to assign an Internet IP address. + PublicIpAssigned pulumi.BoolPtrInput `pulumi:"publicIpAssigned"` + // The order of elements in this field cannot be guaranteed. Use `orderlySecurityGroupIds` instead. Security groups to which a CVM instance belongs. + // + // Deprecated: The order of elements in this field cannot be guaranteed. Use `orderlySecurityGroupIds` instead. + SecurityGroupIds pulumi.StringArrayInput `pulumi:"securityGroupIds"` + // Type of spot instance, only support `one-time` now. Note: it only works when instanceChargeType is set to `SPOTPAID`. + SpotInstanceType pulumi.StringPtrInput `pulumi:"spotInstanceType"` + // Max price of a spot instance, is the format of decimal string, for example "0.50". Note: it only works when instanceChargeType is set to `SPOTPAID`. + SpotMaxPrice pulumi.StringPtrInput `pulumi:"spotMaxPrice"` + // Volume of system disk in GB. Default is `50`. + SystemDiskSize pulumi.IntPtrInput `pulumi:"systemDiskSize"` + // Type of a CVM disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. Default is `CLOUD_PREMIUM`. + SystemDiskType pulumi.StringPtrInput `pulumi:"systemDiskType"` +} + +func (NodePoolAutoScalingConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NodePoolAutoScalingConfig)(nil)).Elem() +} + +func (i NodePoolAutoScalingConfigArgs) ToNodePoolAutoScalingConfigOutput() NodePoolAutoScalingConfigOutput { + return i.ToNodePoolAutoScalingConfigOutputWithContext(context.Background()) +} + +func (i NodePoolAutoScalingConfigArgs) ToNodePoolAutoScalingConfigOutputWithContext(ctx context.Context) NodePoolAutoScalingConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodePoolAutoScalingConfigOutput) +} + +func (i NodePoolAutoScalingConfigArgs) ToNodePoolAutoScalingConfigPtrOutput() NodePoolAutoScalingConfigPtrOutput { + return i.ToNodePoolAutoScalingConfigPtrOutputWithContext(context.Background()) +} + +func (i NodePoolAutoScalingConfigArgs) ToNodePoolAutoScalingConfigPtrOutputWithContext(ctx context.Context) NodePoolAutoScalingConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodePoolAutoScalingConfigOutput).ToNodePoolAutoScalingConfigPtrOutputWithContext(ctx) +} + +// NodePoolAutoScalingConfigPtrInput is an input type that accepts NodePoolAutoScalingConfigArgs, NodePoolAutoScalingConfigPtr and NodePoolAutoScalingConfigPtrOutput values. +// You can construct a concrete instance of `NodePoolAutoScalingConfigPtrInput` via: +// +// NodePoolAutoScalingConfigArgs{...} +// +// or: +// +// nil +type NodePoolAutoScalingConfigPtrInput interface { + pulumi.Input + + ToNodePoolAutoScalingConfigPtrOutput() NodePoolAutoScalingConfigPtrOutput + ToNodePoolAutoScalingConfigPtrOutputWithContext(context.Context) NodePoolAutoScalingConfigPtrOutput +} + +type nodePoolAutoScalingConfigPtrType NodePoolAutoScalingConfigArgs + +func NodePoolAutoScalingConfigPtr(v *NodePoolAutoScalingConfigArgs) NodePoolAutoScalingConfigPtrInput { + return (*nodePoolAutoScalingConfigPtrType)(v) +} + +func (*nodePoolAutoScalingConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NodePoolAutoScalingConfig)(nil)).Elem() +} + +func (i *nodePoolAutoScalingConfigPtrType) ToNodePoolAutoScalingConfigPtrOutput() NodePoolAutoScalingConfigPtrOutput { + return i.ToNodePoolAutoScalingConfigPtrOutputWithContext(context.Background()) +} + +func (i *nodePoolAutoScalingConfigPtrType) ToNodePoolAutoScalingConfigPtrOutputWithContext(ctx context.Context) NodePoolAutoScalingConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodePoolAutoScalingConfigPtrOutput) +} + +type NodePoolAutoScalingConfigOutput struct{ *pulumi.OutputState } + +func (NodePoolAutoScalingConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NodePoolAutoScalingConfig)(nil)).Elem() +} + +func (o NodePoolAutoScalingConfigOutput) ToNodePoolAutoScalingConfigOutput() NodePoolAutoScalingConfigOutput { + return o +} + +func (o NodePoolAutoScalingConfigOutput) ToNodePoolAutoScalingConfigOutputWithContext(ctx context.Context) NodePoolAutoScalingConfigOutput { + return o +} + +func (o NodePoolAutoScalingConfigOutput) ToNodePoolAutoScalingConfigPtrOutput() NodePoolAutoScalingConfigPtrOutput { + return o.ToNodePoolAutoScalingConfigPtrOutputWithContext(context.Background()) +} + +func (o NodePoolAutoScalingConfigOutput) ToNodePoolAutoScalingConfigPtrOutputWithContext(ctx context.Context) NodePoolAutoScalingConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NodePoolAutoScalingConfig) *NodePoolAutoScalingConfig { + return &v + }).(NodePoolAutoScalingConfigPtrOutput) +} + +// Backup CVM instance types if specified instance type sold out or mismatch. +func (o NodePoolAutoScalingConfigOutput) BackupInstanceTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v NodePoolAutoScalingConfig) []string { return v.BackupInstanceTypes }).(pulumi.StringArrayOutput) +} + +// bandwidth package id. if user is standard user, then the bandwidthPackageId is needed, or default has bandwidth_package_id. +func (o NodePoolAutoScalingConfigOutput) BandwidthPackageId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodePoolAutoScalingConfig) *string { return v.BandwidthPackageId }).(pulumi.StringPtrOutput) +} + +// Name of cam role. +func (o NodePoolAutoScalingConfigOutput) CamRoleName() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodePoolAutoScalingConfig) *string { return v.CamRoleName }).(pulumi.StringPtrOutput) +} + +// Configurations of data disk. +func (o NodePoolAutoScalingConfigOutput) DataDisks() NodePoolAutoScalingConfigDataDiskArrayOutput { + return o.ApplyT(func(v NodePoolAutoScalingConfig) []NodePoolAutoScalingConfigDataDisk { return v.DataDisks }).(NodePoolAutoScalingConfigDataDiskArrayOutput) +} + +// To specify whether to enable cloud monitor service. Default is TRUE. +func (o NodePoolAutoScalingConfigOutput) EnhancedMonitorService() pulumi.BoolPtrOutput { + return o.ApplyT(func(v NodePoolAutoScalingConfig) *bool { return v.EnhancedMonitorService }).(pulumi.BoolPtrOutput) +} + +// To specify whether to enable cloud security service. Default is TRUE. +func (o NodePoolAutoScalingConfigOutput) EnhancedSecurityService() pulumi.BoolPtrOutput { + return o.ApplyT(func(v NodePoolAutoScalingConfig) *bool { return v.EnhancedSecurityService }).(pulumi.BoolPtrOutput) +} + +// The hostname of the cloud server, dot (.) and dash (-) cannot be used as the first and last characters of HostName and cannot be used consecutively. Windows instances are not supported. Examples of other types (Linux, etc.): The character length is [2, 40], multiple periods are allowed, and there is a paragraph between the dots, and each paragraph is allowed to consist of letters (unlimited case), numbers and dashes (-). Pure numbers are not allowed. For usage, refer to `HostNameSettings` in https://www.tencentcloud.com/document/product/377/31001. +func (o NodePoolAutoScalingConfigOutput) HostName() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodePoolAutoScalingConfig) *string { return v.HostName }).(pulumi.StringPtrOutput) +} + +// The style of the host name of the cloud server, the value range includes ORIGINAL and UNIQUE, and the default is ORIGINAL. For usage, refer to `HostNameSettings` in https://www.tencentcloud.com/document/product/377/31001. +func (o NodePoolAutoScalingConfigOutput) HostNameStyle() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodePoolAutoScalingConfig) *string { return v.HostNameStyle }).(pulumi.StringPtrOutput) +} + +// Charge type of instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `SPOTPAID`. The default is `POSTPAID_BY_HOUR`. NOTE: `SPOTPAID` instance must set `spotInstanceType` and `spotMaxPrice` at the same time. +func (o NodePoolAutoScalingConfigOutput) InstanceChargeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodePoolAutoScalingConfig) *string { return v.InstanceChargeType }).(pulumi.StringPtrOutput) +} + +// The tenancy (in month) of the prepaid instance, NOTE: it only works when instanceChargeType is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. +func (o NodePoolAutoScalingConfigOutput) InstanceChargeTypePrepaidPeriod() pulumi.IntPtrOutput { + return o.ApplyT(func(v NodePoolAutoScalingConfig) *int { return v.InstanceChargeTypePrepaidPeriod }).(pulumi.IntPtrOutput) +} + +// Auto renewal flag. Valid values: `NOTIFY_AND_AUTO_RENEW`: notify upon expiration and renew automatically, `NOTIFY_AND_MANUAL_RENEW`: notify upon expiration but do not renew automatically, `DISABLE_NOTIFY_AND_MANUAL_RENEW`: neither notify upon expiration nor renew automatically. Default value: `NOTIFY_AND_MANUAL_RENEW`. If this parameter is specified as `NOTIFY_AND_AUTO_RENEW`, the instance will be automatically renewed on a monthly basis if the account balance is sufficient. NOTE: it only works when instanceChargeType is set to `PREPAID`. +func (o NodePoolAutoScalingConfigOutput) InstanceChargeTypePrepaidRenewFlag() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodePoolAutoScalingConfig) *string { return v.InstanceChargeTypePrepaidRenewFlag }).(pulumi.StringPtrOutput) +} + +// Instance name, no more than 60 characters. For usage, refer to `InstanceNameSettings` in https://www.tencentcloud.com/document/product/377/31001. +func (o NodePoolAutoScalingConfigOutput) InstanceName() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodePoolAutoScalingConfig) *string { return v.InstanceName }).(pulumi.StringPtrOutput) +} + +// Specified types of CVM instance. +func (o NodePoolAutoScalingConfigOutput) InstanceType() pulumi.StringOutput { + return o.ApplyT(func(v NodePoolAutoScalingConfig) string { return v.InstanceType }).(pulumi.StringOutput) +} + +// Charge types for network traffic. Valid value: `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. +func (o NodePoolAutoScalingConfigOutput) InternetChargeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodePoolAutoScalingConfig) *string { return v.InternetChargeType }).(pulumi.StringPtrOutput) +} + +// Max bandwidth of Internet access in Mbps. Default is `0`. +func (o NodePoolAutoScalingConfigOutput) InternetMaxBandwidthOut() pulumi.IntPtrOutput { + return o.ApplyT(func(v NodePoolAutoScalingConfig) *int { return v.InternetMaxBandwidthOut }).(pulumi.IntPtrOutput) +} + +// ID list of keys. +func (o NodePoolAutoScalingConfigOutput) KeyIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v NodePoolAutoScalingConfig) []string { return v.KeyIds }).(pulumi.StringArrayOutput) +} + +// Ordered security groups to which a CVM instance belongs. +func (o NodePoolAutoScalingConfigOutput) OrderlySecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v NodePoolAutoScalingConfig) []string { return v.OrderlySecurityGroupIds }).(pulumi.StringArrayOutput) +} + +// Password to access. +func (o NodePoolAutoScalingConfigOutput) Password() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodePoolAutoScalingConfig) *string { return v.Password }).(pulumi.StringPtrOutput) +} + +// Specify whether to assign an Internet IP address. +func (o NodePoolAutoScalingConfigOutput) PublicIpAssigned() pulumi.BoolPtrOutput { + return o.ApplyT(func(v NodePoolAutoScalingConfig) *bool { return v.PublicIpAssigned }).(pulumi.BoolPtrOutput) +} + +// The order of elements in this field cannot be guaranteed. Use `orderlySecurityGroupIds` instead. Security groups to which a CVM instance belongs. +// +// Deprecated: The order of elements in this field cannot be guaranteed. Use `orderlySecurityGroupIds` instead. +func (o NodePoolAutoScalingConfigOutput) SecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v NodePoolAutoScalingConfig) []string { return v.SecurityGroupIds }).(pulumi.StringArrayOutput) +} + +// Type of spot instance, only support `one-time` now. Note: it only works when instanceChargeType is set to `SPOTPAID`. +func (o NodePoolAutoScalingConfigOutput) SpotInstanceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodePoolAutoScalingConfig) *string { return v.SpotInstanceType }).(pulumi.StringPtrOutput) +} + +// Max price of a spot instance, is the format of decimal string, for example "0.50". Note: it only works when instanceChargeType is set to `SPOTPAID`. +func (o NodePoolAutoScalingConfigOutput) SpotMaxPrice() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodePoolAutoScalingConfig) *string { return v.SpotMaxPrice }).(pulumi.StringPtrOutput) +} + +// Volume of system disk in GB. Default is `50`. +func (o NodePoolAutoScalingConfigOutput) SystemDiskSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v NodePoolAutoScalingConfig) *int { return v.SystemDiskSize }).(pulumi.IntPtrOutput) +} + +// Type of a CVM disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. Default is `CLOUD_PREMIUM`. +func (o NodePoolAutoScalingConfigOutput) SystemDiskType() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodePoolAutoScalingConfig) *string { return v.SystemDiskType }).(pulumi.StringPtrOutput) +} + +type NodePoolAutoScalingConfigPtrOutput struct{ *pulumi.OutputState } + +func (NodePoolAutoScalingConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NodePoolAutoScalingConfig)(nil)).Elem() +} + +func (o NodePoolAutoScalingConfigPtrOutput) ToNodePoolAutoScalingConfigPtrOutput() NodePoolAutoScalingConfigPtrOutput { + return o +} + +func (o NodePoolAutoScalingConfigPtrOutput) ToNodePoolAutoScalingConfigPtrOutputWithContext(ctx context.Context) NodePoolAutoScalingConfigPtrOutput { + return o +} + +func (o NodePoolAutoScalingConfigPtrOutput) Elem() NodePoolAutoScalingConfigOutput { + return o.ApplyT(func(v *NodePoolAutoScalingConfig) NodePoolAutoScalingConfig { + if v != nil { + return *v + } + var ret NodePoolAutoScalingConfig + return ret + }).(NodePoolAutoScalingConfigOutput) +} + +// Backup CVM instance types if specified instance type sold out or mismatch. +func (o NodePoolAutoScalingConfigPtrOutput) BackupInstanceTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NodePoolAutoScalingConfig) []string { + if v == nil { + return nil + } + return v.BackupInstanceTypes + }).(pulumi.StringArrayOutput) +} + +// bandwidth package id. if user is standard user, then the bandwidthPackageId is needed, or default has bandwidth_package_id. +func (o NodePoolAutoScalingConfigPtrOutput) BandwidthPackageId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NodePoolAutoScalingConfig) *string { + if v == nil { + return nil + } + return v.BandwidthPackageId + }).(pulumi.StringPtrOutput) +} + +// Name of cam role. +func (o NodePoolAutoScalingConfigPtrOutput) CamRoleName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NodePoolAutoScalingConfig) *string { + if v == nil { + return nil + } + return v.CamRoleName + }).(pulumi.StringPtrOutput) +} + +// Configurations of data disk. +func (o NodePoolAutoScalingConfigPtrOutput) DataDisks() NodePoolAutoScalingConfigDataDiskArrayOutput { + return o.ApplyT(func(v *NodePoolAutoScalingConfig) []NodePoolAutoScalingConfigDataDisk { + if v == nil { + return nil + } + return v.DataDisks + }).(NodePoolAutoScalingConfigDataDiskArrayOutput) +} + +// To specify whether to enable cloud monitor service. Default is TRUE. +func (o NodePoolAutoScalingConfigPtrOutput) EnhancedMonitorService() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *NodePoolAutoScalingConfig) *bool { + if v == nil { + return nil + } + return v.EnhancedMonitorService + }).(pulumi.BoolPtrOutput) +} + +// To specify whether to enable cloud security service. Default is TRUE. +func (o NodePoolAutoScalingConfigPtrOutput) EnhancedSecurityService() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *NodePoolAutoScalingConfig) *bool { + if v == nil { + return nil + } + return v.EnhancedSecurityService + }).(pulumi.BoolPtrOutput) +} + +// The hostname of the cloud server, dot (.) and dash (-) cannot be used as the first and last characters of HostName and cannot be used consecutively. Windows instances are not supported. Examples of other types (Linux, etc.): The character length is [2, 40], multiple periods are allowed, and there is a paragraph between the dots, and each paragraph is allowed to consist of letters (unlimited case), numbers and dashes (-). Pure numbers are not allowed. For usage, refer to `HostNameSettings` in https://www.tencentcloud.com/document/product/377/31001. +func (o NodePoolAutoScalingConfigPtrOutput) HostName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NodePoolAutoScalingConfig) *string { + if v == nil { + return nil + } + return v.HostName + }).(pulumi.StringPtrOutput) +} + +// The style of the host name of the cloud server, the value range includes ORIGINAL and UNIQUE, and the default is ORIGINAL. For usage, refer to `HostNameSettings` in https://www.tencentcloud.com/document/product/377/31001. +func (o NodePoolAutoScalingConfigPtrOutput) HostNameStyle() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NodePoolAutoScalingConfig) *string { + if v == nil { + return nil + } + return v.HostNameStyle + }).(pulumi.StringPtrOutput) +} + +// Charge type of instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `SPOTPAID`. The default is `POSTPAID_BY_HOUR`. NOTE: `SPOTPAID` instance must set `spotInstanceType` and `spotMaxPrice` at the same time. +func (o NodePoolAutoScalingConfigPtrOutput) InstanceChargeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NodePoolAutoScalingConfig) *string { + if v == nil { + return nil + } + return v.InstanceChargeType + }).(pulumi.StringPtrOutput) +} + +// The tenancy (in month) of the prepaid instance, NOTE: it only works when instanceChargeType is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. +func (o NodePoolAutoScalingConfigPtrOutput) InstanceChargeTypePrepaidPeriod() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NodePoolAutoScalingConfig) *int { + if v == nil { + return nil + } + return v.InstanceChargeTypePrepaidPeriod + }).(pulumi.IntPtrOutput) +} + +// Auto renewal flag. Valid values: `NOTIFY_AND_AUTO_RENEW`: notify upon expiration and renew automatically, `NOTIFY_AND_MANUAL_RENEW`: notify upon expiration but do not renew automatically, `DISABLE_NOTIFY_AND_MANUAL_RENEW`: neither notify upon expiration nor renew automatically. Default value: `NOTIFY_AND_MANUAL_RENEW`. If this parameter is specified as `NOTIFY_AND_AUTO_RENEW`, the instance will be automatically renewed on a monthly basis if the account balance is sufficient. NOTE: it only works when instanceChargeType is set to `PREPAID`. +func (o NodePoolAutoScalingConfigPtrOutput) InstanceChargeTypePrepaidRenewFlag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NodePoolAutoScalingConfig) *string { + if v == nil { + return nil + } + return v.InstanceChargeTypePrepaidRenewFlag + }).(pulumi.StringPtrOutput) +} + +// Instance name, no more than 60 characters. For usage, refer to `InstanceNameSettings` in https://www.tencentcloud.com/document/product/377/31001. +func (o NodePoolAutoScalingConfigPtrOutput) InstanceName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NodePoolAutoScalingConfig) *string { + if v == nil { + return nil + } + return v.InstanceName + }).(pulumi.StringPtrOutput) +} + +// Specified types of CVM instance. +func (o NodePoolAutoScalingConfigPtrOutput) InstanceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NodePoolAutoScalingConfig) *string { + if v == nil { + return nil + } + return &v.InstanceType + }).(pulumi.StringPtrOutput) +} + +// Charge types for network traffic. Valid value: `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. +func (o NodePoolAutoScalingConfigPtrOutput) InternetChargeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NodePoolAutoScalingConfig) *string { + if v == nil { + return nil + } + return v.InternetChargeType + }).(pulumi.StringPtrOutput) +} + +// Max bandwidth of Internet access in Mbps. Default is `0`. +func (o NodePoolAutoScalingConfigPtrOutput) InternetMaxBandwidthOut() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NodePoolAutoScalingConfig) *int { + if v == nil { + return nil + } + return v.InternetMaxBandwidthOut + }).(pulumi.IntPtrOutput) +} + +// ID list of keys. +func (o NodePoolAutoScalingConfigPtrOutput) KeyIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NodePoolAutoScalingConfig) []string { + if v == nil { + return nil + } + return v.KeyIds + }).(pulumi.StringArrayOutput) +} + +// Ordered security groups to which a CVM instance belongs. +func (o NodePoolAutoScalingConfigPtrOutput) OrderlySecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NodePoolAutoScalingConfig) []string { + if v == nil { + return nil + } + return v.OrderlySecurityGroupIds + }).(pulumi.StringArrayOutput) +} + +// Password to access. +func (o NodePoolAutoScalingConfigPtrOutput) Password() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NodePoolAutoScalingConfig) *string { + if v == nil { + return nil + } + return v.Password + }).(pulumi.StringPtrOutput) +} + +// Specify whether to assign an Internet IP address. +func (o NodePoolAutoScalingConfigPtrOutput) PublicIpAssigned() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *NodePoolAutoScalingConfig) *bool { + if v == nil { + return nil + } + return v.PublicIpAssigned + }).(pulumi.BoolPtrOutput) +} + +// The order of elements in this field cannot be guaranteed. Use `orderlySecurityGroupIds` instead. Security groups to which a CVM instance belongs. +// +// Deprecated: The order of elements in this field cannot be guaranteed. Use `orderlySecurityGroupIds` instead. +func (o NodePoolAutoScalingConfigPtrOutput) SecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NodePoolAutoScalingConfig) []string { + if v == nil { + return nil + } + return v.SecurityGroupIds + }).(pulumi.StringArrayOutput) +} + +// Type of spot instance, only support `one-time` now. Note: it only works when instanceChargeType is set to `SPOTPAID`. +func (o NodePoolAutoScalingConfigPtrOutput) SpotInstanceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NodePoolAutoScalingConfig) *string { + if v == nil { + return nil + } + return v.SpotInstanceType + }).(pulumi.StringPtrOutput) +} + +// Max price of a spot instance, is the format of decimal string, for example "0.50". Note: it only works when instanceChargeType is set to `SPOTPAID`. +func (o NodePoolAutoScalingConfigPtrOutput) SpotMaxPrice() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NodePoolAutoScalingConfig) *string { + if v == nil { + return nil + } + return v.SpotMaxPrice + }).(pulumi.StringPtrOutput) +} + +// Volume of system disk in GB. Default is `50`. +func (o NodePoolAutoScalingConfigPtrOutput) SystemDiskSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NodePoolAutoScalingConfig) *int { + if v == nil { + return nil + } + return v.SystemDiskSize + }).(pulumi.IntPtrOutput) +} + +// Type of a CVM disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. Default is `CLOUD_PREMIUM`. +func (o NodePoolAutoScalingConfigPtrOutput) SystemDiskType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NodePoolAutoScalingConfig) *string { + if v == nil { + return nil + } + return v.SystemDiskType + }).(pulumi.StringPtrOutput) +} + +type NodePoolAutoScalingConfigDataDisk struct { + // Indicates whether the disk remove after instance terminated. Default is `false`. + DeleteWithInstance *bool `pulumi:"deleteWithInstance"` + // Volume of disk in GB. Default is `0`. + DiskSize *int `pulumi:"diskSize"` + // Types of disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. + DiskType *string `pulumi:"diskType"` + // Specify whether to encrypt data disk, default: false. NOTE: Make sure the instance type is offering and the cam role `QcloudKMSAccessForCVMRole` was provided. + Encrypt *bool `pulumi:"encrypt"` + // Data disk snapshot ID. + SnapshotId *string `pulumi:"snapshotId"` + // Add extra performance to the data disk. Only works when disk type is `CLOUD_TSSD` or `CLOUD_HSSD` and `dataSize` > 460GB. + ThroughputPerformance *int `pulumi:"throughputPerformance"` +} + +// NodePoolAutoScalingConfigDataDiskInput is an input type that accepts NodePoolAutoScalingConfigDataDiskArgs and NodePoolAutoScalingConfigDataDiskOutput values. +// You can construct a concrete instance of `NodePoolAutoScalingConfigDataDiskInput` via: +// +// NodePoolAutoScalingConfigDataDiskArgs{...} +type NodePoolAutoScalingConfigDataDiskInput interface { + pulumi.Input + + ToNodePoolAutoScalingConfigDataDiskOutput() NodePoolAutoScalingConfigDataDiskOutput + ToNodePoolAutoScalingConfigDataDiskOutputWithContext(context.Context) NodePoolAutoScalingConfigDataDiskOutput +} + +type NodePoolAutoScalingConfigDataDiskArgs struct { + // Indicates whether the disk remove after instance terminated. Default is `false`. + DeleteWithInstance pulumi.BoolPtrInput `pulumi:"deleteWithInstance"` + // Volume of disk in GB. Default is `0`. + DiskSize pulumi.IntPtrInput `pulumi:"diskSize"` + // Types of disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. + DiskType pulumi.StringPtrInput `pulumi:"diskType"` + // Specify whether to encrypt data disk, default: false. NOTE: Make sure the instance type is offering and the cam role `QcloudKMSAccessForCVMRole` was provided. + Encrypt pulumi.BoolPtrInput `pulumi:"encrypt"` + // Data disk snapshot ID. + SnapshotId pulumi.StringPtrInput `pulumi:"snapshotId"` + // Add extra performance to the data disk. Only works when disk type is `CLOUD_TSSD` or `CLOUD_HSSD` and `dataSize` > 460GB. + ThroughputPerformance pulumi.IntPtrInput `pulumi:"throughputPerformance"` +} + +func (NodePoolAutoScalingConfigDataDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NodePoolAutoScalingConfigDataDisk)(nil)).Elem() +} + +func (i NodePoolAutoScalingConfigDataDiskArgs) ToNodePoolAutoScalingConfigDataDiskOutput() NodePoolAutoScalingConfigDataDiskOutput { + return i.ToNodePoolAutoScalingConfigDataDiskOutputWithContext(context.Background()) +} + +func (i NodePoolAutoScalingConfigDataDiskArgs) ToNodePoolAutoScalingConfigDataDiskOutputWithContext(ctx context.Context) NodePoolAutoScalingConfigDataDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodePoolAutoScalingConfigDataDiskOutput) +} + +// NodePoolAutoScalingConfigDataDiskArrayInput is an input type that accepts NodePoolAutoScalingConfigDataDiskArray and NodePoolAutoScalingConfigDataDiskArrayOutput values. +// You can construct a concrete instance of `NodePoolAutoScalingConfigDataDiskArrayInput` via: +// +// NodePoolAutoScalingConfigDataDiskArray{ NodePoolAutoScalingConfigDataDiskArgs{...} } +type NodePoolAutoScalingConfigDataDiskArrayInput interface { + pulumi.Input + + ToNodePoolAutoScalingConfigDataDiskArrayOutput() NodePoolAutoScalingConfigDataDiskArrayOutput + ToNodePoolAutoScalingConfigDataDiskArrayOutputWithContext(context.Context) NodePoolAutoScalingConfigDataDiskArrayOutput +} + +type NodePoolAutoScalingConfigDataDiskArray []NodePoolAutoScalingConfigDataDiskInput + +func (NodePoolAutoScalingConfigDataDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NodePoolAutoScalingConfigDataDisk)(nil)).Elem() +} + +func (i NodePoolAutoScalingConfigDataDiskArray) ToNodePoolAutoScalingConfigDataDiskArrayOutput() NodePoolAutoScalingConfigDataDiskArrayOutput { + return i.ToNodePoolAutoScalingConfigDataDiskArrayOutputWithContext(context.Background()) +} + +func (i NodePoolAutoScalingConfigDataDiskArray) ToNodePoolAutoScalingConfigDataDiskArrayOutputWithContext(ctx context.Context) NodePoolAutoScalingConfigDataDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodePoolAutoScalingConfigDataDiskArrayOutput) +} + +type NodePoolAutoScalingConfigDataDiskOutput struct{ *pulumi.OutputState } + +func (NodePoolAutoScalingConfigDataDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NodePoolAutoScalingConfigDataDisk)(nil)).Elem() +} + +func (o NodePoolAutoScalingConfigDataDiskOutput) ToNodePoolAutoScalingConfigDataDiskOutput() NodePoolAutoScalingConfigDataDiskOutput { + return o +} + +func (o NodePoolAutoScalingConfigDataDiskOutput) ToNodePoolAutoScalingConfigDataDiskOutputWithContext(ctx context.Context) NodePoolAutoScalingConfigDataDiskOutput { + return o +} + +// Indicates whether the disk remove after instance terminated. Default is `false`. +func (o NodePoolAutoScalingConfigDataDiskOutput) DeleteWithInstance() pulumi.BoolPtrOutput { + return o.ApplyT(func(v NodePoolAutoScalingConfigDataDisk) *bool { return v.DeleteWithInstance }).(pulumi.BoolPtrOutput) +} + +// Volume of disk in GB. Default is `0`. +func (o NodePoolAutoScalingConfigDataDiskOutput) DiskSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v NodePoolAutoScalingConfigDataDisk) *int { return v.DiskSize }).(pulumi.IntPtrOutput) +} + +// Types of disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. +func (o NodePoolAutoScalingConfigDataDiskOutput) DiskType() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodePoolAutoScalingConfigDataDisk) *string { return v.DiskType }).(pulumi.StringPtrOutput) +} + +// Specify whether to encrypt data disk, default: false. NOTE: Make sure the instance type is offering and the cam role `QcloudKMSAccessForCVMRole` was provided. +func (o NodePoolAutoScalingConfigDataDiskOutput) Encrypt() pulumi.BoolPtrOutput { + return o.ApplyT(func(v NodePoolAutoScalingConfigDataDisk) *bool { return v.Encrypt }).(pulumi.BoolPtrOutput) +} + +// Data disk snapshot ID. +func (o NodePoolAutoScalingConfigDataDiskOutput) SnapshotId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodePoolAutoScalingConfigDataDisk) *string { return v.SnapshotId }).(pulumi.StringPtrOutput) +} + +// Add extra performance to the data disk. Only works when disk type is `CLOUD_TSSD` or `CLOUD_HSSD` and `dataSize` > 460GB. +func (o NodePoolAutoScalingConfigDataDiskOutput) ThroughputPerformance() pulumi.IntPtrOutput { + return o.ApplyT(func(v NodePoolAutoScalingConfigDataDisk) *int { return v.ThroughputPerformance }).(pulumi.IntPtrOutput) +} + +type NodePoolAutoScalingConfigDataDiskArrayOutput struct{ *pulumi.OutputState } + +func (NodePoolAutoScalingConfigDataDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NodePoolAutoScalingConfigDataDisk)(nil)).Elem() +} + +func (o NodePoolAutoScalingConfigDataDiskArrayOutput) ToNodePoolAutoScalingConfigDataDiskArrayOutput() NodePoolAutoScalingConfigDataDiskArrayOutput { + return o +} + +func (o NodePoolAutoScalingConfigDataDiskArrayOutput) ToNodePoolAutoScalingConfigDataDiskArrayOutputWithContext(ctx context.Context) NodePoolAutoScalingConfigDataDiskArrayOutput { + return o +} + +func (o NodePoolAutoScalingConfigDataDiskArrayOutput) Index(i pulumi.IntInput) NodePoolAutoScalingConfigDataDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NodePoolAutoScalingConfigDataDisk { + return vs[0].([]NodePoolAutoScalingConfigDataDisk)[vs[1].(int)] + }).(NodePoolAutoScalingConfigDataDiskOutput) +} + +type NodePoolNodeConfig struct { + // Configurations of data disk. + DataDisks []NodePoolNodeConfigDataDisk `pulumi:"dataDisks"` + // Indicate to set desired pod number in node. valid when the cluster is podCIDR. + DesiredPodNum *int `pulumi:"desiredPodNum"` + // Docker graph path. Default is `/var/lib/docker`. + DockerGraphPath *string `pulumi:"dockerGraphPath"` + // Custom parameter information related to the node. This is a white-list parameter. + ExtraArgs []string `pulumi:"extraArgs"` + // GPU driver parameters. + GpuArgs *NodePoolNodeConfigGpuArgs `pulumi:"gpuArgs"` + // Indicate to schedule the adding node or not. Default is true. + IsSchedule *bool `pulumi:"isSchedule"` + // Mount target. Default is not mounting. + MountTarget *string `pulumi:"mountTarget"` + // Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. + PreStartUserScript *string `pulumi:"preStartUserScript"` + // Base64-encoded User Data text, the length limit is 16KB. + UserData *string `pulumi:"userData"` +} + +// NodePoolNodeConfigInput is an input type that accepts NodePoolNodeConfigArgs and NodePoolNodeConfigOutput values. +// You can construct a concrete instance of `NodePoolNodeConfigInput` via: +// +// NodePoolNodeConfigArgs{...} +type NodePoolNodeConfigInput interface { + pulumi.Input + + ToNodePoolNodeConfigOutput() NodePoolNodeConfigOutput + ToNodePoolNodeConfigOutputWithContext(context.Context) NodePoolNodeConfigOutput +} + +type NodePoolNodeConfigArgs struct { + // Configurations of data disk. + DataDisks NodePoolNodeConfigDataDiskArrayInput `pulumi:"dataDisks"` + // Indicate to set desired pod number in node. valid when the cluster is podCIDR. + DesiredPodNum pulumi.IntPtrInput `pulumi:"desiredPodNum"` + // Docker graph path. Default is `/var/lib/docker`. + DockerGraphPath pulumi.StringPtrInput `pulumi:"dockerGraphPath"` + // Custom parameter information related to the node. This is a white-list parameter. + ExtraArgs pulumi.StringArrayInput `pulumi:"extraArgs"` + // GPU driver parameters. + GpuArgs NodePoolNodeConfigGpuArgsPtrInput `pulumi:"gpuArgs"` + // Indicate to schedule the adding node or not. Default is true. + IsSchedule pulumi.BoolPtrInput `pulumi:"isSchedule"` + // Mount target. Default is not mounting. + MountTarget pulumi.StringPtrInput `pulumi:"mountTarget"` + // Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. + PreStartUserScript pulumi.StringPtrInput `pulumi:"preStartUserScript"` + // Base64-encoded User Data text, the length limit is 16KB. + UserData pulumi.StringPtrInput `pulumi:"userData"` +} + +func (NodePoolNodeConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NodePoolNodeConfig)(nil)).Elem() +} + +func (i NodePoolNodeConfigArgs) ToNodePoolNodeConfigOutput() NodePoolNodeConfigOutput { + return i.ToNodePoolNodeConfigOutputWithContext(context.Background()) +} + +func (i NodePoolNodeConfigArgs) ToNodePoolNodeConfigOutputWithContext(ctx context.Context) NodePoolNodeConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodePoolNodeConfigOutput) +} + +func (i NodePoolNodeConfigArgs) ToNodePoolNodeConfigPtrOutput() NodePoolNodeConfigPtrOutput { + return i.ToNodePoolNodeConfigPtrOutputWithContext(context.Background()) +} + +func (i NodePoolNodeConfigArgs) ToNodePoolNodeConfigPtrOutputWithContext(ctx context.Context) NodePoolNodeConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodePoolNodeConfigOutput).ToNodePoolNodeConfigPtrOutputWithContext(ctx) +} + +// NodePoolNodeConfigPtrInput is an input type that accepts NodePoolNodeConfigArgs, NodePoolNodeConfigPtr and NodePoolNodeConfigPtrOutput values. +// You can construct a concrete instance of `NodePoolNodeConfigPtrInput` via: +// +// NodePoolNodeConfigArgs{...} +// +// or: +// +// nil +type NodePoolNodeConfigPtrInput interface { + pulumi.Input + + ToNodePoolNodeConfigPtrOutput() NodePoolNodeConfigPtrOutput + ToNodePoolNodeConfigPtrOutputWithContext(context.Context) NodePoolNodeConfigPtrOutput +} + +type nodePoolNodeConfigPtrType NodePoolNodeConfigArgs + +func NodePoolNodeConfigPtr(v *NodePoolNodeConfigArgs) NodePoolNodeConfigPtrInput { + return (*nodePoolNodeConfigPtrType)(v) +} + +func (*nodePoolNodeConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NodePoolNodeConfig)(nil)).Elem() +} + +func (i *nodePoolNodeConfigPtrType) ToNodePoolNodeConfigPtrOutput() NodePoolNodeConfigPtrOutput { + return i.ToNodePoolNodeConfigPtrOutputWithContext(context.Background()) +} + +func (i *nodePoolNodeConfigPtrType) ToNodePoolNodeConfigPtrOutputWithContext(ctx context.Context) NodePoolNodeConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodePoolNodeConfigPtrOutput) +} + +type NodePoolNodeConfigOutput struct{ *pulumi.OutputState } + +func (NodePoolNodeConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NodePoolNodeConfig)(nil)).Elem() +} + +func (o NodePoolNodeConfigOutput) ToNodePoolNodeConfigOutput() NodePoolNodeConfigOutput { + return o +} + +func (o NodePoolNodeConfigOutput) ToNodePoolNodeConfigOutputWithContext(ctx context.Context) NodePoolNodeConfigOutput { + return o +} + +func (o NodePoolNodeConfigOutput) ToNodePoolNodeConfigPtrOutput() NodePoolNodeConfigPtrOutput { + return o.ToNodePoolNodeConfigPtrOutputWithContext(context.Background()) +} + +func (o NodePoolNodeConfigOutput) ToNodePoolNodeConfigPtrOutputWithContext(ctx context.Context) NodePoolNodeConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NodePoolNodeConfig) *NodePoolNodeConfig { + return &v + }).(NodePoolNodeConfigPtrOutput) +} + +// Configurations of data disk. +func (o NodePoolNodeConfigOutput) DataDisks() NodePoolNodeConfigDataDiskArrayOutput { + return o.ApplyT(func(v NodePoolNodeConfig) []NodePoolNodeConfigDataDisk { return v.DataDisks }).(NodePoolNodeConfigDataDiskArrayOutput) +} + +// Indicate to set desired pod number in node. valid when the cluster is podCIDR. +func (o NodePoolNodeConfigOutput) DesiredPodNum() pulumi.IntPtrOutput { + return o.ApplyT(func(v NodePoolNodeConfig) *int { return v.DesiredPodNum }).(pulumi.IntPtrOutput) +} + +// Docker graph path. Default is `/var/lib/docker`. +func (o NodePoolNodeConfigOutput) DockerGraphPath() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodePoolNodeConfig) *string { return v.DockerGraphPath }).(pulumi.StringPtrOutput) +} + +// Custom parameter information related to the node. This is a white-list parameter. +func (o NodePoolNodeConfigOutput) ExtraArgs() pulumi.StringArrayOutput { + return o.ApplyT(func(v NodePoolNodeConfig) []string { return v.ExtraArgs }).(pulumi.StringArrayOutput) +} + +// GPU driver parameters. +func (o NodePoolNodeConfigOutput) GpuArgs() NodePoolNodeConfigGpuArgsPtrOutput { + return o.ApplyT(func(v NodePoolNodeConfig) *NodePoolNodeConfigGpuArgs { return v.GpuArgs }).(NodePoolNodeConfigGpuArgsPtrOutput) +} + +// Indicate to schedule the adding node or not. Default is true. +func (o NodePoolNodeConfigOutput) IsSchedule() pulumi.BoolPtrOutput { + return o.ApplyT(func(v NodePoolNodeConfig) *bool { return v.IsSchedule }).(pulumi.BoolPtrOutput) +} + +// Mount target. Default is not mounting. +func (o NodePoolNodeConfigOutput) MountTarget() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodePoolNodeConfig) *string { return v.MountTarget }).(pulumi.StringPtrOutput) +} + +// Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. +func (o NodePoolNodeConfigOutput) PreStartUserScript() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodePoolNodeConfig) *string { return v.PreStartUserScript }).(pulumi.StringPtrOutput) +} + +// Base64-encoded User Data text, the length limit is 16KB. +func (o NodePoolNodeConfigOutput) UserData() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodePoolNodeConfig) *string { return v.UserData }).(pulumi.StringPtrOutput) +} + +type NodePoolNodeConfigPtrOutput struct{ *pulumi.OutputState } + +func (NodePoolNodeConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NodePoolNodeConfig)(nil)).Elem() +} + +func (o NodePoolNodeConfigPtrOutput) ToNodePoolNodeConfigPtrOutput() NodePoolNodeConfigPtrOutput { + return o +} + +func (o NodePoolNodeConfigPtrOutput) ToNodePoolNodeConfigPtrOutputWithContext(ctx context.Context) NodePoolNodeConfigPtrOutput { + return o +} + +func (o NodePoolNodeConfigPtrOutput) Elem() NodePoolNodeConfigOutput { + return o.ApplyT(func(v *NodePoolNodeConfig) NodePoolNodeConfig { + if v != nil { + return *v + } + var ret NodePoolNodeConfig + return ret + }).(NodePoolNodeConfigOutput) +} + +// Configurations of data disk. +func (o NodePoolNodeConfigPtrOutput) DataDisks() NodePoolNodeConfigDataDiskArrayOutput { + return o.ApplyT(func(v *NodePoolNodeConfig) []NodePoolNodeConfigDataDisk { + if v == nil { + return nil + } + return v.DataDisks + }).(NodePoolNodeConfigDataDiskArrayOutput) +} + +// Indicate to set desired pod number in node. valid when the cluster is podCIDR. +func (o NodePoolNodeConfigPtrOutput) DesiredPodNum() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NodePoolNodeConfig) *int { + if v == nil { + return nil + } + return v.DesiredPodNum + }).(pulumi.IntPtrOutput) +} + +// Docker graph path. Default is `/var/lib/docker`. +func (o NodePoolNodeConfigPtrOutput) DockerGraphPath() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NodePoolNodeConfig) *string { + if v == nil { + return nil + } + return v.DockerGraphPath + }).(pulumi.StringPtrOutput) +} + +// Custom parameter information related to the node. This is a white-list parameter. +func (o NodePoolNodeConfigPtrOutput) ExtraArgs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NodePoolNodeConfig) []string { + if v == nil { + return nil + } + return v.ExtraArgs + }).(pulumi.StringArrayOutput) +} + +// GPU driver parameters. +func (o NodePoolNodeConfigPtrOutput) GpuArgs() NodePoolNodeConfigGpuArgsPtrOutput { + return o.ApplyT(func(v *NodePoolNodeConfig) *NodePoolNodeConfigGpuArgs { + if v == nil { + return nil + } + return v.GpuArgs + }).(NodePoolNodeConfigGpuArgsPtrOutput) +} + +// Indicate to schedule the adding node or not. Default is true. +func (o NodePoolNodeConfigPtrOutput) IsSchedule() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *NodePoolNodeConfig) *bool { + if v == nil { + return nil + } + return v.IsSchedule + }).(pulumi.BoolPtrOutput) +} + +// Mount target. Default is not mounting. +func (o NodePoolNodeConfigPtrOutput) MountTarget() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NodePoolNodeConfig) *string { + if v == nil { + return nil + } + return v.MountTarget + }).(pulumi.StringPtrOutput) +} + +// Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. +func (o NodePoolNodeConfigPtrOutput) PreStartUserScript() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NodePoolNodeConfig) *string { + if v == nil { + return nil + } + return v.PreStartUserScript + }).(pulumi.StringPtrOutput) +} + +// Base64-encoded User Data text, the length limit is 16KB. +func (o NodePoolNodeConfigPtrOutput) UserData() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NodePoolNodeConfig) *string { + if v == nil { + return nil + } + return v.UserData + }).(pulumi.StringPtrOutput) +} + +type NodePoolNodeConfigDataDisk struct { + // Indicate whether to auto format and mount or not. Default is `false`. + AutoFormatAndMount *bool `pulumi:"autoFormatAndMount"` + // The name of the device or partition to mount. NOTE: this argument doesn't support setting in node pool, or will leads to mount error. + DiskPartition *string `pulumi:"diskPartition"` + // Volume of disk in GB. Default is `0`. + DiskSize *int `pulumi:"diskSize"` + // Types of disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. + DiskType *string `pulumi:"diskType"` + // File system, e.g. `ext3/ext4/xfs`. + FileSystem *string `pulumi:"fileSystem"` + // Mount target. + MountTarget *string `pulumi:"mountTarget"` +} + +// NodePoolNodeConfigDataDiskInput is an input type that accepts NodePoolNodeConfigDataDiskArgs and NodePoolNodeConfigDataDiskOutput values. +// You can construct a concrete instance of `NodePoolNodeConfigDataDiskInput` via: +// +// NodePoolNodeConfigDataDiskArgs{...} +type NodePoolNodeConfigDataDiskInput interface { + pulumi.Input + + ToNodePoolNodeConfigDataDiskOutput() NodePoolNodeConfigDataDiskOutput + ToNodePoolNodeConfigDataDiskOutputWithContext(context.Context) NodePoolNodeConfigDataDiskOutput +} + +type NodePoolNodeConfigDataDiskArgs struct { + // Indicate whether to auto format and mount or not. Default is `false`. + AutoFormatAndMount pulumi.BoolPtrInput `pulumi:"autoFormatAndMount"` + // The name of the device or partition to mount. NOTE: this argument doesn't support setting in node pool, or will leads to mount error. + DiskPartition pulumi.StringPtrInput `pulumi:"diskPartition"` + // Volume of disk in GB. Default is `0`. + DiskSize pulumi.IntPtrInput `pulumi:"diskSize"` + // Types of disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. + DiskType pulumi.StringPtrInput `pulumi:"diskType"` + // File system, e.g. `ext3/ext4/xfs`. + FileSystem pulumi.StringPtrInput `pulumi:"fileSystem"` + // Mount target. + MountTarget pulumi.StringPtrInput `pulumi:"mountTarget"` +} + +func (NodePoolNodeConfigDataDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NodePoolNodeConfigDataDisk)(nil)).Elem() +} + +func (i NodePoolNodeConfigDataDiskArgs) ToNodePoolNodeConfigDataDiskOutput() NodePoolNodeConfigDataDiskOutput { + return i.ToNodePoolNodeConfigDataDiskOutputWithContext(context.Background()) +} + +func (i NodePoolNodeConfigDataDiskArgs) ToNodePoolNodeConfigDataDiskOutputWithContext(ctx context.Context) NodePoolNodeConfigDataDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodePoolNodeConfigDataDiskOutput) +} + +// NodePoolNodeConfigDataDiskArrayInput is an input type that accepts NodePoolNodeConfigDataDiskArray and NodePoolNodeConfigDataDiskArrayOutput values. +// You can construct a concrete instance of `NodePoolNodeConfigDataDiskArrayInput` via: +// +// NodePoolNodeConfigDataDiskArray{ NodePoolNodeConfigDataDiskArgs{...} } +type NodePoolNodeConfigDataDiskArrayInput interface { + pulumi.Input + + ToNodePoolNodeConfigDataDiskArrayOutput() NodePoolNodeConfigDataDiskArrayOutput + ToNodePoolNodeConfigDataDiskArrayOutputWithContext(context.Context) NodePoolNodeConfigDataDiskArrayOutput +} + +type NodePoolNodeConfigDataDiskArray []NodePoolNodeConfigDataDiskInput + +func (NodePoolNodeConfigDataDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NodePoolNodeConfigDataDisk)(nil)).Elem() +} + +func (i NodePoolNodeConfigDataDiskArray) ToNodePoolNodeConfigDataDiskArrayOutput() NodePoolNodeConfigDataDiskArrayOutput { + return i.ToNodePoolNodeConfigDataDiskArrayOutputWithContext(context.Background()) +} + +func (i NodePoolNodeConfigDataDiskArray) ToNodePoolNodeConfigDataDiskArrayOutputWithContext(ctx context.Context) NodePoolNodeConfigDataDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodePoolNodeConfigDataDiskArrayOutput) +} + +type NodePoolNodeConfigDataDiskOutput struct{ *pulumi.OutputState } + +func (NodePoolNodeConfigDataDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NodePoolNodeConfigDataDisk)(nil)).Elem() +} + +func (o NodePoolNodeConfigDataDiskOutput) ToNodePoolNodeConfigDataDiskOutput() NodePoolNodeConfigDataDiskOutput { + return o +} + +func (o NodePoolNodeConfigDataDiskOutput) ToNodePoolNodeConfigDataDiskOutputWithContext(ctx context.Context) NodePoolNodeConfigDataDiskOutput { + return o +} + +// Indicate whether to auto format and mount or not. Default is `false`. +func (o NodePoolNodeConfigDataDiskOutput) AutoFormatAndMount() pulumi.BoolPtrOutput { + return o.ApplyT(func(v NodePoolNodeConfigDataDisk) *bool { return v.AutoFormatAndMount }).(pulumi.BoolPtrOutput) +} + +// The name of the device or partition to mount. NOTE: this argument doesn't support setting in node pool, or will leads to mount error. +func (o NodePoolNodeConfigDataDiskOutput) DiskPartition() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodePoolNodeConfigDataDisk) *string { return v.DiskPartition }).(pulumi.StringPtrOutput) +} + +// Volume of disk in GB. Default is `0`. +func (o NodePoolNodeConfigDataDiskOutput) DiskSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v NodePoolNodeConfigDataDisk) *int { return v.DiskSize }).(pulumi.IntPtrOutput) +} + +// Types of disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. +func (o NodePoolNodeConfigDataDiskOutput) DiskType() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodePoolNodeConfigDataDisk) *string { return v.DiskType }).(pulumi.StringPtrOutput) +} + +// File system, e.g. `ext3/ext4/xfs`. +func (o NodePoolNodeConfigDataDiskOutput) FileSystem() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodePoolNodeConfigDataDisk) *string { return v.FileSystem }).(pulumi.StringPtrOutput) +} + +// Mount target. +func (o NodePoolNodeConfigDataDiskOutput) MountTarget() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodePoolNodeConfigDataDisk) *string { return v.MountTarget }).(pulumi.StringPtrOutput) +} + +type NodePoolNodeConfigDataDiskArrayOutput struct{ *pulumi.OutputState } + +func (NodePoolNodeConfigDataDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NodePoolNodeConfigDataDisk)(nil)).Elem() +} + +func (o NodePoolNodeConfigDataDiskArrayOutput) ToNodePoolNodeConfigDataDiskArrayOutput() NodePoolNodeConfigDataDiskArrayOutput { + return o +} + +func (o NodePoolNodeConfigDataDiskArrayOutput) ToNodePoolNodeConfigDataDiskArrayOutputWithContext(ctx context.Context) NodePoolNodeConfigDataDiskArrayOutput { + return o +} + +func (o NodePoolNodeConfigDataDiskArrayOutput) Index(i pulumi.IntInput) NodePoolNodeConfigDataDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NodePoolNodeConfigDataDisk { + return vs[0].([]NodePoolNodeConfigDataDisk)[vs[1].(int)] + }).(NodePoolNodeConfigDataDiskOutput) +} + +type NodePoolNodeConfigGpuArgs struct { + // CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + Cuda map[string]interface{} `pulumi:"cuda"` + // cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `docName`: Doc name of cuDNN; `devName`: Dev name of cuDNN. + Cudnn map[string]interface{} `pulumi:"cudnn"` + // Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. + CustomDriver map[string]interface{} `pulumi:"customDriver"` + // GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + Driver map[string]interface{} `pulumi:"driver"` + // Whether to enable MIG. + MigEnable *bool `pulumi:"migEnable"` +} + +// NodePoolNodeConfigGpuArgsInput is an input type that accepts NodePoolNodeConfigGpuArgsArgs and NodePoolNodeConfigGpuArgsOutput values. +// You can construct a concrete instance of `NodePoolNodeConfigGpuArgsInput` via: +// +// NodePoolNodeConfigGpuArgsArgs{...} +type NodePoolNodeConfigGpuArgsInput interface { + pulumi.Input + + ToNodePoolNodeConfigGpuArgsOutput() NodePoolNodeConfigGpuArgsOutput + ToNodePoolNodeConfigGpuArgsOutputWithContext(context.Context) NodePoolNodeConfigGpuArgsOutput +} + +type NodePoolNodeConfigGpuArgsArgs struct { + // CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + Cuda pulumi.MapInput `pulumi:"cuda"` + // cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `docName`: Doc name of cuDNN; `devName`: Dev name of cuDNN. + Cudnn pulumi.MapInput `pulumi:"cudnn"` + // Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. + CustomDriver pulumi.MapInput `pulumi:"customDriver"` + // GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + Driver pulumi.MapInput `pulumi:"driver"` + // Whether to enable MIG. + MigEnable pulumi.BoolPtrInput `pulumi:"migEnable"` +} + +func (NodePoolNodeConfigGpuArgsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NodePoolNodeConfigGpuArgs)(nil)).Elem() +} + +func (i NodePoolNodeConfigGpuArgsArgs) ToNodePoolNodeConfigGpuArgsOutput() NodePoolNodeConfigGpuArgsOutput { + return i.ToNodePoolNodeConfigGpuArgsOutputWithContext(context.Background()) +} + +func (i NodePoolNodeConfigGpuArgsArgs) ToNodePoolNodeConfigGpuArgsOutputWithContext(ctx context.Context) NodePoolNodeConfigGpuArgsOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodePoolNodeConfigGpuArgsOutput) +} + +func (i NodePoolNodeConfigGpuArgsArgs) ToNodePoolNodeConfigGpuArgsPtrOutput() NodePoolNodeConfigGpuArgsPtrOutput { + return i.ToNodePoolNodeConfigGpuArgsPtrOutputWithContext(context.Background()) +} + +func (i NodePoolNodeConfigGpuArgsArgs) ToNodePoolNodeConfigGpuArgsPtrOutputWithContext(ctx context.Context) NodePoolNodeConfigGpuArgsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodePoolNodeConfigGpuArgsOutput).ToNodePoolNodeConfigGpuArgsPtrOutputWithContext(ctx) +} + +// NodePoolNodeConfigGpuArgsPtrInput is an input type that accepts NodePoolNodeConfigGpuArgsArgs, NodePoolNodeConfigGpuArgsPtr and NodePoolNodeConfigGpuArgsPtrOutput values. +// You can construct a concrete instance of `NodePoolNodeConfigGpuArgsPtrInput` via: +// +// NodePoolNodeConfigGpuArgsArgs{...} +// +// or: +// +// nil +type NodePoolNodeConfigGpuArgsPtrInput interface { + pulumi.Input + + ToNodePoolNodeConfigGpuArgsPtrOutput() NodePoolNodeConfigGpuArgsPtrOutput + ToNodePoolNodeConfigGpuArgsPtrOutputWithContext(context.Context) NodePoolNodeConfigGpuArgsPtrOutput +} + +type nodePoolNodeConfigGpuArgsPtrType NodePoolNodeConfigGpuArgsArgs + +func NodePoolNodeConfigGpuArgsPtr(v *NodePoolNodeConfigGpuArgsArgs) NodePoolNodeConfigGpuArgsPtrInput { + return (*nodePoolNodeConfigGpuArgsPtrType)(v) +} + +func (*nodePoolNodeConfigGpuArgsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NodePoolNodeConfigGpuArgs)(nil)).Elem() +} + +func (i *nodePoolNodeConfigGpuArgsPtrType) ToNodePoolNodeConfigGpuArgsPtrOutput() NodePoolNodeConfigGpuArgsPtrOutput { + return i.ToNodePoolNodeConfigGpuArgsPtrOutputWithContext(context.Background()) +} + +func (i *nodePoolNodeConfigGpuArgsPtrType) ToNodePoolNodeConfigGpuArgsPtrOutputWithContext(ctx context.Context) NodePoolNodeConfigGpuArgsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodePoolNodeConfigGpuArgsPtrOutput) +} + +type NodePoolNodeConfigGpuArgsOutput struct{ *pulumi.OutputState } + +func (NodePoolNodeConfigGpuArgsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NodePoolNodeConfigGpuArgs)(nil)).Elem() +} + +func (o NodePoolNodeConfigGpuArgsOutput) ToNodePoolNodeConfigGpuArgsOutput() NodePoolNodeConfigGpuArgsOutput { + return o +} + +func (o NodePoolNodeConfigGpuArgsOutput) ToNodePoolNodeConfigGpuArgsOutputWithContext(ctx context.Context) NodePoolNodeConfigGpuArgsOutput { + return o +} + +func (o NodePoolNodeConfigGpuArgsOutput) ToNodePoolNodeConfigGpuArgsPtrOutput() NodePoolNodeConfigGpuArgsPtrOutput { + return o.ToNodePoolNodeConfigGpuArgsPtrOutputWithContext(context.Background()) +} + +func (o NodePoolNodeConfigGpuArgsOutput) ToNodePoolNodeConfigGpuArgsPtrOutputWithContext(ctx context.Context) NodePoolNodeConfigGpuArgsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NodePoolNodeConfigGpuArgs) *NodePoolNodeConfigGpuArgs { + return &v + }).(NodePoolNodeConfigGpuArgsPtrOutput) +} + +// CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. +func (o NodePoolNodeConfigGpuArgsOutput) Cuda() pulumi.MapOutput { + return o.ApplyT(func(v NodePoolNodeConfigGpuArgs) map[string]interface{} { return v.Cuda }).(pulumi.MapOutput) +} + +// cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `docName`: Doc name of cuDNN; `devName`: Dev name of cuDNN. +func (o NodePoolNodeConfigGpuArgsOutput) Cudnn() pulumi.MapOutput { + return o.ApplyT(func(v NodePoolNodeConfigGpuArgs) map[string]interface{} { return v.Cudnn }).(pulumi.MapOutput) +} + +// Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. +func (o NodePoolNodeConfigGpuArgsOutput) CustomDriver() pulumi.MapOutput { + return o.ApplyT(func(v NodePoolNodeConfigGpuArgs) map[string]interface{} { return v.CustomDriver }).(pulumi.MapOutput) +} + +// GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. +func (o NodePoolNodeConfigGpuArgsOutput) Driver() pulumi.MapOutput { + return o.ApplyT(func(v NodePoolNodeConfigGpuArgs) map[string]interface{} { return v.Driver }).(pulumi.MapOutput) +} + +// Whether to enable MIG. +func (o NodePoolNodeConfigGpuArgsOutput) MigEnable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v NodePoolNodeConfigGpuArgs) *bool { return v.MigEnable }).(pulumi.BoolPtrOutput) +} + +type NodePoolNodeConfigGpuArgsPtrOutput struct{ *pulumi.OutputState } + +func (NodePoolNodeConfigGpuArgsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NodePoolNodeConfigGpuArgs)(nil)).Elem() +} + +func (o NodePoolNodeConfigGpuArgsPtrOutput) ToNodePoolNodeConfigGpuArgsPtrOutput() NodePoolNodeConfigGpuArgsPtrOutput { + return o +} + +func (o NodePoolNodeConfigGpuArgsPtrOutput) ToNodePoolNodeConfigGpuArgsPtrOutputWithContext(ctx context.Context) NodePoolNodeConfigGpuArgsPtrOutput { + return o +} + +func (o NodePoolNodeConfigGpuArgsPtrOutput) Elem() NodePoolNodeConfigGpuArgsOutput { + return o.ApplyT(func(v *NodePoolNodeConfigGpuArgs) NodePoolNodeConfigGpuArgs { + if v != nil { + return *v + } + var ret NodePoolNodeConfigGpuArgs + return ret + }).(NodePoolNodeConfigGpuArgsOutput) +} + +// CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. +func (o NodePoolNodeConfigGpuArgsPtrOutput) Cuda() pulumi.MapOutput { + return o.ApplyT(func(v *NodePoolNodeConfigGpuArgs) map[string]interface{} { + if v == nil { + return nil + } + return v.Cuda + }).(pulumi.MapOutput) +} + +// cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `docName`: Doc name of cuDNN; `devName`: Dev name of cuDNN. +func (o NodePoolNodeConfigGpuArgsPtrOutput) Cudnn() pulumi.MapOutput { + return o.ApplyT(func(v *NodePoolNodeConfigGpuArgs) map[string]interface{} { + if v == nil { + return nil + } + return v.Cudnn + }).(pulumi.MapOutput) +} + +// Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. +func (o NodePoolNodeConfigGpuArgsPtrOutput) CustomDriver() pulumi.MapOutput { + return o.ApplyT(func(v *NodePoolNodeConfigGpuArgs) map[string]interface{} { + if v == nil { + return nil + } + return v.CustomDriver + }).(pulumi.MapOutput) +} + +// GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. +func (o NodePoolNodeConfigGpuArgsPtrOutput) Driver() pulumi.MapOutput { + return o.ApplyT(func(v *NodePoolNodeConfigGpuArgs) map[string]interface{} { + if v == nil { + return nil + } + return v.Driver + }).(pulumi.MapOutput) +} + +// Whether to enable MIG. +func (o NodePoolNodeConfigGpuArgsPtrOutput) MigEnable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *NodePoolNodeConfigGpuArgs) *bool { + if v == nil { + return nil + } + return v.MigEnable + }).(pulumi.BoolPtrOutput) +} + +type NodePoolTaint struct { + // Effect of the taint. Valid values are: `NoSchedule`, `PreferNoSchedule`, `NoExecute`. + Effect string `pulumi:"effect"` + // Key of the taint. The taint key name does not exceed 63 characters, only supports English, numbers,'/','-', and does not allow beginning with ('/'). + Key string `pulumi:"key"` + // Value of the taint. + Value string `pulumi:"value"` +} + +// NodePoolTaintInput is an input type that accepts NodePoolTaintArgs and NodePoolTaintOutput values. +// You can construct a concrete instance of `NodePoolTaintInput` via: +// +// NodePoolTaintArgs{...} +type NodePoolTaintInput interface { + pulumi.Input + + ToNodePoolTaintOutput() NodePoolTaintOutput + ToNodePoolTaintOutputWithContext(context.Context) NodePoolTaintOutput +} + +type NodePoolTaintArgs struct { + // Effect of the taint. Valid values are: `NoSchedule`, `PreferNoSchedule`, `NoExecute`. + Effect pulumi.StringInput `pulumi:"effect"` + // Key of the taint. The taint key name does not exceed 63 characters, only supports English, numbers,'/','-', and does not allow beginning with ('/'). + Key pulumi.StringInput `pulumi:"key"` + // Value of the taint. + Value pulumi.StringInput `pulumi:"value"` +} + +func (NodePoolTaintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NodePoolTaint)(nil)).Elem() +} + +func (i NodePoolTaintArgs) ToNodePoolTaintOutput() NodePoolTaintOutput { + return i.ToNodePoolTaintOutputWithContext(context.Background()) +} + +func (i NodePoolTaintArgs) ToNodePoolTaintOutputWithContext(ctx context.Context) NodePoolTaintOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodePoolTaintOutput) +} + +// NodePoolTaintArrayInput is an input type that accepts NodePoolTaintArray and NodePoolTaintArrayOutput values. +// You can construct a concrete instance of `NodePoolTaintArrayInput` via: +// +// NodePoolTaintArray{ NodePoolTaintArgs{...} } +type NodePoolTaintArrayInput interface { + pulumi.Input + + ToNodePoolTaintArrayOutput() NodePoolTaintArrayOutput + ToNodePoolTaintArrayOutputWithContext(context.Context) NodePoolTaintArrayOutput +} + +type NodePoolTaintArray []NodePoolTaintInput + +func (NodePoolTaintArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NodePoolTaint)(nil)).Elem() +} + +func (i NodePoolTaintArray) ToNodePoolTaintArrayOutput() NodePoolTaintArrayOutput { + return i.ToNodePoolTaintArrayOutputWithContext(context.Background()) +} + +func (i NodePoolTaintArray) ToNodePoolTaintArrayOutputWithContext(ctx context.Context) NodePoolTaintArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodePoolTaintArrayOutput) +} + +type NodePoolTaintOutput struct{ *pulumi.OutputState } + +func (NodePoolTaintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NodePoolTaint)(nil)).Elem() +} + +func (o NodePoolTaintOutput) ToNodePoolTaintOutput() NodePoolTaintOutput { + return o +} + +func (o NodePoolTaintOutput) ToNodePoolTaintOutputWithContext(ctx context.Context) NodePoolTaintOutput { + return o +} + +// Effect of the taint. Valid values are: `NoSchedule`, `PreferNoSchedule`, `NoExecute`. +func (o NodePoolTaintOutput) Effect() pulumi.StringOutput { + return o.ApplyT(func(v NodePoolTaint) string { return v.Effect }).(pulumi.StringOutput) +} + +// Key of the taint. The taint key name does not exceed 63 characters, only supports English, numbers,'/','-', and does not allow beginning with ('/'). +func (o NodePoolTaintOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v NodePoolTaint) string { return v.Key }).(pulumi.StringOutput) +} + +// Value of the taint. +func (o NodePoolTaintOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v NodePoolTaint) string { return v.Value }).(pulumi.StringOutput) +} + +type NodePoolTaintArrayOutput struct{ *pulumi.OutputState } + +func (NodePoolTaintArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NodePoolTaint)(nil)).Elem() +} + +func (o NodePoolTaintArrayOutput) ToNodePoolTaintArrayOutput() NodePoolTaintArrayOutput { + return o +} + +func (o NodePoolTaintArrayOutput) ToNodePoolTaintArrayOutputWithContext(ctx context.Context) NodePoolTaintArrayOutput { + return o +} + +func (o NodePoolTaintArrayOutput) Index(i pulumi.IntInput) NodePoolTaintOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NodePoolTaint { + return vs[0].([]NodePoolTaint)[vs[1].(int)] + }).(NodePoolTaintOutput) +} + +type ScaleWorkerDataDisk struct { + // Indicate whether to auto format and mount or not. Default is `false`. + AutoFormatAndMount *bool `pulumi:"autoFormatAndMount"` + // Volume of disk in GB. Default is `0`. + DiskSize *int `pulumi:"diskSize"` + // Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD` and `CLOUD_HSSD` and `CLOUD_TSSD`. + DiskType *string `pulumi:"diskType"` + // File system, e.g. `ext3/ext4/xfs`. + FileSystem *string `pulumi:"fileSystem"` + // Mount target. + MountTarget *string `pulumi:"mountTarget"` +} + +// ScaleWorkerDataDiskInput is an input type that accepts ScaleWorkerDataDiskArgs and ScaleWorkerDataDiskOutput values. +// You can construct a concrete instance of `ScaleWorkerDataDiskInput` via: +// +// ScaleWorkerDataDiskArgs{...} +type ScaleWorkerDataDiskInput interface { + pulumi.Input + + ToScaleWorkerDataDiskOutput() ScaleWorkerDataDiskOutput + ToScaleWorkerDataDiskOutputWithContext(context.Context) ScaleWorkerDataDiskOutput +} + +type ScaleWorkerDataDiskArgs struct { + // Indicate whether to auto format and mount or not. Default is `false`. + AutoFormatAndMount pulumi.BoolPtrInput `pulumi:"autoFormatAndMount"` + // Volume of disk in GB. Default is `0`. + DiskSize pulumi.IntPtrInput `pulumi:"diskSize"` + // Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD` and `CLOUD_HSSD` and `CLOUD_TSSD`. + DiskType pulumi.StringPtrInput `pulumi:"diskType"` + // File system, e.g. `ext3/ext4/xfs`. + FileSystem pulumi.StringPtrInput `pulumi:"fileSystem"` + // Mount target. + MountTarget pulumi.StringPtrInput `pulumi:"mountTarget"` +} + +func (ScaleWorkerDataDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ScaleWorkerDataDisk)(nil)).Elem() +} + +func (i ScaleWorkerDataDiskArgs) ToScaleWorkerDataDiskOutput() ScaleWorkerDataDiskOutput { + return i.ToScaleWorkerDataDiskOutputWithContext(context.Background()) +} + +func (i ScaleWorkerDataDiskArgs) ToScaleWorkerDataDiskOutputWithContext(ctx context.Context) ScaleWorkerDataDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(ScaleWorkerDataDiskOutput) +} + +// ScaleWorkerDataDiskArrayInput is an input type that accepts ScaleWorkerDataDiskArray and ScaleWorkerDataDiskArrayOutput values. +// You can construct a concrete instance of `ScaleWorkerDataDiskArrayInput` via: +// +// ScaleWorkerDataDiskArray{ ScaleWorkerDataDiskArgs{...} } +type ScaleWorkerDataDiskArrayInput interface { + pulumi.Input + + ToScaleWorkerDataDiskArrayOutput() ScaleWorkerDataDiskArrayOutput + ToScaleWorkerDataDiskArrayOutputWithContext(context.Context) ScaleWorkerDataDiskArrayOutput +} + +type ScaleWorkerDataDiskArray []ScaleWorkerDataDiskInput + +func (ScaleWorkerDataDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ScaleWorkerDataDisk)(nil)).Elem() +} + +func (i ScaleWorkerDataDiskArray) ToScaleWorkerDataDiskArrayOutput() ScaleWorkerDataDiskArrayOutput { + return i.ToScaleWorkerDataDiskArrayOutputWithContext(context.Background()) +} + +func (i ScaleWorkerDataDiskArray) ToScaleWorkerDataDiskArrayOutputWithContext(ctx context.Context) ScaleWorkerDataDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ScaleWorkerDataDiskArrayOutput) +} + +type ScaleWorkerDataDiskOutput struct{ *pulumi.OutputState } + +func (ScaleWorkerDataDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ScaleWorkerDataDisk)(nil)).Elem() +} + +func (o ScaleWorkerDataDiskOutput) ToScaleWorkerDataDiskOutput() ScaleWorkerDataDiskOutput { + return o +} + +func (o ScaleWorkerDataDiskOutput) ToScaleWorkerDataDiskOutputWithContext(ctx context.Context) ScaleWorkerDataDiskOutput { + return o +} + +// Indicate whether to auto format and mount or not. Default is `false`. +func (o ScaleWorkerDataDiskOutput) AutoFormatAndMount() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ScaleWorkerDataDisk) *bool { return v.AutoFormatAndMount }).(pulumi.BoolPtrOutput) +} + +// Volume of disk in GB. Default is `0`. +func (o ScaleWorkerDataDiskOutput) DiskSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v ScaleWorkerDataDisk) *int { return v.DiskSize }).(pulumi.IntPtrOutput) +} + +// Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD` and `CLOUD_HSSD` and `CLOUD_TSSD`. +func (o ScaleWorkerDataDiskOutput) DiskType() pulumi.StringPtrOutput { + return o.ApplyT(func(v ScaleWorkerDataDisk) *string { return v.DiskType }).(pulumi.StringPtrOutput) +} + +// File system, e.g. `ext3/ext4/xfs`. +func (o ScaleWorkerDataDiskOutput) FileSystem() pulumi.StringPtrOutput { + return o.ApplyT(func(v ScaleWorkerDataDisk) *string { return v.FileSystem }).(pulumi.StringPtrOutput) +} + +// Mount target. +func (o ScaleWorkerDataDiskOutput) MountTarget() pulumi.StringPtrOutput { + return o.ApplyT(func(v ScaleWorkerDataDisk) *string { return v.MountTarget }).(pulumi.StringPtrOutput) +} + +type ScaleWorkerDataDiskArrayOutput struct{ *pulumi.OutputState } + +func (ScaleWorkerDataDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ScaleWorkerDataDisk)(nil)).Elem() +} + +func (o ScaleWorkerDataDiskArrayOutput) ToScaleWorkerDataDiskArrayOutput() ScaleWorkerDataDiskArrayOutput { + return o +} + +func (o ScaleWorkerDataDiskArrayOutput) ToScaleWorkerDataDiskArrayOutputWithContext(ctx context.Context) ScaleWorkerDataDiskArrayOutput { + return o +} + +func (o ScaleWorkerDataDiskArrayOutput) Index(i pulumi.IntInput) ScaleWorkerDataDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ScaleWorkerDataDisk { + return vs[0].([]ScaleWorkerDataDisk)[vs[1].(int)] + }).(ScaleWorkerDataDiskOutput) +} + +type ScaleWorkerGpuArgs struct { + // CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + Cuda map[string]interface{} `pulumi:"cuda"` + // cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `docName`: Doc name of cuDNN; `devName`: Dev name of cuDNN. + Cudnn map[string]interface{} `pulumi:"cudnn"` + // Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. + CustomDriver map[string]interface{} `pulumi:"customDriver"` + // GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + Driver map[string]interface{} `pulumi:"driver"` + // Whether to enable MIG. + MigEnable *bool `pulumi:"migEnable"` +} + +// ScaleWorkerGpuArgsInput is an input type that accepts ScaleWorkerGpuArgsArgs and ScaleWorkerGpuArgsOutput values. +// You can construct a concrete instance of `ScaleWorkerGpuArgsInput` via: +// +// ScaleWorkerGpuArgsArgs{...} +type ScaleWorkerGpuArgsInput interface { + pulumi.Input + + ToScaleWorkerGpuArgsOutput() ScaleWorkerGpuArgsOutput + ToScaleWorkerGpuArgsOutputWithContext(context.Context) ScaleWorkerGpuArgsOutput +} + +type ScaleWorkerGpuArgsArgs struct { + // CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + Cuda pulumi.MapInput `pulumi:"cuda"` + // cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `docName`: Doc name of cuDNN; `devName`: Dev name of cuDNN. + Cudnn pulumi.MapInput `pulumi:"cudnn"` + // Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. + CustomDriver pulumi.MapInput `pulumi:"customDriver"` + // GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + Driver pulumi.MapInput `pulumi:"driver"` + // Whether to enable MIG. + MigEnable pulumi.BoolPtrInput `pulumi:"migEnable"` +} + +func (ScaleWorkerGpuArgsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ScaleWorkerGpuArgs)(nil)).Elem() +} + +func (i ScaleWorkerGpuArgsArgs) ToScaleWorkerGpuArgsOutput() ScaleWorkerGpuArgsOutput { + return i.ToScaleWorkerGpuArgsOutputWithContext(context.Background()) +} + +func (i ScaleWorkerGpuArgsArgs) ToScaleWorkerGpuArgsOutputWithContext(ctx context.Context) ScaleWorkerGpuArgsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ScaleWorkerGpuArgsOutput) +} + +func (i ScaleWorkerGpuArgsArgs) ToScaleWorkerGpuArgsPtrOutput() ScaleWorkerGpuArgsPtrOutput { + return i.ToScaleWorkerGpuArgsPtrOutputWithContext(context.Background()) +} + +func (i ScaleWorkerGpuArgsArgs) ToScaleWorkerGpuArgsPtrOutputWithContext(ctx context.Context) ScaleWorkerGpuArgsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ScaleWorkerGpuArgsOutput).ToScaleWorkerGpuArgsPtrOutputWithContext(ctx) +} + +// ScaleWorkerGpuArgsPtrInput is an input type that accepts ScaleWorkerGpuArgsArgs, ScaleWorkerGpuArgsPtr and ScaleWorkerGpuArgsPtrOutput values. +// You can construct a concrete instance of `ScaleWorkerGpuArgsPtrInput` via: +// +// ScaleWorkerGpuArgsArgs{...} +// +// or: +// +// nil +type ScaleWorkerGpuArgsPtrInput interface { + pulumi.Input + + ToScaleWorkerGpuArgsPtrOutput() ScaleWorkerGpuArgsPtrOutput + ToScaleWorkerGpuArgsPtrOutputWithContext(context.Context) ScaleWorkerGpuArgsPtrOutput +} + +type scaleWorkerGpuArgsPtrType ScaleWorkerGpuArgsArgs + +func ScaleWorkerGpuArgsPtr(v *ScaleWorkerGpuArgsArgs) ScaleWorkerGpuArgsPtrInput { + return (*scaleWorkerGpuArgsPtrType)(v) +} + +func (*scaleWorkerGpuArgsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ScaleWorkerGpuArgs)(nil)).Elem() +} + +func (i *scaleWorkerGpuArgsPtrType) ToScaleWorkerGpuArgsPtrOutput() ScaleWorkerGpuArgsPtrOutput { + return i.ToScaleWorkerGpuArgsPtrOutputWithContext(context.Background()) +} + +func (i *scaleWorkerGpuArgsPtrType) ToScaleWorkerGpuArgsPtrOutputWithContext(ctx context.Context) ScaleWorkerGpuArgsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ScaleWorkerGpuArgsPtrOutput) +} + +type ScaleWorkerGpuArgsOutput struct{ *pulumi.OutputState } + +func (ScaleWorkerGpuArgsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ScaleWorkerGpuArgs)(nil)).Elem() +} + +func (o ScaleWorkerGpuArgsOutput) ToScaleWorkerGpuArgsOutput() ScaleWorkerGpuArgsOutput { + return o +} + +func (o ScaleWorkerGpuArgsOutput) ToScaleWorkerGpuArgsOutputWithContext(ctx context.Context) ScaleWorkerGpuArgsOutput { + return o +} + +func (o ScaleWorkerGpuArgsOutput) ToScaleWorkerGpuArgsPtrOutput() ScaleWorkerGpuArgsPtrOutput { + return o.ToScaleWorkerGpuArgsPtrOutputWithContext(context.Background()) +} + +func (o ScaleWorkerGpuArgsOutput) ToScaleWorkerGpuArgsPtrOutputWithContext(ctx context.Context) ScaleWorkerGpuArgsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ScaleWorkerGpuArgs) *ScaleWorkerGpuArgs { + return &v + }).(ScaleWorkerGpuArgsPtrOutput) +} + +// CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. +func (o ScaleWorkerGpuArgsOutput) Cuda() pulumi.MapOutput { + return o.ApplyT(func(v ScaleWorkerGpuArgs) map[string]interface{} { return v.Cuda }).(pulumi.MapOutput) +} + +// cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `docName`: Doc name of cuDNN; `devName`: Dev name of cuDNN. +func (o ScaleWorkerGpuArgsOutput) Cudnn() pulumi.MapOutput { + return o.ApplyT(func(v ScaleWorkerGpuArgs) map[string]interface{} { return v.Cudnn }).(pulumi.MapOutput) +} + +// Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. +func (o ScaleWorkerGpuArgsOutput) CustomDriver() pulumi.MapOutput { + return o.ApplyT(func(v ScaleWorkerGpuArgs) map[string]interface{} { return v.CustomDriver }).(pulumi.MapOutput) +} + +// GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. +func (o ScaleWorkerGpuArgsOutput) Driver() pulumi.MapOutput { + return o.ApplyT(func(v ScaleWorkerGpuArgs) map[string]interface{} { return v.Driver }).(pulumi.MapOutput) +} + +// Whether to enable MIG. +func (o ScaleWorkerGpuArgsOutput) MigEnable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ScaleWorkerGpuArgs) *bool { return v.MigEnable }).(pulumi.BoolPtrOutput) +} + +type ScaleWorkerGpuArgsPtrOutput struct{ *pulumi.OutputState } + +func (ScaleWorkerGpuArgsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ScaleWorkerGpuArgs)(nil)).Elem() +} + +func (o ScaleWorkerGpuArgsPtrOutput) ToScaleWorkerGpuArgsPtrOutput() ScaleWorkerGpuArgsPtrOutput { + return o +} + +func (o ScaleWorkerGpuArgsPtrOutput) ToScaleWorkerGpuArgsPtrOutputWithContext(ctx context.Context) ScaleWorkerGpuArgsPtrOutput { + return o +} + +func (o ScaleWorkerGpuArgsPtrOutput) Elem() ScaleWorkerGpuArgsOutput { + return o.ApplyT(func(v *ScaleWorkerGpuArgs) ScaleWorkerGpuArgs { + if v != nil { + return *v + } + var ret ScaleWorkerGpuArgs + return ret + }).(ScaleWorkerGpuArgsOutput) +} + +// CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. +func (o ScaleWorkerGpuArgsPtrOutput) Cuda() pulumi.MapOutput { + return o.ApplyT(func(v *ScaleWorkerGpuArgs) map[string]interface{} { + if v == nil { + return nil + } + return v.Cuda + }).(pulumi.MapOutput) +} + +// cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `docName`: Doc name of cuDNN; `devName`: Dev name of cuDNN. +func (o ScaleWorkerGpuArgsPtrOutput) Cudnn() pulumi.MapOutput { + return o.ApplyT(func(v *ScaleWorkerGpuArgs) map[string]interface{} { + if v == nil { + return nil + } + return v.Cudnn + }).(pulumi.MapOutput) +} + +// Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. +func (o ScaleWorkerGpuArgsPtrOutput) CustomDriver() pulumi.MapOutput { + return o.ApplyT(func(v *ScaleWorkerGpuArgs) map[string]interface{} { + if v == nil { + return nil + } + return v.CustomDriver + }).(pulumi.MapOutput) +} + +// GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. +func (o ScaleWorkerGpuArgsPtrOutput) Driver() pulumi.MapOutput { + return o.ApplyT(func(v *ScaleWorkerGpuArgs) map[string]interface{} { + if v == nil { + return nil + } + return v.Driver + }).(pulumi.MapOutput) +} + +// Whether to enable MIG. +func (o ScaleWorkerGpuArgsPtrOutput) MigEnable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ScaleWorkerGpuArgs) *bool { + if v == nil { + return nil + } + return v.MigEnable + }).(pulumi.BoolPtrOutput) +} + +type ScaleWorkerWorkerConfig struct { + // Indicates which availability zone will be used. + AvailabilityZone *string `pulumi:"availabilityZone"` + // bandwidth package id. if user is standard user, then the bandwidthPackageId is needed, or default has bandwidth_package_id. + BandwidthPackageId *string `pulumi:"bandwidthPackageId"` + // CAM role name authorized to access. + CamRoleName *string `pulumi:"camRoleName"` + // Number of cvm. + Count *int `pulumi:"count"` + // Configurations of data disk. + DataDisks []ScaleWorkerWorkerConfigDataDisk `pulumi:"dataDisks"` + // Indicate to set desired pod number in node. valid when enable_customized_pod_cidr=true, and it override `[globe_]desired_pod_num` for current node. Either all the fields `desiredPodNum` or none. + DesiredPodNum *int `pulumi:"desiredPodNum"` + // Disaster recover groups to which a CVM instance belongs. Only support maximum 1. + DisasterRecoverGroupIds *string `pulumi:"disasterRecoverGroupIds"` + // To specify whether to enable cloud monitor service. Default is TRUE. + EnhancedMonitorService *bool `pulumi:"enhancedMonitorService"` + // To specify whether to enable cloud security service. Default is TRUE. + EnhancedSecurityService *bool `pulumi:"enhancedSecurityService"` + // The host name of the attached instance. Dot (.) and dash (-) cannot be used as the first and last characters of HostName and cannot be used consecutively. Windows example: The length of the name character is [2, 15], letters (capitalization is not restricted), numbers and dashes (-) are allowed, dots (.) are not supported, and not all numbers are allowed. Examples of other types (Linux, etc.): The character length is [2, 60], and multiple dots are allowed. There is a segment between the dots. Each segment allows letters (with no limitation on capitalization), numbers and dashes (-). + Hostname *string `pulumi:"hostname"` + // Id of cvm hpc cluster. + HpcClusterId *string `pulumi:"hpcClusterId"` + // The valid image id, format of img-xxx. + ImgId *string `pulumi:"imgId"` + // The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. Note: TencentCloud International only supports `POSTPAID_BY_HOUR`, `PREPAID` instance will not terminated after cluster deleted, and may not allow to delete before expired. + InstanceChargeType *string `pulumi:"instanceChargeType"` + // The tenancy (time unit is month) of the prepaid instance. NOTE: it only works when instanceChargeType is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. + InstanceChargeTypePrepaidPeriod *int `pulumi:"instanceChargeTypePrepaidPeriod"` + // Auto renewal flag. Valid values: `NOTIFY_AND_AUTO_RENEW`: notify upon expiration and renew automatically, `NOTIFY_AND_MANUAL_RENEW`: notify upon expiration but do not renew automatically, `DISABLE_NOTIFY_AND_MANUAL_RENEW`: neither notify upon expiration nor renew automatically. Default value: `NOTIFY_AND_MANUAL_RENEW`. If this parameter is specified as `NOTIFY_AND_AUTO_RENEW`, the instance will be automatically renewed on a monthly basis if the account balance is sufficient. NOTE: it only works when instanceChargeType is set to `PREPAID`. + InstanceChargeTypePrepaidRenewFlag *string `pulumi:"instanceChargeTypePrepaidRenewFlag"` + // Name of the CVMs. + InstanceName *string `pulumi:"instanceName"` + // Specified types of CVM instance. + InstanceType string `pulumi:"instanceType"` + // Charge types for network traffic. Available values include `TRAFFIC_POSTPAID_BY_HOUR`. + InternetChargeType *string `pulumi:"internetChargeType"` + // Max bandwidth of Internet access in Mbps. Default is 0. + InternetMaxBandwidthOut *int `pulumi:"internetMaxBandwidthOut"` + // ID list of keys, should be set if `password` not set. + KeyIds *string `pulumi:"keyIds"` + // Password to access, should be set if `keyIds` not set. + Password *string `pulumi:"password"` + // Specify whether to assign an Internet IP address. + PublicIpAssigned *bool `pulumi:"publicIpAssigned"` + // Security groups to which a CVM instance belongs. + SecurityGroupIds []string `pulumi:"securityGroupIds"` + // Private network ID. + SubnetId string `pulumi:"subnetId"` + // Volume of system disk in GB. Default is `50`. + SystemDiskSize *int `pulumi:"systemDiskSize"` + // System disk type. For more information on limits of system disk types, see [Storage Overview](https://intl.cloud.tencent.com/document/product/213/4952). Valid values: `LOCAL_BASIC`: local disk, `LOCAL_SSD`: local SSD disk, `CLOUD_SSD`: SSD, `CLOUD_PREMIUM`: Premium Cloud Storage. NOTE: `CLOUD_BASIC`, `LOCAL_BASIC` and `LOCAL_SSD` are deprecated. + SystemDiskType *string `pulumi:"systemDiskType"` + // User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB. + UserData *string `pulumi:"userData"` +} + +// ScaleWorkerWorkerConfigInput is an input type that accepts ScaleWorkerWorkerConfigArgs and ScaleWorkerWorkerConfigOutput values. +// You can construct a concrete instance of `ScaleWorkerWorkerConfigInput` via: +// +// ScaleWorkerWorkerConfigArgs{...} +type ScaleWorkerWorkerConfigInput interface { + pulumi.Input + + ToScaleWorkerWorkerConfigOutput() ScaleWorkerWorkerConfigOutput + ToScaleWorkerWorkerConfigOutputWithContext(context.Context) ScaleWorkerWorkerConfigOutput +} + +type ScaleWorkerWorkerConfigArgs struct { + // Indicates which availability zone will be used. + AvailabilityZone pulumi.StringPtrInput `pulumi:"availabilityZone"` + // bandwidth package id. if user is standard user, then the bandwidthPackageId is needed, or default has bandwidth_package_id. + BandwidthPackageId pulumi.StringPtrInput `pulumi:"bandwidthPackageId"` + // CAM role name authorized to access. + CamRoleName pulumi.StringPtrInput `pulumi:"camRoleName"` + // Number of cvm. + Count pulumi.IntPtrInput `pulumi:"count"` + // Configurations of data disk. + DataDisks ScaleWorkerWorkerConfigDataDiskArrayInput `pulumi:"dataDisks"` + // Indicate to set desired pod number in node. valid when enable_customized_pod_cidr=true, and it override `[globe_]desired_pod_num` for current node. Either all the fields `desiredPodNum` or none. + DesiredPodNum pulumi.IntPtrInput `pulumi:"desiredPodNum"` + // Disaster recover groups to which a CVM instance belongs. Only support maximum 1. + DisasterRecoverGroupIds pulumi.StringPtrInput `pulumi:"disasterRecoverGroupIds"` + // To specify whether to enable cloud monitor service. Default is TRUE. + EnhancedMonitorService pulumi.BoolPtrInput `pulumi:"enhancedMonitorService"` + // To specify whether to enable cloud security service. Default is TRUE. + EnhancedSecurityService pulumi.BoolPtrInput `pulumi:"enhancedSecurityService"` + // The host name of the attached instance. Dot (.) and dash (-) cannot be used as the first and last characters of HostName and cannot be used consecutively. Windows example: The length of the name character is [2, 15], letters (capitalization is not restricted), numbers and dashes (-) are allowed, dots (.) are not supported, and not all numbers are allowed. Examples of other types (Linux, etc.): The character length is [2, 60], and multiple dots are allowed. There is a segment between the dots. Each segment allows letters (with no limitation on capitalization), numbers and dashes (-). + Hostname pulumi.StringPtrInput `pulumi:"hostname"` + // Id of cvm hpc cluster. + HpcClusterId pulumi.StringPtrInput `pulumi:"hpcClusterId"` + // The valid image id, format of img-xxx. + ImgId pulumi.StringPtrInput `pulumi:"imgId"` + // The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. Note: TencentCloud International only supports `POSTPAID_BY_HOUR`, `PREPAID` instance will not terminated after cluster deleted, and may not allow to delete before expired. + InstanceChargeType pulumi.StringPtrInput `pulumi:"instanceChargeType"` + // The tenancy (time unit is month) of the prepaid instance. NOTE: it only works when instanceChargeType is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. + InstanceChargeTypePrepaidPeriod pulumi.IntPtrInput `pulumi:"instanceChargeTypePrepaidPeriod"` + // Auto renewal flag. Valid values: `NOTIFY_AND_AUTO_RENEW`: notify upon expiration and renew automatically, `NOTIFY_AND_MANUAL_RENEW`: notify upon expiration but do not renew automatically, `DISABLE_NOTIFY_AND_MANUAL_RENEW`: neither notify upon expiration nor renew automatically. Default value: `NOTIFY_AND_MANUAL_RENEW`. If this parameter is specified as `NOTIFY_AND_AUTO_RENEW`, the instance will be automatically renewed on a monthly basis if the account balance is sufficient. NOTE: it only works when instanceChargeType is set to `PREPAID`. + InstanceChargeTypePrepaidRenewFlag pulumi.StringPtrInput `pulumi:"instanceChargeTypePrepaidRenewFlag"` + // Name of the CVMs. + InstanceName pulumi.StringPtrInput `pulumi:"instanceName"` + // Specified types of CVM instance. + InstanceType pulumi.StringInput `pulumi:"instanceType"` + // Charge types for network traffic. Available values include `TRAFFIC_POSTPAID_BY_HOUR`. + InternetChargeType pulumi.StringPtrInput `pulumi:"internetChargeType"` + // Max bandwidth of Internet access in Mbps. Default is 0. + InternetMaxBandwidthOut pulumi.IntPtrInput `pulumi:"internetMaxBandwidthOut"` + // ID list of keys, should be set if `password` not set. + KeyIds pulumi.StringPtrInput `pulumi:"keyIds"` + // Password to access, should be set if `keyIds` not set. + Password pulumi.StringPtrInput `pulumi:"password"` + // Specify whether to assign an Internet IP address. + PublicIpAssigned pulumi.BoolPtrInput `pulumi:"publicIpAssigned"` + // Security groups to which a CVM instance belongs. + SecurityGroupIds pulumi.StringArrayInput `pulumi:"securityGroupIds"` + // Private network ID. + SubnetId pulumi.StringInput `pulumi:"subnetId"` + // Volume of system disk in GB. Default is `50`. + SystemDiskSize pulumi.IntPtrInput `pulumi:"systemDiskSize"` + // System disk type. For more information on limits of system disk types, see [Storage Overview](https://intl.cloud.tencent.com/document/product/213/4952). Valid values: `LOCAL_BASIC`: local disk, `LOCAL_SSD`: local SSD disk, `CLOUD_SSD`: SSD, `CLOUD_PREMIUM`: Premium Cloud Storage. NOTE: `CLOUD_BASIC`, `LOCAL_BASIC` and `LOCAL_SSD` are deprecated. + SystemDiskType pulumi.StringPtrInput `pulumi:"systemDiskType"` + // User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB. + UserData pulumi.StringPtrInput `pulumi:"userData"` +} + +func (ScaleWorkerWorkerConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ScaleWorkerWorkerConfig)(nil)).Elem() +} + +func (i ScaleWorkerWorkerConfigArgs) ToScaleWorkerWorkerConfigOutput() ScaleWorkerWorkerConfigOutput { + return i.ToScaleWorkerWorkerConfigOutputWithContext(context.Background()) +} + +func (i ScaleWorkerWorkerConfigArgs) ToScaleWorkerWorkerConfigOutputWithContext(ctx context.Context) ScaleWorkerWorkerConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(ScaleWorkerWorkerConfigOutput) +} + +func (i ScaleWorkerWorkerConfigArgs) ToScaleWorkerWorkerConfigPtrOutput() ScaleWorkerWorkerConfigPtrOutput { + return i.ToScaleWorkerWorkerConfigPtrOutputWithContext(context.Background()) +} + +func (i ScaleWorkerWorkerConfigArgs) ToScaleWorkerWorkerConfigPtrOutputWithContext(ctx context.Context) ScaleWorkerWorkerConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ScaleWorkerWorkerConfigOutput).ToScaleWorkerWorkerConfigPtrOutputWithContext(ctx) +} + +// ScaleWorkerWorkerConfigPtrInput is an input type that accepts ScaleWorkerWorkerConfigArgs, ScaleWorkerWorkerConfigPtr and ScaleWorkerWorkerConfigPtrOutput values. +// You can construct a concrete instance of `ScaleWorkerWorkerConfigPtrInput` via: +// +// ScaleWorkerWorkerConfigArgs{...} +// +// or: +// +// nil +type ScaleWorkerWorkerConfigPtrInput interface { + pulumi.Input + + ToScaleWorkerWorkerConfigPtrOutput() ScaleWorkerWorkerConfigPtrOutput + ToScaleWorkerWorkerConfigPtrOutputWithContext(context.Context) ScaleWorkerWorkerConfigPtrOutput +} + +type scaleWorkerWorkerConfigPtrType ScaleWorkerWorkerConfigArgs + +func ScaleWorkerWorkerConfigPtr(v *ScaleWorkerWorkerConfigArgs) ScaleWorkerWorkerConfigPtrInput { + return (*scaleWorkerWorkerConfigPtrType)(v) +} + +func (*scaleWorkerWorkerConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ScaleWorkerWorkerConfig)(nil)).Elem() +} + +func (i *scaleWorkerWorkerConfigPtrType) ToScaleWorkerWorkerConfigPtrOutput() ScaleWorkerWorkerConfigPtrOutput { + return i.ToScaleWorkerWorkerConfigPtrOutputWithContext(context.Background()) +} + +func (i *scaleWorkerWorkerConfigPtrType) ToScaleWorkerWorkerConfigPtrOutputWithContext(ctx context.Context) ScaleWorkerWorkerConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ScaleWorkerWorkerConfigPtrOutput) +} + +type ScaleWorkerWorkerConfigOutput struct{ *pulumi.OutputState } + +func (ScaleWorkerWorkerConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ScaleWorkerWorkerConfig)(nil)).Elem() +} + +func (o ScaleWorkerWorkerConfigOutput) ToScaleWorkerWorkerConfigOutput() ScaleWorkerWorkerConfigOutput { + return o +} + +func (o ScaleWorkerWorkerConfigOutput) ToScaleWorkerWorkerConfigOutputWithContext(ctx context.Context) ScaleWorkerWorkerConfigOutput { + return o +} + +func (o ScaleWorkerWorkerConfigOutput) ToScaleWorkerWorkerConfigPtrOutput() ScaleWorkerWorkerConfigPtrOutput { + return o.ToScaleWorkerWorkerConfigPtrOutputWithContext(context.Background()) +} + +func (o ScaleWorkerWorkerConfigOutput) ToScaleWorkerWorkerConfigPtrOutputWithContext(ctx context.Context) ScaleWorkerWorkerConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ScaleWorkerWorkerConfig) *ScaleWorkerWorkerConfig { + return &v + }).(ScaleWorkerWorkerConfigPtrOutput) +} + +// Indicates which availability zone will be used. +func (o ScaleWorkerWorkerConfigOutput) AvailabilityZone() pulumi.StringPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerConfig) *string { return v.AvailabilityZone }).(pulumi.StringPtrOutput) +} + +// bandwidth package id. if user is standard user, then the bandwidthPackageId is needed, or default has bandwidth_package_id. +func (o ScaleWorkerWorkerConfigOutput) BandwidthPackageId() pulumi.StringPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerConfig) *string { return v.BandwidthPackageId }).(pulumi.StringPtrOutput) +} + +// CAM role name authorized to access. +func (o ScaleWorkerWorkerConfigOutput) CamRoleName() pulumi.StringPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerConfig) *string { return v.CamRoleName }).(pulumi.StringPtrOutput) +} + +// Number of cvm. +func (o ScaleWorkerWorkerConfigOutput) Count() pulumi.IntPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerConfig) *int { return v.Count }).(pulumi.IntPtrOutput) +} + +// Configurations of data disk. +func (o ScaleWorkerWorkerConfigOutput) DataDisks() ScaleWorkerWorkerConfigDataDiskArrayOutput { + return o.ApplyT(func(v ScaleWorkerWorkerConfig) []ScaleWorkerWorkerConfigDataDisk { return v.DataDisks }).(ScaleWorkerWorkerConfigDataDiskArrayOutput) +} + +// Indicate to set desired pod number in node. valid when enable_customized_pod_cidr=true, and it override `[globe_]desired_pod_num` for current node. Either all the fields `desiredPodNum` or none. +func (o ScaleWorkerWorkerConfigOutput) DesiredPodNum() pulumi.IntPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerConfig) *int { return v.DesiredPodNum }).(pulumi.IntPtrOutput) +} + +// Disaster recover groups to which a CVM instance belongs. Only support maximum 1. +func (o ScaleWorkerWorkerConfigOutput) DisasterRecoverGroupIds() pulumi.StringPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerConfig) *string { return v.DisasterRecoverGroupIds }).(pulumi.StringPtrOutput) +} + +// To specify whether to enable cloud monitor service. Default is TRUE. +func (o ScaleWorkerWorkerConfigOutput) EnhancedMonitorService() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerConfig) *bool { return v.EnhancedMonitorService }).(pulumi.BoolPtrOutput) +} + +// To specify whether to enable cloud security service. Default is TRUE. +func (o ScaleWorkerWorkerConfigOutput) EnhancedSecurityService() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerConfig) *bool { return v.EnhancedSecurityService }).(pulumi.BoolPtrOutput) +} + +// The host name of the attached instance. Dot (.) and dash (-) cannot be used as the first and last characters of HostName and cannot be used consecutively. Windows example: The length of the name character is [2, 15], letters (capitalization is not restricted), numbers and dashes (-) are allowed, dots (.) are not supported, and not all numbers are allowed. Examples of other types (Linux, etc.): The character length is [2, 60], and multiple dots are allowed. There is a segment between the dots. Each segment allows letters (with no limitation on capitalization), numbers and dashes (-). +func (o ScaleWorkerWorkerConfigOutput) Hostname() pulumi.StringPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerConfig) *string { return v.Hostname }).(pulumi.StringPtrOutput) +} + +// Id of cvm hpc cluster. +func (o ScaleWorkerWorkerConfigOutput) HpcClusterId() pulumi.StringPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerConfig) *string { return v.HpcClusterId }).(pulumi.StringPtrOutput) +} + +// The valid image id, format of img-xxx. +func (o ScaleWorkerWorkerConfigOutput) ImgId() pulumi.StringPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerConfig) *string { return v.ImgId }).(pulumi.StringPtrOutput) +} + +// The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. Note: TencentCloud International only supports `POSTPAID_BY_HOUR`, `PREPAID` instance will not terminated after cluster deleted, and may not allow to delete before expired. +func (o ScaleWorkerWorkerConfigOutput) InstanceChargeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerConfig) *string { return v.InstanceChargeType }).(pulumi.StringPtrOutput) +} + +// The tenancy (time unit is month) of the prepaid instance. NOTE: it only works when instanceChargeType is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. +func (o ScaleWorkerWorkerConfigOutput) InstanceChargeTypePrepaidPeriod() pulumi.IntPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerConfig) *int { return v.InstanceChargeTypePrepaidPeriod }).(pulumi.IntPtrOutput) +} + +// Auto renewal flag. Valid values: `NOTIFY_AND_AUTO_RENEW`: notify upon expiration and renew automatically, `NOTIFY_AND_MANUAL_RENEW`: notify upon expiration but do not renew automatically, `DISABLE_NOTIFY_AND_MANUAL_RENEW`: neither notify upon expiration nor renew automatically. Default value: `NOTIFY_AND_MANUAL_RENEW`. If this parameter is specified as `NOTIFY_AND_AUTO_RENEW`, the instance will be automatically renewed on a monthly basis if the account balance is sufficient. NOTE: it only works when instanceChargeType is set to `PREPAID`. +func (o ScaleWorkerWorkerConfigOutput) InstanceChargeTypePrepaidRenewFlag() pulumi.StringPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerConfig) *string { return v.InstanceChargeTypePrepaidRenewFlag }).(pulumi.StringPtrOutput) +} + +// Name of the CVMs. +func (o ScaleWorkerWorkerConfigOutput) InstanceName() pulumi.StringPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerConfig) *string { return v.InstanceName }).(pulumi.StringPtrOutput) +} + +// Specified types of CVM instance. +func (o ScaleWorkerWorkerConfigOutput) InstanceType() pulumi.StringOutput { + return o.ApplyT(func(v ScaleWorkerWorkerConfig) string { return v.InstanceType }).(pulumi.StringOutput) +} + +// Charge types for network traffic. Available values include `TRAFFIC_POSTPAID_BY_HOUR`. +func (o ScaleWorkerWorkerConfigOutput) InternetChargeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerConfig) *string { return v.InternetChargeType }).(pulumi.StringPtrOutput) +} + +// Max bandwidth of Internet access in Mbps. Default is 0. +func (o ScaleWorkerWorkerConfigOutput) InternetMaxBandwidthOut() pulumi.IntPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerConfig) *int { return v.InternetMaxBandwidthOut }).(pulumi.IntPtrOutput) +} + +// ID list of keys, should be set if `password` not set. +func (o ScaleWorkerWorkerConfigOutput) KeyIds() pulumi.StringPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerConfig) *string { return v.KeyIds }).(pulumi.StringPtrOutput) +} + +// Password to access, should be set if `keyIds` not set. +func (o ScaleWorkerWorkerConfigOutput) Password() pulumi.StringPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerConfig) *string { return v.Password }).(pulumi.StringPtrOutput) +} + +// Specify whether to assign an Internet IP address. +func (o ScaleWorkerWorkerConfigOutput) PublicIpAssigned() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerConfig) *bool { return v.PublicIpAssigned }).(pulumi.BoolPtrOutput) +} + +// Security groups to which a CVM instance belongs. +func (o ScaleWorkerWorkerConfigOutput) SecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v ScaleWorkerWorkerConfig) []string { return v.SecurityGroupIds }).(pulumi.StringArrayOutput) +} + +// Private network ID. +func (o ScaleWorkerWorkerConfigOutput) SubnetId() pulumi.StringOutput { + return o.ApplyT(func(v ScaleWorkerWorkerConfig) string { return v.SubnetId }).(pulumi.StringOutput) +} + +// Volume of system disk in GB. Default is `50`. +func (o ScaleWorkerWorkerConfigOutput) SystemDiskSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerConfig) *int { return v.SystemDiskSize }).(pulumi.IntPtrOutput) +} + +// System disk type. For more information on limits of system disk types, see [Storage Overview](https://intl.cloud.tencent.com/document/product/213/4952). Valid values: `LOCAL_BASIC`: local disk, `LOCAL_SSD`: local SSD disk, `CLOUD_SSD`: SSD, `CLOUD_PREMIUM`: Premium Cloud Storage. NOTE: `CLOUD_BASIC`, `LOCAL_BASIC` and `LOCAL_SSD` are deprecated. +func (o ScaleWorkerWorkerConfigOutput) SystemDiskType() pulumi.StringPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerConfig) *string { return v.SystemDiskType }).(pulumi.StringPtrOutput) +} + +// User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB. +func (o ScaleWorkerWorkerConfigOutput) UserData() pulumi.StringPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerConfig) *string { return v.UserData }).(pulumi.StringPtrOutput) +} + +type ScaleWorkerWorkerConfigPtrOutput struct{ *pulumi.OutputState } + +func (ScaleWorkerWorkerConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ScaleWorkerWorkerConfig)(nil)).Elem() +} + +func (o ScaleWorkerWorkerConfigPtrOutput) ToScaleWorkerWorkerConfigPtrOutput() ScaleWorkerWorkerConfigPtrOutput { + return o +} + +func (o ScaleWorkerWorkerConfigPtrOutput) ToScaleWorkerWorkerConfigPtrOutputWithContext(ctx context.Context) ScaleWorkerWorkerConfigPtrOutput { + return o +} + +func (o ScaleWorkerWorkerConfigPtrOutput) Elem() ScaleWorkerWorkerConfigOutput { + return o.ApplyT(func(v *ScaleWorkerWorkerConfig) ScaleWorkerWorkerConfig { + if v != nil { + return *v + } + var ret ScaleWorkerWorkerConfig + return ret + }).(ScaleWorkerWorkerConfigOutput) +} + +// Indicates which availability zone will be used. +func (o ScaleWorkerWorkerConfigPtrOutput) AvailabilityZone() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *string { + if v == nil { + return nil + } + return v.AvailabilityZone + }).(pulumi.StringPtrOutput) +} + +// bandwidth package id. if user is standard user, then the bandwidthPackageId is needed, or default has bandwidth_package_id. +func (o ScaleWorkerWorkerConfigPtrOutput) BandwidthPackageId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *string { + if v == nil { + return nil + } + return v.BandwidthPackageId + }).(pulumi.StringPtrOutput) +} + +// CAM role name authorized to access. +func (o ScaleWorkerWorkerConfigPtrOutput) CamRoleName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *string { + if v == nil { + return nil + } + return v.CamRoleName + }).(pulumi.StringPtrOutput) +} + +// Number of cvm. +func (o ScaleWorkerWorkerConfigPtrOutput) Count() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *int { + if v == nil { + return nil + } + return v.Count + }).(pulumi.IntPtrOutput) +} + +// Configurations of data disk. +func (o ScaleWorkerWorkerConfigPtrOutput) DataDisks() ScaleWorkerWorkerConfigDataDiskArrayOutput { + return o.ApplyT(func(v *ScaleWorkerWorkerConfig) []ScaleWorkerWorkerConfigDataDisk { + if v == nil { + return nil + } + return v.DataDisks + }).(ScaleWorkerWorkerConfigDataDiskArrayOutput) +} + +// Indicate to set desired pod number in node. valid when enable_customized_pod_cidr=true, and it override `[globe_]desired_pod_num` for current node. Either all the fields `desiredPodNum` or none. +func (o ScaleWorkerWorkerConfigPtrOutput) DesiredPodNum() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *int { + if v == nil { + return nil + } + return v.DesiredPodNum + }).(pulumi.IntPtrOutput) +} + +// Disaster recover groups to which a CVM instance belongs. Only support maximum 1. +func (o ScaleWorkerWorkerConfigPtrOutput) DisasterRecoverGroupIds() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *string { + if v == nil { + return nil + } + return v.DisasterRecoverGroupIds + }).(pulumi.StringPtrOutput) +} + +// To specify whether to enable cloud monitor service. Default is TRUE. +func (o ScaleWorkerWorkerConfigPtrOutput) EnhancedMonitorService() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *bool { + if v == nil { + return nil + } + return v.EnhancedMonitorService + }).(pulumi.BoolPtrOutput) +} + +// To specify whether to enable cloud security service. Default is TRUE. +func (o ScaleWorkerWorkerConfigPtrOutput) EnhancedSecurityService() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *bool { + if v == nil { + return nil + } + return v.EnhancedSecurityService + }).(pulumi.BoolPtrOutput) +} + +// The host name of the attached instance. Dot (.) and dash (-) cannot be used as the first and last characters of HostName and cannot be used consecutively. Windows example: The length of the name character is [2, 15], letters (capitalization is not restricted), numbers and dashes (-) are allowed, dots (.) are not supported, and not all numbers are allowed. Examples of other types (Linux, etc.): The character length is [2, 60], and multiple dots are allowed. There is a segment between the dots. Each segment allows letters (with no limitation on capitalization), numbers and dashes (-). +func (o ScaleWorkerWorkerConfigPtrOutput) Hostname() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *string { + if v == nil { + return nil + } + return v.Hostname + }).(pulumi.StringPtrOutput) +} + +// Id of cvm hpc cluster. +func (o ScaleWorkerWorkerConfigPtrOutput) HpcClusterId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *string { + if v == nil { + return nil + } + return v.HpcClusterId + }).(pulumi.StringPtrOutput) +} + +// The valid image id, format of img-xxx. +func (o ScaleWorkerWorkerConfigPtrOutput) ImgId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *string { + if v == nil { + return nil + } + return v.ImgId + }).(pulumi.StringPtrOutput) +} + +// The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. Note: TencentCloud International only supports `POSTPAID_BY_HOUR`, `PREPAID` instance will not terminated after cluster deleted, and may not allow to delete before expired. +func (o ScaleWorkerWorkerConfigPtrOutput) InstanceChargeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *string { + if v == nil { + return nil + } + return v.InstanceChargeType + }).(pulumi.StringPtrOutput) +} + +// The tenancy (time unit is month) of the prepaid instance. NOTE: it only works when instanceChargeType is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. +func (o ScaleWorkerWorkerConfigPtrOutput) InstanceChargeTypePrepaidPeriod() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *int { + if v == nil { + return nil + } + return v.InstanceChargeTypePrepaidPeriod + }).(pulumi.IntPtrOutput) +} + +// Auto renewal flag. Valid values: `NOTIFY_AND_AUTO_RENEW`: notify upon expiration and renew automatically, `NOTIFY_AND_MANUAL_RENEW`: notify upon expiration but do not renew automatically, `DISABLE_NOTIFY_AND_MANUAL_RENEW`: neither notify upon expiration nor renew automatically. Default value: `NOTIFY_AND_MANUAL_RENEW`. If this parameter is specified as `NOTIFY_AND_AUTO_RENEW`, the instance will be automatically renewed on a monthly basis if the account balance is sufficient. NOTE: it only works when instanceChargeType is set to `PREPAID`. +func (o ScaleWorkerWorkerConfigPtrOutput) InstanceChargeTypePrepaidRenewFlag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *string { + if v == nil { + return nil + } + return v.InstanceChargeTypePrepaidRenewFlag + }).(pulumi.StringPtrOutput) +} + +// Name of the CVMs. +func (o ScaleWorkerWorkerConfigPtrOutput) InstanceName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *string { + if v == nil { + return nil + } + return v.InstanceName + }).(pulumi.StringPtrOutput) +} + +// Specified types of CVM instance. +func (o ScaleWorkerWorkerConfigPtrOutput) InstanceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *string { + if v == nil { + return nil + } + return &v.InstanceType + }).(pulumi.StringPtrOutput) +} + +// Charge types for network traffic. Available values include `TRAFFIC_POSTPAID_BY_HOUR`. +func (o ScaleWorkerWorkerConfigPtrOutput) InternetChargeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *string { + if v == nil { + return nil + } + return v.InternetChargeType + }).(pulumi.StringPtrOutput) +} + +// Max bandwidth of Internet access in Mbps. Default is 0. +func (o ScaleWorkerWorkerConfigPtrOutput) InternetMaxBandwidthOut() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *int { + if v == nil { + return nil + } + return v.InternetMaxBandwidthOut + }).(pulumi.IntPtrOutput) +} + +// ID list of keys, should be set if `password` not set. +func (o ScaleWorkerWorkerConfigPtrOutput) KeyIds() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *string { + if v == nil { + return nil + } + return v.KeyIds + }).(pulumi.StringPtrOutput) +} + +// Password to access, should be set if `keyIds` not set. +func (o ScaleWorkerWorkerConfigPtrOutput) Password() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *string { + if v == nil { + return nil + } + return v.Password + }).(pulumi.StringPtrOutput) +} + +// Specify whether to assign an Internet IP address. +func (o ScaleWorkerWorkerConfigPtrOutput) PublicIpAssigned() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *bool { + if v == nil { + return nil + } + return v.PublicIpAssigned }).(pulumi.BoolPtrOutput) } -// The host name of the attached instance. Dot (.) and dash (-) cannot be used as the first and last characters of HostName and cannot be used consecutively. Windows example: The length of the name character is [2, 15], letters (capitalization is not restricted), numbers and dashes (-) are allowed, dots (.) are not supported, and not all numbers are allowed. Examples of other types (Linux, etc.): The character length is [2, 60], and multiple dots are allowed. There is a segment between the dots. Each segment allows letters (with no limitation on capitalization), numbers and dashes (-). -func (o ScaleWorkerWorkerConfigPtrOutput) Hostname() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *string { - if v == nil { - return nil - } - return v.Hostname - }).(pulumi.StringPtrOutput) +// Security groups to which a CVM instance belongs. +func (o ScaleWorkerWorkerConfigPtrOutput) SecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ScaleWorkerWorkerConfig) []string { + if v == nil { + return nil + } + return v.SecurityGroupIds + }).(pulumi.StringArrayOutput) +} + +// Private network ID. +func (o ScaleWorkerWorkerConfigPtrOutput) SubnetId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *string { + if v == nil { + return nil + } + return &v.SubnetId + }).(pulumi.StringPtrOutput) +} + +// Volume of system disk in GB. Default is `50`. +func (o ScaleWorkerWorkerConfigPtrOutput) SystemDiskSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *int { + if v == nil { + return nil + } + return v.SystemDiskSize + }).(pulumi.IntPtrOutput) +} + +// System disk type. For more information on limits of system disk types, see [Storage Overview](https://intl.cloud.tencent.com/document/product/213/4952). Valid values: `LOCAL_BASIC`: local disk, `LOCAL_SSD`: local SSD disk, `CLOUD_SSD`: SSD, `CLOUD_PREMIUM`: Premium Cloud Storage. NOTE: `CLOUD_BASIC`, `LOCAL_BASIC` and `LOCAL_SSD` are deprecated. +func (o ScaleWorkerWorkerConfigPtrOutput) SystemDiskType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *string { + if v == nil { + return nil + } + return v.SystemDiskType + }).(pulumi.StringPtrOutput) +} + +// User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB. +func (o ScaleWorkerWorkerConfigPtrOutput) UserData() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *string { + if v == nil { + return nil + } + return v.UserData + }).(pulumi.StringPtrOutput) +} + +type ScaleWorkerWorkerConfigDataDisk struct { + // Indicate whether to auto format and mount or not. Default is `false`. + AutoFormatAndMount *bool `pulumi:"autoFormatAndMount"` + // The name of the device or partition to mount. + DiskPartition *string `pulumi:"diskPartition"` + // Volume of disk in GB. Default is `0`. + DiskSize *int `pulumi:"diskSize"` + // Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD` and `CLOUD_HSSD` and `CLOUD_TSSD`. + DiskType *string `pulumi:"diskType"` + // Indicates whether to encrypt data disk, default `false`. + Encrypt *bool `pulumi:"encrypt"` + // File system, e.g. `ext3/ext4/xfs`. + FileSystem *string `pulumi:"fileSystem"` + // ID of the custom CMK in the format of UUID or `kms-abcd1234`. This parameter is used to encrypt cloud disks. + KmsKeyId *string `pulumi:"kmsKeyId"` + // Mount target. + MountTarget *string `pulumi:"mountTarget"` + // Data disk snapshot ID. + SnapshotId *string `pulumi:"snapshotId"` +} + +// ScaleWorkerWorkerConfigDataDiskInput is an input type that accepts ScaleWorkerWorkerConfigDataDiskArgs and ScaleWorkerWorkerConfigDataDiskOutput values. +// You can construct a concrete instance of `ScaleWorkerWorkerConfigDataDiskInput` via: +// +// ScaleWorkerWorkerConfigDataDiskArgs{...} +type ScaleWorkerWorkerConfigDataDiskInput interface { + pulumi.Input + + ToScaleWorkerWorkerConfigDataDiskOutput() ScaleWorkerWorkerConfigDataDiskOutput + ToScaleWorkerWorkerConfigDataDiskOutputWithContext(context.Context) ScaleWorkerWorkerConfigDataDiskOutput +} + +type ScaleWorkerWorkerConfigDataDiskArgs struct { + // Indicate whether to auto format and mount or not. Default is `false`. + AutoFormatAndMount pulumi.BoolPtrInput `pulumi:"autoFormatAndMount"` + // The name of the device or partition to mount. + DiskPartition pulumi.StringPtrInput `pulumi:"diskPartition"` + // Volume of disk in GB. Default is `0`. + DiskSize pulumi.IntPtrInput `pulumi:"diskSize"` + // Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD` and `CLOUD_HSSD` and `CLOUD_TSSD`. + DiskType pulumi.StringPtrInput `pulumi:"diskType"` + // Indicates whether to encrypt data disk, default `false`. + Encrypt pulumi.BoolPtrInput `pulumi:"encrypt"` + // File system, e.g. `ext3/ext4/xfs`. + FileSystem pulumi.StringPtrInput `pulumi:"fileSystem"` + // ID of the custom CMK in the format of UUID or `kms-abcd1234`. This parameter is used to encrypt cloud disks. + KmsKeyId pulumi.StringPtrInput `pulumi:"kmsKeyId"` + // Mount target. + MountTarget pulumi.StringPtrInput `pulumi:"mountTarget"` + // Data disk snapshot ID. + SnapshotId pulumi.StringPtrInput `pulumi:"snapshotId"` +} + +func (ScaleWorkerWorkerConfigDataDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ScaleWorkerWorkerConfigDataDisk)(nil)).Elem() +} + +func (i ScaleWorkerWorkerConfigDataDiskArgs) ToScaleWorkerWorkerConfigDataDiskOutput() ScaleWorkerWorkerConfigDataDiskOutput { + return i.ToScaleWorkerWorkerConfigDataDiskOutputWithContext(context.Background()) +} + +func (i ScaleWorkerWorkerConfigDataDiskArgs) ToScaleWorkerWorkerConfigDataDiskOutputWithContext(ctx context.Context) ScaleWorkerWorkerConfigDataDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(ScaleWorkerWorkerConfigDataDiskOutput) +} + +// ScaleWorkerWorkerConfigDataDiskArrayInput is an input type that accepts ScaleWorkerWorkerConfigDataDiskArray and ScaleWorkerWorkerConfigDataDiskArrayOutput values. +// You can construct a concrete instance of `ScaleWorkerWorkerConfigDataDiskArrayInput` via: +// +// ScaleWorkerWorkerConfigDataDiskArray{ ScaleWorkerWorkerConfigDataDiskArgs{...} } +type ScaleWorkerWorkerConfigDataDiskArrayInput interface { + pulumi.Input + + ToScaleWorkerWorkerConfigDataDiskArrayOutput() ScaleWorkerWorkerConfigDataDiskArrayOutput + ToScaleWorkerWorkerConfigDataDiskArrayOutputWithContext(context.Context) ScaleWorkerWorkerConfigDataDiskArrayOutput +} + +type ScaleWorkerWorkerConfigDataDiskArray []ScaleWorkerWorkerConfigDataDiskInput + +func (ScaleWorkerWorkerConfigDataDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ScaleWorkerWorkerConfigDataDisk)(nil)).Elem() +} + +func (i ScaleWorkerWorkerConfigDataDiskArray) ToScaleWorkerWorkerConfigDataDiskArrayOutput() ScaleWorkerWorkerConfigDataDiskArrayOutput { + return i.ToScaleWorkerWorkerConfigDataDiskArrayOutputWithContext(context.Background()) +} + +func (i ScaleWorkerWorkerConfigDataDiskArray) ToScaleWorkerWorkerConfigDataDiskArrayOutputWithContext(ctx context.Context) ScaleWorkerWorkerConfigDataDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ScaleWorkerWorkerConfigDataDiskArrayOutput) +} + +type ScaleWorkerWorkerConfigDataDiskOutput struct{ *pulumi.OutputState } + +func (ScaleWorkerWorkerConfigDataDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ScaleWorkerWorkerConfigDataDisk)(nil)).Elem() +} + +func (o ScaleWorkerWorkerConfigDataDiskOutput) ToScaleWorkerWorkerConfigDataDiskOutput() ScaleWorkerWorkerConfigDataDiskOutput { + return o +} + +func (o ScaleWorkerWorkerConfigDataDiskOutput) ToScaleWorkerWorkerConfigDataDiskOutputWithContext(ctx context.Context) ScaleWorkerWorkerConfigDataDiskOutput { + return o +} + +// Indicate whether to auto format and mount or not. Default is `false`. +func (o ScaleWorkerWorkerConfigDataDiskOutput) AutoFormatAndMount() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerConfigDataDisk) *bool { return v.AutoFormatAndMount }).(pulumi.BoolPtrOutput) +} + +// The name of the device or partition to mount. +func (o ScaleWorkerWorkerConfigDataDiskOutput) DiskPartition() pulumi.StringPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerConfigDataDisk) *string { return v.DiskPartition }).(pulumi.StringPtrOutput) +} + +// Volume of disk in GB. Default is `0`. +func (o ScaleWorkerWorkerConfigDataDiskOutput) DiskSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerConfigDataDisk) *int { return v.DiskSize }).(pulumi.IntPtrOutput) +} + +// Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD` and `CLOUD_HSSD` and `CLOUD_TSSD`. +func (o ScaleWorkerWorkerConfigDataDiskOutput) DiskType() pulumi.StringPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerConfigDataDisk) *string { return v.DiskType }).(pulumi.StringPtrOutput) +} + +// Indicates whether to encrypt data disk, default `false`. +func (o ScaleWorkerWorkerConfigDataDiskOutput) Encrypt() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerConfigDataDisk) *bool { return v.Encrypt }).(pulumi.BoolPtrOutput) +} + +// File system, e.g. `ext3/ext4/xfs`. +func (o ScaleWorkerWorkerConfigDataDiskOutput) FileSystem() pulumi.StringPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerConfigDataDisk) *string { return v.FileSystem }).(pulumi.StringPtrOutput) +} + +// ID of the custom CMK in the format of UUID or `kms-abcd1234`. This parameter is used to encrypt cloud disks. +func (o ScaleWorkerWorkerConfigDataDiskOutput) KmsKeyId() pulumi.StringPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerConfigDataDisk) *string { return v.KmsKeyId }).(pulumi.StringPtrOutput) +} + +// Mount target. +func (o ScaleWorkerWorkerConfigDataDiskOutput) MountTarget() pulumi.StringPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerConfigDataDisk) *string { return v.MountTarget }).(pulumi.StringPtrOutput) +} + +// Data disk snapshot ID. +func (o ScaleWorkerWorkerConfigDataDiskOutput) SnapshotId() pulumi.StringPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerConfigDataDisk) *string { return v.SnapshotId }).(pulumi.StringPtrOutput) +} + +type ScaleWorkerWorkerConfigDataDiskArrayOutput struct{ *pulumi.OutputState } + +func (ScaleWorkerWorkerConfigDataDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ScaleWorkerWorkerConfigDataDisk)(nil)).Elem() +} + +func (o ScaleWorkerWorkerConfigDataDiskArrayOutput) ToScaleWorkerWorkerConfigDataDiskArrayOutput() ScaleWorkerWorkerConfigDataDiskArrayOutput { + return o +} + +func (o ScaleWorkerWorkerConfigDataDiskArrayOutput) ToScaleWorkerWorkerConfigDataDiskArrayOutputWithContext(ctx context.Context) ScaleWorkerWorkerConfigDataDiskArrayOutput { + return o +} + +func (o ScaleWorkerWorkerConfigDataDiskArrayOutput) Index(i pulumi.IntInput) ScaleWorkerWorkerConfigDataDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ScaleWorkerWorkerConfigDataDisk { + return vs[0].([]ScaleWorkerWorkerConfigDataDisk)[vs[1].(int)] + }).(ScaleWorkerWorkerConfigDataDiskOutput) +} + +type ScaleWorkerWorkerInstancesList struct { + // Information of the cvm when it is failed. + FailedReason *string `pulumi:"failedReason"` + // ID of the cvm. + InstanceId *string `pulumi:"instanceId"` + // Role of the cvm. + InstanceRole *string `pulumi:"instanceRole"` + // State of the cvm. + InstanceState *string `pulumi:"instanceState"` + // LAN IP of the cvm. + LanIp *string `pulumi:"lanIp"` +} + +// ScaleWorkerWorkerInstancesListInput is an input type that accepts ScaleWorkerWorkerInstancesListArgs and ScaleWorkerWorkerInstancesListOutput values. +// You can construct a concrete instance of `ScaleWorkerWorkerInstancesListInput` via: +// +// ScaleWorkerWorkerInstancesListArgs{...} +type ScaleWorkerWorkerInstancesListInput interface { + pulumi.Input + + ToScaleWorkerWorkerInstancesListOutput() ScaleWorkerWorkerInstancesListOutput + ToScaleWorkerWorkerInstancesListOutputWithContext(context.Context) ScaleWorkerWorkerInstancesListOutput +} + +type ScaleWorkerWorkerInstancesListArgs struct { + // Information of the cvm when it is failed. + FailedReason pulumi.StringPtrInput `pulumi:"failedReason"` + // ID of the cvm. + InstanceId pulumi.StringPtrInput `pulumi:"instanceId"` + // Role of the cvm. + InstanceRole pulumi.StringPtrInput `pulumi:"instanceRole"` + // State of the cvm. + InstanceState pulumi.StringPtrInput `pulumi:"instanceState"` + // LAN IP of the cvm. + LanIp pulumi.StringPtrInput `pulumi:"lanIp"` +} + +func (ScaleWorkerWorkerInstancesListArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ScaleWorkerWorkerInstancesList)(nil)).Elem() +} + +func (i ScaleWorkerWorkerInstancesListArgs) ToScaleWorkerWorkerInstancesListOutput() ScaleWorkerWorkerInstancesListOutput { + return i.ToScaleWorkerWorkerInstancesListOutputWithContext(context.Background()) +} + +func (i ScaleWorkerWorkerInstancesListArgs) ToScaleWorkerWorkerInstancesListOutputWithContext(ctx context.Context) ScaleWorkerWorkerInstancesListOutput { + return pulumi.ToOutputWithContext(ctx, i).(ScaleWorkerWorkerInstancesListOutput) +} + +// ScaleWorkerWorkerInstancesListArrayInput is an input type that accepts ScaleWorkerWorkerInstancesListArray and ScaleWorkerWorkerInstancesListArrayOutput values. +// You can construct a concrete instance of `ScaleWorkerWorkerInstancesListArrayInput` via: +// +// ScaleWorkerWorkerInstancesListArray{ ScaleWorkerWorkerInstancesListArgs{...} } +type ScaleWorkerWorkerInstancesListArrayInput interface { + pulumi.Input + + ToScaleWorkerWorkerInstancesListArrayOutput() ScaleWorkerWorkerInstancesListArrayOutput + ToScaleWorkerWorkerInstancesListArrayOutputWithContext(context.Context) ScaleWorkerWorkerInstancesListArrayOutput +} + +type ScaleWorkerWorkerInstancesListArray []ScaleWorkerWorkerInstancesListInput + +func (ScaleWorkerWorkerInstancesListArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ScaleWorkerWorkerInstancesList)(nil)).Elem() +} + +func (i ScaleWorkerWorkerInstancesListArray) ToScaleWorkerWorkerInstancesListArrayOutput() ScaleWorkerWorkerInstancesListArrayOutput { + return i.ToScaleWorkerWorkerInstancesListArrayOutputWithContext(context.Background()) +} + +func (i ScaleWorkerWorkerInstancesListArray) ToScaleWorkerWorkerInstancesListArrayOutputWithContext(ctx context.Context) ScaleWorkerWorkerInstancesListArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ScaleWorkerWorkerInstancesListArrayOutput) +} + +type ScaleWorkerWorkerInstancesListOutput struct{ *pulumi.OutputState } + +func (ScaleWorkerWorkerInstancesListOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ScaleWorkerWorkerInstancesList)(nil)).Elem() +} + +func (o ScaleWorkerWorkerInstancesListOutput) ToScaleWorkerWorkerInstancesListOutput() ScaleWorkerWorkerInstancesListOutput { + return o +} + +func (o ScaleWorkerWorkerInstancesListOutput) ToScaleWorkerWorkerInstancesListOutputWithContext(ctx context.Context) ScaleWorkerWorkerInstancesListOutput { + return o +} + +// Information of the cvm when it is failed. +func (o ScaleWorkerWorkerInstancesListOutput) FailedReason() pulumi.StringPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerInstancesList) *string { return v.FailedReason }).(pulumi.StringPtrOutput) +} + +// ID of the cvm. +func (o ScaleWorkerWorkerInstancesListOutput) InstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerInstancesList) *string { return v.InstanceId }).(pulumi.StringPtrOutput) +} + +// Role of the cvm. +func (o ScaleWorkerWorkerInstancesListOutput) InstanceRole() pulumi.StringPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerInstancesList) *string { return v.InstanceRole }).(pulumi.StringPtrOutput) +} + +// State of the cvm. +func (o ScaleWorkerWorkerInstancesListOutput) InstanceState() pulumi.StringPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerInstancesList) *string { return v.InstanceState }).(pulumi.StringPtrOutput) +} + +// LAN IP of the cvm. +func (o ScaleWorkerWorkerInstancesListOutput) LanIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v ScaleWorkerWorkerInstancesList) *string { return v.LanIp }).(pulumi.StringPtrOutput) +} + +type ScaleWorkerWorkerInstancesListArrayOutput struct{ *pulumi.OutputState } + +func (ScaleWorkerWorkerInstancesListArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ScaleWorkerWorkerInstancesList)(nil)).Elem() +} + +func (o ScaleWorkerWorkerInstancesListArrayOutput) ToScaleWorkerWorkerInstancesListArrayOutput() ScaleWorkerWorkerInstancesListArrayOutput { + return o +} + +func (o ScaleWorkerWorkerInstancesListArrayOutput) ToScaleWorkerWorkerInstancesListArrayOutputWithContext(ctx context.Context) ScaleWorkerWorkerInstancesListArrayOutput { + return o +} + +func (o ScaleWorkerWorkerInstancesListArrayOutput) Index(i pulumi.IntInput) ScaleWorkerWorkerInstancesListOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ScaleWorkerWorkerInstancesList { + return vs[0].([]ScaleWorkerWorkerInstancesList)[vs[1].(int)] + }).(ScaleWorkerWorkerInstancesListOutput) +} + +type ServerlessNodePoolServerlessNode struct { + // display name of serverless node. + DisplayName *string `pulumi:"displayName"` + // subnet id of serverless node. + SubnetId string `pulumi:"subnetId"` +} + +// ServerlessNodePoolServerlessNodeInput is an input type that accepts ServerlessNodePoolServerlessNodeArgs and ServerlessNodePoolServerlessNodeOutput values. +// You can construct a concrete instance of `ServerlessNodePoolServerlessNodeInput` via: +// +// ServerlessNodePoolServerlessNodeArgs{...} +type ServerlessNodePoolServerlessNodeInput interface { + pulumi.Input + + ToServerlessNodePoolServerlessNodeOutput() ServerlessNodePoolServerlessNodeOutput + ToServerlessNodePoolServerlessNodeOutputWithContext(context.Context) ServerlessNodePoolServerlessNodeOutput +} + +type ServerlessNodePoolServerlessNodeArgs struct { + // display name of serverless node. + DisplayName pulumi.StringPtrInput `pulumi:"displayName"` + // subnet id of serverless node. + SubnetId pulumi.StringInput `pulumi:"subnetId"` +} + +func (ServerlessNodePoolServerlessNodeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ServerlessNodePoolServerlessNode)(nil)).Elem() +} + +func (i ServerlessNodePoolServerlessNodeArgs) ToServerlessNodePoolServerlessNodeOutput() ServerlessNodePoolServerlessNodeOutput { + return i.ToServerlessNodePoolServerlessNodeOutputWithContext(context.Background()) +} + +func (i ServerlessNodePoolServerlessNodeArgs) ToServerlessNodePoolServerlessNodeOutputWithContext(ctx context.Context) ServerlessNodePoolServerlessNodeOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerlessNodePoolServerlessNodeOutput) +} + +// ServerlessNodePoolServerlessNodeArrayInput is an input type that accepts ServerlessNodePoolServerlessNodeArray and ServerlessNodePoolServerlessNodeArrayOutput values. +// You can construct a concrete instance of `ServerlessNodePoolServerlessNodeArrayInput` via: +// +// ServerlessNodePoolServerlessNodeArray{ ServerlessNodePoolServerlessNodeArgs{...} } +type ServerlessNodePoolServerlessNodeArrayInput interface { + pulumi.Input + + ToServerlessNodePoolServerlessNodeArrayOutput() ServerlessNodePoolServerlessNodeArrayOutput + ToServerlessNodePoolServerlessNodeArrayOutputWithContext(context.Context) ServerlessNodePoolServerlessNodeArrayOutput +} + +type ServerlessNodePoolServerlessNodeArray []ServerlessNodePoolServerlessNodeInput + +func (ServerlessNodePoolServerlessNodeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ServerlessNodePoolServerlessNode)(nil)).Elem() +} + +func (i ServerlessNodePoolServerlessNodeArray) ToServerlessNodePoolServerlessNodeArrayOutput() ServerlessNodePoolServerlessNodeArrayOutput { + return i.ToServerlessNodePoolServerlessNodeArrayOutputWithContext(context.Background()) +} + +func (i ServerlessNodePoolServerlessNodeArray) ToServerlessNodePoolServerlessNodeArrayOutputWithContext(ctx context.Context) ServerlessNodePoolServerlessNodeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerlessNodePoolServerlessNodeArrayOutput) +} + +type ServerlessNodePoolServerlessNodeOutput struct{ *pulumi.OutputState } + +func (ServerlessNodePoolServerlessNodeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServerlessNodePoolServerlessNode)(nil)).Elem() +} + +func (o ServerlessNodePoolServerlessNodeOutput) ToServerlessNodePoolServerlessNodeOutput() ServerlessNodePoolServerlessNodeOutput { + return o +} + +func (o ServerlessNodePoolServerlessNodeOutput) ToServerlessNodePoolServerlessNodeOutputWithContext(ctx context.Context) ServerlessNodePoolServerlessNodeOutput { + return o +} + +// display name of serverless node. +func (o ServerlessNodePoolServerlessNodeOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServerlessNodePoolServerlessNode) *string { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// subnet id of serverless node. +func (o ServerlessNodePoolServerlessNodeOutput) SubnetId() pulumi.StringOutput { + return o.ApplyT(func(v ServerlessNodePoolServerlessNode) string { return v.SubnetId }).(pulumi.StringOutput) +} + +type ServerlessNodePoolServerlessNodeArrayOutput struct{ *pulumi.OutputState } + +func (ServerlessNodePoolServerlessNodeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ServerlessNodePoolServerlessNode)(nil)).Elem() +} + +func (o ServerlessNodePoolServerlessNodeArrayOutput) ToServerlessNodePoolServerlessNodeArrayOutput() ServerlessNodePoolServerlessNodeArrayOutput { + return o +} + +func (o ServerlessNodePoolServerlessNodeArrayOutput) ToServerlessNodePoolServerlessNodeArrayOutputWithContext(ctx context.Context) ServerlessNodePoolServerlessNodeArrayOutput { + return o +} + +func (o ServerlessNodePoolServerlessNodeArrayOutput) Index(i pulumi.IntInput) ServerlessNodePoolServerlessNodeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ServerlessNodePoolServerlessNode { + return vs[0].([]ServerlessNodePoolServerlessNode)[vs[1].(int)] + }).(ServerlessNodePoolServerlessNodeOutput) +} + +type ServerlessNodePoolTaint struct { + // Effect of the taint. Valid values are: `NoSchedule`, `PreferNoSchedule`, `NoExecute`. + Effect string `pulumi:"effect"` + // Key of the taint. The taint key name does not exceed 63 characters, only supports English, numbers,'/','-', and does not allow beginning with ('/'). + Key string `pulumi:"key"` + // Value of the taint. + Value string `pulumi:"value"` +} + +// ServerlessNodePoolTaintInput is an input type that accepts ServerlessNodePoolTaintArgs and ServerlessNodePoolTaintOutput values. +// You can construct a concrete instance of `ServerlessNodePoolTaintInput` via: +// +// ServerlessNodePoolTaintArgs{...} +type ServerlessNodePoolTaintInput interface { + pulumi.Input + + ToServerlessNodePoolTaintOutput() ServerlessNodePoolTaintOutput + ToServerlessNodePoolTaintOutputWithContext(context.Context) ServerlessNodePoolTaintOutput +} + +type ServerlessNodePoolTaintArgs struct { + // Effect of the taint. Valid values are: `NoSchedule`, `PreferNoSchedule`, `NoExecute`. + Effect pulumi.StringInput `pulumi:"effect"` + // Key of the taint. The taint key name does not exceed 63 characters, only supports English, numbers,'/','-', and does not allow beginning with ('/'). + Key pulumi.StringInput `pulumi:"key"` + // Value of the taint. + Value pulumi.StringInput `pulumi:"value"` +} + +func (ServerlessNodePoolTaintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ServerlessNodePoolTaint)(nil)).Elem() +} + +func (i ServerlessNodePoolTaintArgs) ToServerlessNodePoolTaintOutput() ServerlessNodePoolTaintOutput { + return i.ToServerlessNodePoolTaintOutputWithContext(context.Background()) +} + +func (i ServerlessNodePoolTaintArgs) ToServerlessNodePoolTaintOutputWithContext(ctx context.Context) ServerlessNodePoolTaintOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerlessNodePoolTaintOutput) +} + +// ServerlessNodePoolTaintArrayInput is an input type that accepts ServerlessNodePoolTaintArray and ServerlessNodePoolTaintArrayOutput values. +// You can construct a concrete instance of `ServerlessNodePoolTaintArrayInput` via: +// +// ServerlessNodePoolTaintArray{ ServerlessNodePoolTaintArgs{...} } +type ServerlessNodePoolTaintArrayInput interface { + pulumi.Input + + ToServerlessNodePoolTaintArrayOutput() ServerlessNodePoolTaintArrayOutput + ToServerlessNodePoolTaintArrayOutputWithContext(context.Context) ServerlessNodePoolTaintArrayOutput +} + +type ServerlessNodePoolTaintArray []ServerlessNodePoolTaintInput + +func (ServerlessNodePoolTaintArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ServerlessNodePoolTaint)(nil)).Elem() +} + +func (i ServerlessNodePoolTaintArray) ToServerlessNodePoolTaintArrayOutput() ServerlessNodePoolTaintArrayOutput { + return i.ToServerlessNodePoolTaintArrayOutputWithContext(context.Background()) +} + +func (i ServerlessNodePoolTaintArray) ToServerlessNodePoolTaintArrayOutputWithContext(ctx context.Context) ServerlessNodePoolTaintArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerlessNodePoolTaintArrayOutput) +} + +type ServerlessNodePoolTaintOutput struct{ *pulumi.OutputState } + +func (ServerlessNodePoolTaintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServerlessNodePoolTaint)(nil)).Elem() +} + +func (o ServerlessNodePoolTaintOutput) ToServerlessNodePoolTaintOutput() ServerlessNodePoolTaintOutput { + return o +} + +func (o ServerlessNodePoolTaintOutput) ToServerlessNodePoolTaintOutputWithContext(ctx context.Context) ServerlessNodePoolTaintOutput { + return o +} + +// Effect of the taint. Valid values are: `NoSchedule`, `PreferNoSchedule`, `NoExecute`. +func (o ServerlessNodePoolTaintOutput) Effect() pulumi.StringOutput { + return o.ApplyT(func(v ServerlessNodePoolTaint) string { return v.Effect }).(pulumi.StringOutput) +} + +// Key of the taint. The taint key name does not exceed 63 characters, only supports English, numbers,'/','-', and does not allow beginning with ('/'). +func (o ServerlessNodePoolTaintOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v ServerlessNodePoolTaint) string { return v.Key }).(pulumi.StringOutput) +} + +// Value of the taint. +func (o ServerlessNodePoolTaintOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v ServerlessNodePoolTaint) string { return v.Value }).(pulumi.StringOutput) +} + +type ServerlessNodePoolTaintArrayOutput struct{ *pulumi.OutputState } + +func (ServerlessNodePoolTaintArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ServerlessNodePoolTaint)(nil)).Elem() +} + +func (o ServerlessNodePoolTaintArrayOutput) ToServerlessNodePoolTaintArrayOutput() ServerlessNodePoolTaintArrayOutput { + return o +} + +func (o ServerlessNodePoolTaintArrayOutput) ToServerlessNodePoolTaintArrayOutputWithContext(ctx context.Context) ServerlessNodePoolTaintArrayOutput { + return o +} + +func (o ServerlessNodePoolTaintArrayOutput) Index(i pulumi.IntInput) ServerlessNodePoolTaintOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ServerlessNodePoolTaint { + return vs[0].([]ServerlessNodePoolTaint)[vs[1].(int)] + }).(ServerlessNodePoolTaintOutput) +} + +type GetAvailableClusterVersionsCluster struct { + // Cluster Id. + ClusterId string `pulumi:"clusterId"` + // Upgradable cluster version number. Note: This field may return null, indicating that no valid value can be obtained. + Versions []string `pulumi:"versions"` +} + +// GetAvailableClusterVersionsClusterInput is an input type that accepts GetAvailableClusterVersionsClusterArgs and GetAvailableClusterVersionsClusterOutput values. +// You can construct a concrete instance of `GetAvailableClusterVersionsClusterInput` via: +// +// GetAvailableClusterVersionsClusterArgs{...} +type GetAvailableClusterVersionsClusterInput interface { + pulumi.Input + + ToGetAvailableClusterVersionsClusterOutput() GetAvailableClusterVersionsClusterOutput + ToGetAvailableClusterVersionsClusterOutputWithContext(context.Context) GetAvailableClusterVersionsClusterOutput +} + +type GetAvailableClusterVersionsClusterArgs struct { + // Cluster Id. + ClusterId pulumi.StringInput `pulumi:"clusterId"` + // Upgradable cluster version number. Note: This field may return null, indicating that no valid value can be obtained. + Versions pulumi.StringArrayInput `pulumi:"versions"` +} + +func (GetAvailableClusterVersionsClusterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAvailableClusterVersionsCluster)(nil)).Elem() +} + +func (i GetAvailableClusterVersionsClusterArgs) ToGetAvailableClusterVersionsClusterOutput() GetAvailableClusterVersionsClusterOutput { + return i.ToGetAvailableClusterVersionsClusterOutputWithContext(context.Background()) +} + +func (i GetAvailableClusterVersionsClusterArgs) ToGetAvailableClusterVersionsClusterOutputWithContext(ctx context.Context) GetAvailableClusterVersionsClusterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAvailableClusterVersionsClusterOutput) +} + +// GetAvailableClusterVersionsClusterArrayInput is an input type that accepts GetAvailableClusterVersionsClusterArray and GetAvailableClusterVersionsClusterArrayOutput values. +// You can construct a concrete instance of `GetAvailableClusterVersionsClusterArrayInput` via: +// +// GetAvailableClusterVersionsClusterArray{ GetAvailableClusterVersionsClusterArgs{...} } +type GetAvailableClusterVersionsClusterArrayInput interface { + pulumi.Input + + ToGetAvailableClusterVersionsClusterArrayOutput() GetAvailableClusterVersionsClusterArrayOutput + ToGetAvailableClusterVersionsClusterArrayOutputWithContext(context.Context) GetAvailableClusterVersionsClusterArrayOutput +} + +type GetAvailableClusterVersionsClusterArray []GetAvailableClusterVersionsClusterInput + +func (GetAvailableClusterVersionsClusterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAvailableClusterVersionsCluster)(nil)).Elem() +} + +func (i GetAvailableClusterVersionsClusterArray) ToGetAvailableClusterVersionsClusterArrayOutput() GetAvailableClusterVersionsClusterArrayOutput { + return i.ToGetAvailableClusterVersionsClusterArrayOutputWithContext(context.Background()) +} + +func (i GetAvailableClusterVersionsClusterArray) ToGetAvailableClusterVersionsClusterArrayOutputWithContext(ctx context.Context) GetAvailableClusterVersionsClusterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAvailableClusterVersionsClusterArrayOutput) +} + +type GetAvailableClusterVersionsClusterOutput struct{ *pulumi.OutputState } + +func (GetAvailableClusterVersionsClusterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAvailableClusterVersionsCluster)(nil)).Elem() +} + +func (o GetAvailableClusterVersionsClusterOutput) ToGetAvailableClusterVersionsClusterOutput() GetAvailableClusterVersionsClusterOutput { + return o +} + +func (o GetAvailableClusterVersionsClusterOutput) ToGetAvailableClusterVersionsClusterOutputWithContext(ctx context.Context) GetAvailableClusterVersionsClusterOutput { + return o +} + +// Cluster Id. +func (o GetAvailableClusterVersionsClusterOutput) ClusterId() pulumi.StringOutput { + return o.ApplyT(func(v GetAvailableClusterVersionsCluster) string { return v.ClusterId }).(pulumi.StringOutput) +} + +// Upgradable cluster version number. Note: This field may return null, indicating that no valid value can be obtained. +func (o GetAvailableClusterVersionsClusterOutput) Versions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetAvailableClusterVersionsCluster) []string { return v.Versions }).(pulumi.StringArrayOutput) +} + +type GetAvailableClusterVersionsClusterArrayOutput struct{ *pulumi.OutputState } + +func (GetAvailableClusterVersionsClusterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAvailableClusterVersionsCluster)(nil)).Elem() +} + +func (o GetAvailableClusterVersionsClusterArrayOutput) ToGetAvailableClusterVersionsClusterArrayOutput() GetAvailableClusterVersionsClusterArrayOutput { + return o +} + +func (o GetAvailableClusterVersionsClusterArrayOutput) ToGetAvailableClusterVersionsClusterArrayOutputWithContext(ctx context.Context) GetAvailableClusterVersionsClusterArrayOutput { + return o +} + +func (o GetAvailableClusterVersionsClusterArrayOutput) Index(i pulumi.IntInput) GetAvailableClusterVersionsClusterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAvailableClusterVersionsCluster { + return vs[0].([]GetAvailableClusterVersionsCluster)[vs[1].(int)] + }).(GetAvailableClusterVersionsClusterOutput) +} + +type GetChartsChartList struct { + // Label of chart. + Label map[string]interface{} `pulumi:"label"` + // Chart latest version. + LatestVersion string `pulumi:"latestVersion"` + // Name of chart. + Name string `pulumi:"name"` +} + +// GetChartsChartListInput is an input type that accepts GetChartsChartListArgs and GetChartsChartListOutput values. +// You can construct a concrete instance of `GetChartsChartListInput` via: +// +// GetChartsChartListArgs{...} +type GetChartsChartListInput interface { + pulumi.Input + + ToGetChartsChartListOutput() GetChartsChartListOutput + ToGetChartsChartListOutputWithContext(context.Context) GetChartsChartListOutput +} + +type GetChartsChartListArgs struct { + // Label of chart. + Label pulumi.MapInput `pulumi:"label"` + // Chart latest version. + LatestVersion pulumi.StringInput `pulumi:"latestVersion"` + // Name of chart. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetChartsChartListArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetChartsChartList)(nil)).Elem() +} + +func (i GetChartsChartListArgs) ToGetChartsChartListOutput() GetChartsChartListOutput { + return i.ToGetChartsChartListOutputWithContext(context.Background()) +} + +func (i GetChartsChartListArgs) ToGetChartsChartListOutputWithContext(ctx context.Context) GetChartsChartListOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetChartsChartListOutput) +} + +// GetChartsChartListArrayInput is an input type that accepts GetChartsChartListArray and GetChartsChartListArrayOutput values. +// You can construct a concrete instance of `GetChartsChartListArrayInput` via: +// +// GetChartsChartListArray{ GetChartsChartListArgs{...} } +type GetChartsChartListArrayInput interface { + pulumi.Input + + ToGetChartsChartListArrayOutput() GetChartsChartListArrayOutput + ToGetChartsChartListArrayOutputWithContext(context.Context) GetChartsChartListArrayOutput +} + +type GetChartsChartListArray []GetChartsChartListInput + +func (GetChartsChartListArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetChartsChartList)(nil)).Elem() +} + +func (i GetChartsChartListArray) ToGetChartsChartListArrayOutput() GetChartsChartListArrayOutput { + return i.ToGetChartsChartListArrayOutputWithContext(context.Background()) +} + +func (i GetChartsChartListArray) ToGetChartsChartListArrayOutputWithContext(ctx context.Context) GetChartsChartListArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetChartsChartListArrayOutput) +} + +type GetChartsChartListOutput struct{ *pulumi.OutputState } + +func (GetChartsChartListOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetChartsChartList)(nil)).Elem() +} + +func (o GetChartsChartListOutput) ToGetChartsChartListOutput() GetChartsChartListOutput { + return o +} + +func (o GetChartsChartListOutput) ToGetChartsChartListOutputWithContext(ctx context.Context) GetChartsChartListOutput { + return o +} + +// Label of chart. +func (o GetChartsChartListOutput) Label() pulumi.MapOutput { + return o.ApplyT(func(v GetChartsChartList) map[string]interface{} { return v.Label }).(pulumi.MapOutput) +} + +// Chart latest version. +func (o GetChartsChartListOutput) LatestVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetChartsChartList) string { return v.LatestVersion }).(pulumi.StringOutput) +} + +// Name of chart. +func (o GetChartsChartListOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetChartsChartList) string { return v.Name }).(pulumi.StringOutput) +} + +type GetChartsChartListArrayOutput struct{ *pulumi.OutputState } + +func (GetChartsChartListArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetChartsChartList)(nil)).Elem() +} + +func (o GetChartsChartListArrayOutput) ToGetChartsChartListArrayOutput() GetChartsChartListArrayOutput { + return o +} + +func (o GetChartsChartListArrayOutput) ToGetChartsChartListArrayOutputWithContext(ctx context.Context) GetChartsChartListArrayOutput { + return o +} + +func (o GetChartsChartListArrayOutput) Index(i pulumi.IntInput) GetChartsChartListOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetChartsChartList { + return vs[0].([]GetChartsChartList)[vs[1].(int)] + }).(GetChartsChartListOutput) +} + +type GetClusterAuthenticationOptionsOidcConfig struct { + // Creating ClientId of the identity provider. Note: This field may return `null`, indicating that no valid value can be obtained. + AutoCreateClientIds []string `pulumi:"autoCreateClientIds"` + // Creating an identity provider. Note: This field may return `null`, indicating that no valid value can be obtained. + AutoCreateOidcConfig bool `pulumi:"autoCreateOidcConfig"` + // Creating the PodIdentityWebhook component. Note: This field may return `null`, indicating that no valid value can be obtained. + AutoInstallPodIdentityWebhookAddon bool `pulumi:"autoInstallPodIdentityWebhookAddon"` +} + +// GetClusterAuthenticationOptionsOidcConfigInput is an input type that accepts GetClusterAuthenticationOptionsOidcConfigArgs and GetClusterAuthenticationOptionsOidcConfigOutput values. +// You can construct a concrete instance of `GetClusterAuthenticationOptionsOidcConfigInput` via: +// +// GetClusterAuthenticationOptionsOidcConfigArgs{...} +type GetClusterAuthenticationOptionsOidcConfigInput interface { + pulumi.Input + + ToGetClusterAuthenticationOptionsOidcConfigOutput() GetClusterAuthenticationOptionsOidcConfigOutput + ToGetClusterAuthenticationOptionsOidcConfigOutputWithContext(context.Context) GetClusterAuthenticationOptionsOidcConfigOutput +} + +type GetClusterAuthenticationOptionsOidcConfigArgs struct { + // Creating ClientId of the identity provider. Note: This field may return `null`, indicating that no valid value can be obtained. + AutoCreateClientIds pulumi.StringArrayInput `pulumi:"autoCreateClientIds"` + // Creating an identity provider. Note: This field may return `null`, indicating that no valid value can be obtained. + AutoCreateOidcConfig pulumi.BoolInput `pulumi:"autoCreateOidcConfig"` + // Creating the PodIdentityWebhook component. Note: This field may return `null`, indicating that no valid value can be obtained. + AutoInstallPodIdentityWebhookAddon pulumi.BoolInput `pulumi:"autoInstallPodIdentityWebhookAddon"` +} + +func (GetClusterAuthenticationOptionsOidcConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterAuthenticationOptionsOidcConfig)(nil)).Elem() +} + +func (i GetClusterAuthenticationOptionsOidcConfigArgs) ToGetClusterAuthenticationOptionsOidcConfigOutput() GetClusterAuthenticationOptionsOidcConfigOutput { + return i.ToGetClusterAuthenticationOptionsOidcConfigOutputWithContext(context.Background()) +} + +func (i GetClusterAuthenticationOptionsOidcConfigArgs) ToGetClusterAuthenticationOptionsOidcConfigOutputWithContext(ctx context.Context) GetClusterAuthenticationOptionsOidcConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterAuthenticationOptionsOidcConfigOutput) +} + +// GetClusterAuthenticationOptionsOidcConfigArrayInput is an input type that accepts GetClusterAuthenticationOptionsOidcConfigArray and GetClusterAuthenticationOptionsOidcConfigArrayOutput values. +// You can construct a concrete instance of `GetClusterAuthenticationOptionsOidcConfigArrayInput` via: +// +// GetClusterAuthenticationOptionsOidcConfigArray{ GetClusterAuthenticationOptionsOidcConfigArgs{...} } +type GetClusterAuthenticationOptionsOidcConfigArrayInput interface { + pulumi.Input + + ToGetClusterAuthenticationOptionsOidcConfigArrayOutput() GetClusterAuthenticationOptionsOidcConfigArrayOutput + ToGetClusterAuthenticationOptionsOidcConfigArrayOutputWithContext(context.Context) GetClusterAuthenticationOptionsOidcConfigArrayOutput +} + +type GetClusterAuthenticationOptionsOidcConfigArray []GetClusterAuthenticationOptionsOidcConfigInput + +func (GetClusterAuthenticationOptionsOidcConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterAuthenticationOptionsOidcConfig)(nil)).Elem() +} + +func (i GetClusterAuthenticationOptionsOidcConfigArray) ToGetClusterAuthenticationOptionsOidcConfigArrayOutput() GetClusterAuthenticationOptionsOidcConfigArrayOutput { + return i.ToGetClusterAuthenticationOptionsOidcConfigArrayOutputWithContext(context.Background()) +} + +func (i GetClusterAuthenticationOptionsOidcConfigArray) ToGetClusterAuthenticationOptionsOidcConfigArrayOutputWithContext(ctx context.Context) GetClusterAuthenticationOptionsOidcConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterAuthenticationOptionsOidcConfigArrayOutput) +} + +type GetClusterAuthenticationOptionsOidcConfigOutput struct{ *pulumi.OutputState } + +func (GetClusterAuthenticationOptionsOidcConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterAuthenticationOptionsOidcConfig)(nil)).Elem() +} + +func (o GetClusterAuthenticationOptionsOidcConfigOutput) ToGetClusterAuthenticationOptionsOidcConfigOutput() GetClusterAuthenticationOptionsOidcConfigOutput { + return o +} + +func (o GetClusterAuthenticationOptionsOidcConfigOutput) ToGetClusterAuthenticationOptionsOidcConfigOutputWithContext(ctx context.Context) GetClusterAuthenticationOptionsOidcConfigOutput { + return o +} + +// Creating ClientId of the identity provider. Note: This field may return `null`, indicating that no valid value can be obtained. +func (o GetClusterAuthenticationOptionsOidcConfigOutput) AutoCreateClientIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetClusterAuthenticationOptionsOidcConfig) []string { return v.AutoCreateClientIds }).(pulumi.StringArrayOutput) +} + +// Creating an identity provider. Note: This field may return `null`, indicating that no valid value can be obtained. +func (o GetClusterAuthenticationOptionsOidcConfigOutput) AutoCreateOidcConfig() pulumi.BoolOutput { + return o.ApplyT(func(v GetClusterAuthenticationOptionsOidcConfig) bool { return v.AutoCreateOidcConfig }).(pulumi.BoolOutput) +} + +// Creating the PodIdentityWebhook component. Note: This field may return `null`, indicating that no valid value can be obtained. +func (o GetClusterAuthenticationOptionsOidcConfigOutput) AutoInstallPodIdentityWebhookAddon() pulumi.BoolOutput { + return o.ApplyT(func(v GetClusterAuthenticationOptionsOidcConfig) bool { return v.AutoInstallPodIdentityWebhookAddon }).(pulumi.BoolOutput) +} + +type GetClusterAuthenticationOptionsOidcConfigArrayOutput struct{ *pulumi.OutputState } + +func (GetClusterAuthenticationOptionsOidcConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterAuthenticationOptionsOidcConfig)(nil)).Elem() +} + +func (o GetClusterAuthenticationOptionsOidcConfigArrayOutput) ToGetClusterAuthenticationOptionsOidcConfigArrayOutput() GetClusterAuthenticationOptionsOidcConfigArrayOutput { + return o +} + +func (o GetClusterAuthenticationOptionsOidcConfigArrayOutput) ToGetClusterAuthenticationOptionsOidcConfigArrayOutputWithContext(ctx context.Context) GetClusterAuthenticationOptionsOidcConfigArrayOutput { + return o +} + +func (o GetClusterAuthenticationOptionsOidcConfigArrayOutput) Index(i pulumi.IntInput) GetClusterAuthenticationOptionsOidcConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterAuthenticationOptionsOidcConfig { + return vs[0].([]GetClusterAuthenticationOptionsOidcConfig)[vs[1].(int)] + }).(GetClusterAuthenticationOptionsOidcConfigOutput) +} + +type GetClusterAuthenticationOptionsServiceAccount struct { + // If it is set to `true`, a RABC rule is automatically created to allow anonymous users to access `/.well-known/openid-configuration` and `/openid/v1/jwks`. Note: this field may return `null`, indicating that no valid values can be obtained. + AutoCreateDiscoveryAnonymousAuth bool `pulumi:"autoCreateDiscoveryAnonymousAuth"` + // service-account-issuer. Note: this field may return `null`, indicating that no valid values can be obtained. + Issuer string `pulumi:"issuer"` + // service-account-jwks-uri. Note: this field may return `null`, indicating that no valid values can be obtained. + JwksUri string `pulumi:"jwksUri"` + // Use TKE default issuer and jwksuri. Note: This field may return `null`, indicating that no valid values can be obtained. + UseTkeDefault bool `pulumi:"useTkeDefault"` +} + +// GetClusterAuthenticationOptionsServiceAccountInput is an input type that accepts GetClusterAuthenticationOptionsServiceAccountArgs and GetClusterAuthenticationOptionsServiceAccountOutput values. +// You can construct a concrete instance of `GetClusterAuthenticationOptionsServiceAccountInput` via: +// +// GetClusterAuthenticationOptionsServiceAccountArgs{...} +type GetClusterAuthenticationOptionsServiceAccountInput interface { + pulumi.Input + + ToGetClusterAuthenticationOptionsServiceAccountOutput() GetClusterAuthenticationOptionsServiceAccountOutput + ToGetClusterAuthenticationOptionsServiceAccountOutputWithContext(context.Context) GetClusterAuthenticationOptionsServiceAccountOutput +} + +type GetClusterAuthenticationOptionsServiceAccountArgs struct { + // If it is set to `true`, a RABC rule is automatically created to allow anonymous users to access `/.well-known/openid-configuration` and `/openid/v1/jwks`. Note: this field may return `null`, indicating that no valid values can be obtained. + AutoCreateDiscoveryAnonymousAuth pulumi.BoolInput `pulumi:"autoCreateDiscoveryAnonymousAuth"` + // service-account-issuer. Note: this field may return `null`, indicating that no valid values can be obtained. + Issuer pulumi.StringInput `pulumi:"issuer"` + // service-account-jwks-uri. Note: this field may return `null`, indicating that no valid values can be obtained. + JwksUri pulumi.StringInput `pulumi:"jwksUri"` + // Use TKE default issuer and jwksuri. Note: This field may return `null`, indicating that no valid values can be obtained. + UseTkeDefault pulumi.BoolInput `pulumi:"useTkeDefault"` +} + +func (GetClusterAuthenticationOptionsServiceAccountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterAuthenticationOptionsServiceAccount)(nil)).Elem() +} + +func (i GetClusterAuthenticationOptionsServiceAccountArgs) ToGetClusterAuthenticationOptionsServiceAccountOutput() GetClusterAuthenticationOptionsServiceAccountOutput { + return i.ToGetClusterAuthenticationOptionsServiceAccountOutputWithContext(context.Background()) +} + +func (i GetClusterAuthenticationOptionsServiceAccountArgs) ToGetClusterAuthenticationOptionsServiceAccountOutputWithContext(ctx context.Context) GetClusterAuthenticationOptionsServiceAccountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterAuthenticationOptionsServiceAccountOutput) +} + +// GetClusterAuthenticationOptionsServiceAccountArrayInput is an input type that accepts GetClusterAuthenticationOptionsServiceAccountArray and GetClusterAuthenticationOptionsServiceAccountArrayOutput values. +// You can construct a concrete instance of `GetClusterAuthenticationOptionsServiceAccountArrayInput` via: +// +// GetClusterAuthenticationOptionsServiceAccountArray{ GetClusterAuthenticationOptionsServiceAccountArgs{...} } +type GetClusterAuthenticationOptionsServiceAccountArrayInput interface { + pulumi.Input + + ToGetClusterAuthenticationOptionsServiceAccountArrayOutput() GetClusterAuthenticationOptionsServiceAccountArrayOutput + ToGetClusterAuthenticationOptionsServiceAccountArrayOutputWithContext(context.Context) GetClusterAuthenticationOptionsServiceAccountArrayOutput +} + +type GetClusterAuthenticationOptionsServiceAccountArray []GetClusterAuthenticationOptionsServiceAccountInput + +func (GetClusterAuthenticationOptionsServiceAccountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterAuthenticationOptionsServiceAccount)(nil)).Elem() +} + +func (i GetClusterAuthenticationOptionsServiceAccountArray) ToGetClusterAuthenticationOptionsServiceAccountArrayOutput() GetClusterAuthenticationOptionsServiceAccountArrayOutput { + return i.ToGetClusterAuthenticationOptionsServiceAccountArrayOutputWithContext(context.Background()) +} + +func (i GetClusterAuthenticationOptionsServiceAccountArray) ToGetClusterAuthenticationOptionsServiceAccountArrayOutputWithContext(ctx context.Context) GetClusterAuthenticationOptionsServiceAccountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterAuthenticationOptionsServiceAccountArrayOutput) +} + +type GetClusterAuthenticationOptionsServiceAccountOutput struct{ *pulumi.OutputState } + +func (GetClusterAuthenticationOptionsServiceAccountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterAuthenticationOptionsServiceAccount)(nil)).Elem() +} + +func (o GetClusterAuthenticationOptionsServiceAccountOutput) ToGetClusterAuthenticationOptionsServiceAccountOutput() GetClusterAuthenticationOptionsServiceAccountOutput { + return o +} + +func (o GetClusterAuthenticationOptionsServiceAccountOutput) ToGetClusterAuthenticationOptionsServiceAccountOutputWithContext(ctx context.Context) GetClusterAuthenticationOptionsServiceAccountOutput { + return o +} + +// If it is set to `true`, a RABC rule is automatically created to allow anonymous users to access `/.well-known/openid-configuration` and `/openid/v1/jwks`. Note: this field may return `null`, indicating that no valid values can be obtained. +func (o GetClusterAuthenticationOptionsServiceAccountOutput) AutoCreateDiscoveryAnonymousAuth() pulumi.BoolOutput { + return o.ApplyT(func(v GetClusterAuthenticationOptionsServiceAccount) bool { return v.AutoCreateDiscoveryAnonymousAuth }).(pulumi.BoolOutput) +} + +// service-account-issuer. Note: this field may return `null`, indicating that no valid values can be obtained. +func (o GetClusterAuthenticationOptionsServiceAccountOutput) Issuer() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterAuthenticationOptionsServiceAccount) string { return v.Issuer }).(pulumi.StringOutput) +} + +// service-account-jwks-uri. Note: this field may return `null`, indicating that no valid values can be obtained. +func (o GetClusterAuthenticationOptionsServiceAccountOutput) JwksUri() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterAuthenticationOptionsServiceAccount) string { return v.JwksUri }).(pulumi.StringOutput) +} + +// Use TKE default issuer and jwksuri. Note: This field may return `null`, indicating that no valid values can be obtained. +func (o GetClusterAuthenticationOptionsServiceAccountOutput) UseTkeDefault() pulumi.BoolOutput { + return o.ApplyT(func(v GetClusterAuthenticationOptionsServiceAccount) bool { return v.UseTkeDefault }).(pulumi.BoolOutput) +} + +type GetClusterAuthenticationOptionsServiceAccountArrayOutput struct{ *pulumi.OutputState } + +func (GetClusterAuthenticationOptionsServiceAccountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterAuthenticationOptionsServiceAccount)(nil)).Elem() +} + +func (o GetClusterAuthenticationOptionsServiceAccountArrayOutput) ToGetClusterAuthenticationOptionsServiceAccountArrayOutput() GetClusterAuthenticationOptionsServiceAccountArrayOutput { + return o +} + +func (o GetClusterAuthenticationOptionsServiceAccountArrayOutput) ToGetClusterAuthenticationOptionsServiceAccountArrayOutputWithContext(ctx context.Context) GetClusterAuthenticationOptionsServiceAccountArrayOutput { + return o +} + +func (o GetClusterAuthenticationOptionsServiceAccountArrayOutput) Index(i pulumi.IntInput) GetClusterAuthenticationOptionsServiceAccountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterAuthenticationOptionsServiceAccount { + return vs[0].([]GetClusterAuthenticationOptionsServiceAccount)[vs[1].(int)] + }).(GetClusterAuthenticationOptionsServiceAccountOutput) +} + +type GetClusterCommonNamesList struct { + // The CommonName in the certificate of the client corresponding to the sub-account. + CommonNames string `pulumi:"commonNames"` + // User UIN. + SubaccountUin string `pulumi:"subaccountUin"` +} + +// GetClusterCommonNamesListInput is an input type that accepts GetClusterCommonNamesListArgs and GetClusterCommonNamesListOutput values. +// You can construct a concrete instance of `GetClusterCommonNamesListInput` via: +// +// GetClusterCommonNamesListArgs{...} +type GetClusterCommonNamesListInput interface { + pulumi.Input + + ToGetClusterCommonNamesListOutput() GetClusterCommonNamesListOutput + ToGetClusterCommonNamesListOutputWithContext(context.Context) GetClusterCommonNamesListOutput +} + +type GetClusterCommonNamesListArgs struct { + // The CommonName in the certificate of the client corresponding to the sub-account. + CommonNames pulumi.StringInput `pulumi:"commonNames"` + // User UIN. + SubaccountUin pulumi.StringInput `pulumi:"subaccountUin"` +} + +func (GetClusterCommonNamesListArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterCommonNamesList)(nil)).Elem() +} + +func (i GetClusterCommonNamesListArgs) ToGetClusterCommonNamesListOutput() GetClusterCommonNamesListOutput { + return i.ToGetClusterCommonNamesListOutputWithContext(context.Background()) +} + +func (i GetClusterCommonNamesListArgs) ToGetClusterCommonNamesListOutputWithContext(ctx context.Context) GetClusterCommonNamesListOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterCommonNamesListOutput) +} + +// GetClusterCommonNamesListArrayInput is an input type that accepts GetClusterCommonNamesListArray and GetClusterCommonNamesListArrayOutput values. +// You can construct a concrete instance of `GetClusterCommonNamesListArrayInput` via: +// +// GetClusterCommonNamesListArray{ GetClusterCommonNamesListArgs{...} } +type GetClusterCommonNamesListArrayInput interface { + pulumi.Input + + ToGetClusterCommonNamesListArrayOutput() GetClusterCommonNamesListArrayOutput + ToGetClusterCommonNamesListArrayOutputWithContext(context.Context) GetClusterCommonNamesListArrayOutput +} + +type GetClusterCommonNamesListArray []GetClusterCommonNamesListInput + +func (GetClusterCommonNamesListArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterCommonNamesList)(nil)).Elem() +} + +func (i GetClusterCommonNamesListArray) ToGetClusterCommonNamesListArrayOutput() GetClusterCommonNamesListArrayOutput { + return i.ToGetClusterCommonNamesListArrayOutputWithContext(context.Background()) +} + +func (i GetClusterCommonNamesListArray) ToGetClusterCommonNamesListArrayOutputWithContext(ctx context.Context) GetClusterCommonNamesListArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterCommonNamesListArrayOutput) +} + +type GetClusterCommonNamesListOutput struct{ *pulumi.OutputState } + +func (GetClusterCommonNamesListOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterCommonNamesList)(nil)).Elem() +} + +func (o GetClusterCommonNamesListOutput) ToGetClusterCommonNamesListOutput() GetClusterCommonNamesListOutput { + return o +} + +func (o GetClusterCommonNamesListOutput) ToGetClusterCommonNamesListOutputWithContext(ctx context.Context) GetClusterCommonNamesListOutput { + return o +} + +// The CommonName in the certificate of the client corresponding to the sub-account. +func (o GetClusterCommonNamesListOutput) CommonNames() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterCommonNamesList) string { return v.CommonNames }).(pulumi.StringOutput) +} + +// User UIN. +func (o GetClusterCommonNamesListOutput) SubaccountUin() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterCommonNamesList) string { return v.SubaccountUin }).(pulumi.StringOutput) +} + +type GetClusterCommonNamesListArrayOutput struct{ *pulumi.OutputState } + +func (GetClusterCommonNamesListArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterCommonNamesList)(nil)).Elem() +} + +func (o GetClusterCommonNamesListArrayOutput) ToGetClusterCommonNamesListArrayOutput() GetClusterCommonNamesListArrayOutput { + return o +} + +func (o GetClusterCommonNamesListArrayOutput) ToGetClusterCommonNamesListArrayOutputWithContext(ctx context.Context) GetClusterCommonNamesListArrayOutput { + return o +} + +func (o GetClusterCommonNamesListArrayOutput) Index(i pulumi.IntInput) GetClusterCommonNamesListOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterCommonNamesList { + return vs[0].([]GetClusterCommonNamesList)[vs[1].(int)] + }).(GetClusterCommonNamesListOutput) +} + +type GetClusterInstancesFilter struct { + // The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + Name string `pulumi:"name"` + // Attribute values, if there are multiple values in the same filter, the relationship between values under the same filter is a logical OR relationship. + Values []string `pulumi:"values"` +} + +// GetClusterInstancesFilterInput is an input type that accepts GetClusterInstancesFilterArgs and GetClusterInstancesFilterOutput values. +// You can construct a concrete instance of `GetClusterInstancesFilterInput` via: +// +// GetClusterInstancesFilterArgs{...} +type GetClusterInstancesFilterInput interface { + pulumi.Input + + ToGetClusterInstancesFilterOutput() GetClusterInstancesFilterOutput + ToGetClusterInstancesFilterOutputWithContext(context.Context) GetClusterInstancesFilterOutput +} + +type GetClusterInstancesFilterArgs struct { + // The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + Name pulumi.StringInput `pulumi:"name"` + // Attribute values, if there are multiple values in the same filter, the relationship between values under the same filter is a logical OR relationship. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetClusterInstancesFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterInstancesFilter)(nil)).Elem() +} + +func (i GetClusterInstancesFilterArgs) ToGetClusterInstancesFilterOutput() GetClusterInstancesFilterOutput { + return i.ToGetClusterInstancesFilterOutputWithContext(context.Background()) +} + +func (i GetClusterInstancesFilterArgs) ToGetClusterInstancesFilterOutputWithContext(ctx context.Context) GetClusterInstancesFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesFilterOutput) +} + +// GetClusterInstancesFilterArrayInput is an input type that accepts GetClusterInstancesFilterArray and GetClusterInstancesFilterArrayOutput values. +// You can construct a concrete instance of `GetClusterInstancesFilterArrayInput` via: +// +// GetClusterInstancesFilterArray{ GetClusterInstancesFilterArgs{...} } +type GetClusterInstancesFilterArrayInput interface { + pulumi.Input + + ToGetClusterInstancesFilterArrayOutput() GetClusterInstancesFilterArrayOutput + ToGetClusterInstancesFilterArrayOutputWithContext(context.Context) GetClusterInstancesFilterArrayOutput +} + +type GetClusterInstancesFilterArray []GetClusterInstancesFilterInput + +func (GetClusterInstancesFilterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterInstancesFilter)(nil)).Elem() +} + +func (i GetClusterInstancesFilterArray) ToGetClusterInstancesFilterArrayOutput() GetClusterInstancesFilterArrayOutput { + return i.ToGetClusterInstancesFilterArrayOutputWithContext(context.Background()) +} + +func (i GetClusterInstancesFilterArray) ToGetClusterInstancesFilterArrayOutputWithContext(ctx context.Context) GetClusterInstancesFilterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesFilterArrayOutput) +} + +type GetClusterInstancesFilterOutput struct{ *pulumi.OutputState } + +func (GetClusterInstancesFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterInstancesFilter)(nil)).Elem() +} + +func (o GetClusterInstancesFilterOutput) ToGetClusterInstancesFilterOutput() GetClusterInstancesFilterOutput { + return o +} + +func (o GetClusterInstancesFilterOutput) ToGetClusterInstancesFilterOutputWithContext(ctx context.Context) GetClusterInstancesFilterOutput { + return o +} + +// The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. +func (o GetClusterInstancesFilterOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterInstancesFilter) string { return v.Name }).(pulumi.StringOutput) +} + +// Attribute values, if there are multiple values in the same filter, the relationship between values under the same filter is a logical OR relationship. +func (o GetClusterInstancesFilterOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetClusterInstancesFilter) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetClusterInstancesFilterArrayOutput struct{ *pulumi.OutputState } + +func (GetClusterInstancesFilterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterInstancesFilter)(nil)).Elem() +} + +func (o GetClusterInstancesFilterArrayOutput) ToGetClusterInstancesFilterArrayOutput() GetClusterInstancesFilterArrayOutput { + return o +} + +func (o GetClusterInstancesFilterArrayOutput) ToGetClusterInstancesFilterArrayOutputWithContext(ctx context.Context) GetClusterInstancesFilterArrayOutput { + return o +} + +func (o GetClusterInstancesFilterArrayOutput) Index(i pulumi.IntInput) GetClusterInstancesFilterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterInstancesFilter { + return vs[0].([]GetClusterInstancesFilter)[vs[1].(int)] + }).(GetClusterInstancesFilterOutput) +} + +type GetClusterInstancesInstanceSet struct { + // Auto scaling group ID. + AutoscalingGroupId string `pulumi:"autoscalingGroupId"` + // Add time. + CreatedTime string `pulumi:"createdTime"` + // Whether the instance is blocked. + DrainStatus string `pulumi:"drainStatus"` + // Reasons for instance exception (or being initialized). + FailedReason string `pulumi:"failedReason"` + // Node configuration. + InstanceAdvancedSettings []GetClusterInstancesInstanceSetInstanceAdvancedSetting `pulumi:"instanceAdvancedSettings"` + // Instance ID. + InstanceId string `pulumi:"instanceId"` + // Node role, MASTER, WORKER, ETCD, MASTER_ETCD,ALL, default is WORKER. + InstanceRole string `pulumi:"instanceRole"` + // The status of the instance (running, initializing, failed). + InstanceState string `pulumi:"instanceState"` + // Node intranet IP. + LanIp string `pulumi:"lanIp"` + // Resource pool ID. + NodePoolId string `pulumi:"nodePoolId"` +} + +// GetClusterInstancesInstanceSetInput is an input type that accepts GetClusterInstancesInstanceSetArgs and GetClusterInstancesInstanceSetOutput values. +// You can construct a concrete instance of `GetClusterInstancesInstanceSetInput` via: +// +// GetClusterInstancesInstanceSetArgs{...} +type GetClusterInstancesInstanceSetInput interface { + pulumi.Input + + ToGetClusterInstancesInstanceSetOutput() GetClusterInstancesInstanceSetOutput + ToGetClusterInstancesInstanceSetOutputWithContext(context.Context) GetClusterInstancesInstanceSetOutput +} + +type GetClusterInstancesInstanceSetArgs struct { + // Auto scaling group ID. + AutoscalingGroupId pulumi.StringInput `pulumi:"autoscalingGroupId"` + // Add time. + CreatedTime pulumi.StringInput `pulumi:"createdTime"` + // Whether the instance is blocked. + DrainStatus pulumi.StringInput `pulumi:"drainStatus"` + // Reasons for instance exception (or being initialized). + FailedReason pulumi.StringInput `pulumi:"failedReason"` + // Node configuration. + InstanceAdvancedSettings GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayInput `pulumi:"instanceAdvancedSettings"` + // Instance ID. + InstanceId pulumi.StringInput `pulumi:"instanceId"` + // Node role, MASTER, WORKER, ETCD, MASTER_ETCD,ALL, default is WORKER. + InstanceRole pulumi.StringInput `pulumi:"instanceRole"` + // The status of the instance (running, initializing, failed). + InstanceState pulumi.StringInput `pulumi:"instanceState"` + // Node intranet IP. + LanIp pulumi.StringInput `pulumi:"lanIp"` + // Resource pool ID. + NodePoolId pulumi.StringInput `pulumi:"nodePoolId"` +} + +func (GetClusterInstancesInstanceSetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterInstancesInstanceSet)(nil)).Elem() +} + +func (i GetClusterInstancesInstanceSetArgs) ToGetClusterInstancesInstanceSetOutput() GetClusterInstancesInstanceSetOutput { + return i.ToGetClusterInstancesInstanceSetOutputWithContext(context.Background()) +} + +func (i GetClusterInstancesInstanceSetArgs) ToGetClusterInstancesInstanceSetOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetOutput) +} + +// GetClusterInstancesInstanceSetArrayInput is an input type that accepts GetClusterInstancesInstanceSetArray and GetClusterInstancesInstanceSetArrayOutput values. +// You can construct a concrete instance of `GetClusterInstancesInstanceSetArrayInput` via: +// +// GetClusterInstancesInstanceSetArray{ GetClusterInstancesInstanceSetArgs{...} } +type GetClusterInstancesInstanceSetArrayInput interface { + pulumi.Input + + ToGetClusterInstancesInstanceSetArrayOutput() GetClusterInstancesInstanceSetArrayOutput + ToGetClusterInstancesInstanceSetArrayOutputWithContext(context.Context) GetClusterInstancesInstanceSetArrayOutput +} + +type GetClusterInstancesInstanceSetArray []GetClusterInstancesInstanceSetInput + +func (GetClusterInstancesInstanceSetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterInstancesInstanceSet)(nil)).Elem() +} + +func (i GetClusterInstancesInstanceSetArray) ToGetClusterInstancesInstanceSetArrayOutput() GetClusterInstancesInstanceSetArrayOutput { + return i.ToGetClusterInstancesInstanceSetArrayOutputWithContext(context.Background()) +} + +func (i GetClusterInstancesInstanceSetArray) ToGetClusterInstancesInstanceSetArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetArrayOutput) +} + +type GetClusterInstancesInstanceSetOutput struct{ *pulumi.OutputState } + +func (GetClusterInstancesInstanceSetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterInstancesInstanceSet)(nil)).Elem() +} + +func (o GetClusterInstancesInstanceSetOutput) ToGetClusterInstancesInstanceSetOutput() GetClusterInstancesInstanceSetOutput { + return o +} + +func (o GetClusterInstancesInstanceSetOutput) ToGetClusterInstancesInstanceSetOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetOutput { + return o +} + +// Auto scaling group ID. +func (o GetClusterInstancesInstanceSetOutput) AutoscalingGroupId() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSet) string { return v.AutoscalingGroupId }).(pulumi.StringOutput) +} + +// Add time. +func (o GetClusterInstancesInstanceSetOutput) CreatedTime() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSet) string { return v.CreatedTime }).(pulumi.StringOutput) +} + +// Whether the instance is blocked. +func (o GetClusterInstancesInstanceSetOutput) DrainStatus() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSet) string { return v.DrainStatus }).(pulumi.StringOutput) +} + +// Reasons for instance exception (or being initialized). +func (o GetClusterInstancesInstanceSetOutput) FailedReason() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSet) string { return v.FailedReason }).(pulumi.StringOutput) +} + +// Node configuration. +func (o GetClusterInstancesInstanceSetOutput) InstanceAdvancedSettings() GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSet) []GetClusterInstancesInstanceSetInstanceAdvancedSetting { + return v.InstanceAdvancedSettings + }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutput) +} + +// Instance ID. +func (o GetClusterInstancesInstanceSetOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSet) string { return v.InstanceId }).(pulumi.StringOutput) +} + +// Node role, MASTER, WORKER, ETCD, MASTER_ETCD,ALL, default is WORKER. +func (o GetClusterInstancesInstanceSetOutput) InstanceRole() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSet) string { return v.InstanceRole }).(pulumi.StringOutput) +} + +// The status of the instance (running, initializing, failed). +func (o GetClusterInstancesInstanceSetOutput) InstanceState() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSet) string { return v.InstanceState }).(pulumi.StringOutput) +} + +// Node intranet IP. +func (o GetClusterInstancesInstanceSetOutput) LanIp() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSet) string { return v.LanIp }).(pulumi.StringOutput) +} + +// Resource pool ID. +func (o GetClusterInstancesInstanceSetOutput) NodePoolId() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSet) string { return v.NodePoolId }).(pulumi.StringOutput) +} + +type GetClusterInstancesInstanceSetArrayOutput struct{ *pulumi.OutputState } + +func (GetClusterInstancesInstanceSetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterInstancesInstanceSet)(nil)).Elem() +} + +func (o GetClusterInstancesInstanceSetArrayOutput) ToGetClusterInstancesInstanceSetArrayOutput() GetClusterInstancesInstanceSetArrayOutput { + return o +} + +func (o GetClusterInstancesInstanceSetArrayOutput) ToGetClusterInstancesInstanceSetArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetArrayOutput { + return o +} + +func (o GetClusterInstancesInstanceSetArrayOutput) Index(i pulumi.IntInput) GetClusterInstancesInstanceSetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterInstancesInstanceSet { + return vs[0].([]GetClusterInstancesInstanceSet)[vs[1].(int)] + }).(GetClusterInstancesInstanceSetOutput) +} + +type GetClusterInstancesInstanceSetInstanceAdvancedSetting struct { + // Multi-disk data disk mounting information. + DataDisks []GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDisk `pulumi:"dataDisks"` + // When the node belongs to the podCIDR size customization mode, you can specify the upper limit of the number of pods running on the node. + DesiredPodNumber int `pulumi:"desiredPodNumber"` + // Dockerd --graph specifies the value, the default is /var/lib/docker. + DockerGraphPath string `pulumi:"dockerGraphPath"` + // Node-related custom parameter information. + ExtraArgs []GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArg `pulumi:"extraArgs"` + // GPU driver related parameters, obtain related GPU parameters: https://cloud.tencent.com/document/api/213/15715. + GpuArgs []GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArg `pulumi:"gpuArgs"` + // Node Label array. + Labels []GetClusterInstancesInstanceSetInstanceAdvancedSettingLabel `pulumi:"labels"` + // Data disk mount point, the data disk is not mounted by default. Formatted ext3, ext4, xfs file system data disks will be mounted directly. Other file systems or unformatted data disks will be automatically formatted as ext4 (tlinux system formatted as xfs) and mounted. Please pay attention to backing up the data. This setting does not take effect for cloud hosts that have no data disks or multiple data disks. + MountTarget string `pulumi:"mountTarget"` + // Base64 encoded user script, executed before initializing the node, currently only effective for adding existing nodes. + PreStartUserScript string `pulumi:"preStartUserScript"` + // Node taint. + Taints []GetClusterInstancesInstanceSetInstanceAdvancedSettingTaint `pulumi:"taints"` + // Set whether the added node participates in scheduling. The default value is 0, which means participating in scheduling; non-0 means not participating in scheduling. After the node initialization is completed, you can execute kubectl uncordon nodename to join the node in scheduling. + Unschedulable int `pulumi:"unschedulable"` + // Base64 encoded userscript. + UserScript string `pulumi:"userScript"` +} + +// GetClusterInstancesInstanceSetInstanceAdvancedSettingInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingArgs and GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput values. +// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingInput` via: +// +// GetClusterInstancesInstanceSetInstanceAdvancedSettingArgs{...} +type GetClusterInstancesInstanceSetInstanceAdvancedSettingInput interface { + pulumi.Input + + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput +} + +type GetClusterInstancesInstanceSetInstanceAdvancedSettingArgs struct { + // Multi-disk data disk mounting information. + DataDisks GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayInput `pulumi:"dataDisks"` + // When the node belongs to the podCIDR size customization mode, you can specify the upper limit of the number of pods running on the node. + DesiredPodNumber pulumi.IntInput `pulumi:"desiredPodNumber"` + // Dockerd --graph specifies the value, the default is /var/lib/docker. + DockerGraphPath pulumi.StringInput `pulumi:"dockerGraphPath"` + // Node-related custom parameter information. + ExtraArgs GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayInput `pulumi:"extraArgs"` + // GPU driver related parameters, obtain related GPU parameters: https://cloud.tencent.com/document/api/213/15715. + GpuArgs GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayInput `pulumi:"gpuArgs"` + // Node Label array. + Labels GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayInput `pulumi:"labels"` + // Data disk mount point, the data disk is not mounted by default. Formatted ext3, ext4, xfs file system data disks will be mounted directly. Other file systems or unformatted data disks will be automatically formatted as ext4 (tlinux system formatted as xfs) and mounted. Please pay attention to backing up the data. This setting does not take effect for cloud hosts that have no data disks or multiple data disks. + MountTarget pulumi.StringInput `pulumi:"mountTarget"` + // Base64 encoded user script, executed before initializing the node, currently only effective for adding existing nodes. + PreStartUserScript pulumi.StringInput `pulumi:"preStartUserScript"` + // Node taint. + Taints GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayInput `pulumi:"taints"` + // Set whether the added node participates in scheduling. The default value is 0, which means participating in scheduling; non-0 means not participating in scheduling. After the node initialization is completed, you can execute kubectl uncordon nodename to join the node in scheduling. + Unschedulable pulumi.IntInput `pulumi:"unschedulable"` + // Base64 encoded userscript. + UserScript pulumi.StringInput `pulumi:"userScript"` +} + +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSetting)(nil)).Elem() +} + +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput { + return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingOutputWithContext(context.Background()) +} + +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput) +} + +// GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingArray and GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutput values. +// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayInput` via: +// +// GetClusterInstancesInstanceSetInstanceAdvancedSettingArray{ GetClusterInstancesInstanceSetInstanceAdvancedSettingArgs{...} } +type GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayInput interface { + pulumi.Input + + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutput + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutput +} + +type GetClusterInstancesInstanceSetInstanceAdvancedSettingArray []GetClusterInstancesInstanceSetInstanceAdvancedSettingInput + +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSetting)(nil)).Elem() +} + +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutput { + return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutputWithContext(context.Background()) +} + +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutput) +} + +type GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput struct{ *pulumi.OutputState } + +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSetting)(nil)).Elem() +} + +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput { + return o +} + +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput { + return o +} + +// Multi-disk data disk mounting information. +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput) DataDisks() GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSetting) []GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDisk { + return v.DataDisks + }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutput) +} + +// When the node belongs to the podCIDR size customization mode, you can specify the upper limit of the number of pods running on the node. +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput) DesiredPodNumber() pulumi.IntOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSetting) int { return v.DesiredPodNumber }).(pulumi.IntOutput) +} + +// Dockerd --graph specifies the value, the default is /var/lib/docker. +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput) DockerGraphPath() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSetting) string { return v.DockerGraphPath }).(pulumi.StringOutput) +} + +// Node-related custom parameter information. +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput) ExtraArgs() GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSetting) []GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArg { + return v.ExtraArgs + }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutput) +} + +// GPU driver related parameters, obtain related GPU parameters: https://cloud.tencent.com/document/api/213/15715. +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput) GpuArgs() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSetting) []GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArg { + return v.GpuArgs + }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutput) +} + +// Node Label array. +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput) Labels() GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSetting) []GetClusterInstancesInstanceSetInstanceAdvancedSettingLabel { + return v.Labels + }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutput) +} + +// Data disk mount point, the data disk is not mounted by default. Formatted ext3, ext4, xfs file system data disks will be mounted directly. Other file systems or unformatted data disks will be automatically formatted as ext4 (tlinux system formatted as xfs) and mounted. Please pay attention to backing up the data. This setting does not take effect for cloud hosts that have no data disks or multiple data disks. +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput) MountTarget() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSetting) string { return v.MountTarget }).(pulumi.StringOutput) +} + +// Base64 encoded user script, executed before initializing the node, currently only effective for adding existing nodes. +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput) PreStartUserScript() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSetting) string { return v.PreStartUserScript }).(pulumi.StringOutput) +} + +// Node taint. +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput) Taints() GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSetting) []GetClusterInstancesInstanceSetInstanceAdvancedSettingTaint { + return v.Taints + }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput) +} + +// Set whether the added node participates in scheduling. The default value is 0, which means participating in scheduling; non-0 means not participating in scheduling. After the node initialization is completed, you can execute kubectl uncordon nodename to join the node in scheduling. +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput) Unschedulable() pulumi.IntOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSetting) int { return v.Unschedulable }).(pulumi.IntOutput) +} + +// Base64 encoded userscript. +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput) UserScript() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSetting) string { return v.UserScript }).(pulumi.StringOutput) +} + +type GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutput struct{ *pulumi.OutputState } + +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSetting)(nil)).Elem() +} + +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutput { + return o +} + +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutput { + return o +} + +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutput) Index(i pulumi.IntInput) GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterInstancesInstanceSetInstanceAdvancedSetting { + return vs[0].([]GetClusterInstancesInstanceSetInstanceAdvancedSetting)[vs[1].(int)] + }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput) +} + +type GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDisk struct { + // Whether to automatically format the disk and mount it. + AutoFormatAndMount bool `pulumi:"autoFormatAndMount"` + // Mount device name or partition name, required when and only when adding an existing node. + DiskPartition string `pulumi:"diskPartition"` + // Cloud disk size (G). + DiskSize int `pulumi:"diskSize"` + // Cloud disk type. + DiskType string `pulumi:"diskType"` + // File system (ext3/ext4/xfs). + FileSystem string `pulumi:"fileSystem"` + // Data disk mount point, the data disk is not mounted by default. Formatted ext3, ext4, xfs file system data disks will be mounted directly. Other file systems or unformatted data disks will be automatically formatted as ext4 (tlinux system formatted as xfs) and mounted. Please pay attention to backing up the data. This setting does not take effect for cloud hosts that have no data disks or multiple data disks. + MountTarget string `pulumi:"mountTarget"` +} + +// GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArgs and GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput values. +// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskInput` via: +// +// GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArgs{...} +type GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskInput interface { + pulumi.Input + + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput +} + +type GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArgs struct { + // Whether to automatically format the disk and mount it. + AutoFormatAndMount pulumi.BoolInput `pulumi:"autoFormatAndMount"` + // Mount device name or partition name, required when and only when adding an existing node. + DiskPartition pulumi.StringInput `pulumi:"diskPartition"` + // Cloud disk size (G). + DiskSize pulumi.IntInput `pulumi:"diskSize"` + // Cloud disk type. + DiskType pulumi.StringInput `pulumi:"diskType"` + // File system (ext3/ext4/xfs). + FileSystem pulumi.StringInput `pulumi:"fileSystem"` + // Data disk mount point, the data disk is not mounted by default. Formatted ext3, ext4, xfs file system data disks will be mounted directly. Other file systems or unformatted data disks will be automatically formatted as ext4 (tlinux system formatted as xfs) and mounted. Please pay attention to backing up the data. This setting does not take effect for cloud hosts that have no data disks or multiple data disks. + MountTarget pulumi.StringInput `pulumi:"mountTarget"` +} + +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDisk)(nil)).Elem() +} + +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput { + return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutputWithContext(context.Background()) +} + +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput) +} + +// GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArray and GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutput values. +// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayInput` via: +// +// GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArray{ GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArgs{...} } +type GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayInput interface { + pulumi.Input + + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutput + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutput +} + +type GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArray []GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskInput + +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDisk)(nil)).Elem() +} + +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutput { + return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutputWithContext(context.Background()) +} + +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutput) +} + +type GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput struct{ *pulumi.OutputState } + +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDisk)(nil)).Elem() +} + +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput { + return o +} + +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput { + return o +} + +// Whether to automatically format the disk and mount it. +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput) AutoFormatAndMount() pulumi.BoolOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDisk) bool { + return v.AutoFormatAndMount + }).(pulumi.BoolOutput) +} + +// Mount device name or partition name, required when and only when adding an existing node. +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput) DiskPartition() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDisk) string { return v.DiskPartition }).(pulumi.StringOutput) +} + +// Cloud disk size (G). +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput) DiskSize() pulumi.IntOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDisk) int { return v.DiskSize }).(pulumi.IntOutput) } -// Id of cvm hpc cluster. -func (o ScaleWorkerWorkerConfigPtrOutput) HpcClusterId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *string { - if v == nil { - return nil - } - return v.HpcClusterId - }).(pulumi.StringPtrOutput) +// Cloud disk type. +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput) DiskType() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDisk) string { return v.DiskType }).(pulumi.StringOutput) } -// The valid image id, format of img-xxx. -func (o ScaleWorkerWorkerConfigPtrOutput) ImgId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *string { - if v == nil { - return nil - } - return v.ImgId - }).(pulumi.StringPtrOutput) +// File system (ext3/ext4/xfs). +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput) FileSystem() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDisk) string { return v.FileSystem }).(pulumi.StringOutput) } -// The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. Note: TencentCloud International only supports `POSTPAID_BY_HOUR`, `PREPAID` instance will not terminated after cluster deleted, and may not allow to delete before expired. -func (o ScaleWorkerWorkerConfigPtrOutput) InstanceChargeType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *string { - if v == nil { - return nil - } - return v.InstanceChargeType - }).(pulumi.StringPtrOutput) +// Data disk mount point, the data disk is not mounted by default. Formatted ext3, ext4, xfs file system data disks will be mounted directly. Other file systems or unformatted data disks will be automatically formatted as ext4 (tlinux system formatted as xfs) and mounted. Please pay attention to backing up the data. This setting does not take effect for cloud hosts that have no data disks or multiple data disks. +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput) MountTarget() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDisk) string { return v.MountTarget }).(pulumi.StringOutput) } -// The tenancy (time unit is month) of the prepaid instance. NOTE: it only works when instanceChargeType is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. -func (o ScaleWorkerWorkerConfigPtrOutput) InstanceChargeTypePrepaidPeriod() pulumi.IntPtrOutput { - return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *int { - if v == nil { - return nil - } - return v.InstanceChargeTypePrepaidPeriod - }).(pulumi.IntPtrOutput) +type GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutput struct{ *pulumi.OutputState } + +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDisk)(nil)).Elem() } -// Auto renewal flag. Valid values: `NOTIFY_AND_AUTO_RENEW`: notify upon expiration and renew automatically, `NOTIFY_AND_MANUAL_RENEW`: notify upon expiration but do not renew automatically, `DISABLE_NOTIFY_AND_MANUAL_RENEW`: neither notify upon expiration nor renew automatically. Default value: `NOTIFY_AND_MANUAL_RENEW`. If this parameter is specified as `NOTIFY_AND_AUTO_RENEW`, the instance will be automatically renewed on a monthly basis if the account balance is sufficient. NOTE: it only works when instanceChargeType is set to `PREPAID`. -func (o ScaleWorkerWorkerConfigPtrOutput) InstanceChargeTypePrepaidRenewFlag() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *string { - if v == nil { - return nil - } - return v.InstanceChargeTypePrepaidRenewFlag - }).(pulumi.StringPtrOutput) +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutput { + return o } -// Name of the CVMs. -func (o ScaleWorkerWorkerConfigPtrOutput) InstanceName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *string { - if v == nil { - return nil - } - return v.InstanceName - }).(pulumi.StringPtrOutput) +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutput { + return o } -// Specified types of CVM instance. -func (o ScaleWorkerWorkerConfigPtrOutput) InstanceType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *string { - if v == nil { - return nil - } - return &v.InstanceType - }).(pulumi.StringPtrOutput) +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutput) Index(i pulumi.IntInput) GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDisk { + return vs[0].([]GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDisk)[vs[1].(int)] + }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput) } -// Charge types for network traffic. Available values include `TRAFFIC_POSTPAID_BY_HOUR`. -func (o ScaleWorkerWorkerConfigPtrOutput) InternetChargeType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *string { - if v == nil { - return nil - } - return v.InternetChargeType - }).(pulumi.StringPtrOutput) +type GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArg struct { + // Kubelet custom parameters. + Kubelets []string `pulumi:"kubelets"` +} + +// GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArgs and GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutput values. +// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgInput` via: +// +// GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArgs{...} +type GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgInput interface { + pulumi.Input + + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutput + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutput +} + +type GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArgs struct { + // Kubelet custom parameters. + Kubelets pulumi.StringArrayInput `pulumi:"kubelets"` +} + +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArg)(nil)).Elem() +} + +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutput { + return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutputWithContext(context.Background()) +} + +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutput) +} + +// GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArray and GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutput values. +// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayInput` via: +// +// GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArray{ GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArgs{...} } +type GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayInput interface { + pulumi.Input + + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutput + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutput +} + +type GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArray []GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgInput + +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArg)(nil)).Elem() +} + +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutput { + return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutputWithContext(context.Background()) +} + +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutput) +} + +type GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutput struct{ *pulumi.OutputState } + +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArg)(nil)).Elem() +} + +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutput { + return o +} + +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutput { + return o +} + +// Kubelet custom parameters. +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutput) Kubelets() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArg) []string { return v.Kubelets }).(pulumi.StringArrayOutput) +} + +type GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutput struct{ *pulumi.OutputState } + +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArg)(nil)).Elem() +} + +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutput { + return o +} + +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutput { + return o +} + +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutput) Index(i pulumi.IntInput) GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArg { + return vs[0].([]GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArg)[vs[1].(int)] + }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutput) +} + +type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArg struct { + // CUDA version information. + Cudas []GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCuda `pulumi:"cudas"` + // CuDNN version information. + Cudnns []GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnn `pulumi:"cudnns"` + // Custom GPU driver information. + CustomDrivers []GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriver `pulumi:"customDrivers"` + // GPU driver version information. + Drivers []GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriver `pulumi:"drivers"` + // Whether to enable MIG features. + MigEnable bool `pulumi:"migEnable"` +} + +// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArgs and GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput values. +// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgInput` via: +// +// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArgs{...} +type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgInput interface { + pulumi.Input + + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput +} + +type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArgs struct { + // CUDA version information. + Cudas GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayInput `pulumi:"cudas"` + // CuDNN version information. + Cudnns GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayInput `pulumi:"cudnns"` + // Custom GPU driver information. + CustomDrivers GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayInput `pulumi:"customDrivers"` + // GPU driver version information. + Drivers GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayInput `pulumi:"drivers"` + // Whether to enable MIG features. + MigEnable pulumi.BoolInput `pulumi:"migEnable"` +} + +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArg)(nil)).Elem() +} + +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput { + return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutputWithContext(context.Background()) +} + +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput) +} + +// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArray and GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutput values. +// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayInput` via: +// +// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArray{ GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArgs{...} } +type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayInput interface { + pulumi.Input + + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutput + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutput +} + +type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArray []GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgInput + +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArg)(nil)).Elem() } -// Max bandwidth of Internet access in Mbps. Default is 0. -func (o ScaleWorkerWorkerConfigPtrOutput) InternetMaxBandwidthOut() pulumi.IntPtrOutput { - return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *int { - if v == nil { - return nil - } - return v.InternetMaxBandwidthOut - }).(pulumi.IntPtrOutput) +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutput { + return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutputWithContext(context.Background()) } -// ID list of keys, should be set if `password` not set. -func (o ScaleWorkerWorkerConfigPtrOutput) KeyIds() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *string { - if v == nil { - return nil - } - return v.KeyIds - }).(pulumi.StringPtrOutput) +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutput) } -// Password to access, should be set if `keyIds` not set. -func (o ScaleWorkerWorkerConfigPtrOutput) Password() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *string { - if v == nil { - return nil - } - return v.Password - }).(pulumi.StringPtrOutput) +type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput struct{ *pulumi.OutputState } + +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArg)(nil)).Elem() } -// Specify whether to assign an Internet IP address. -func (o ScaleWorkerWorkerConfigPtrOutput) PublicIpAssigned() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *bool { - if v == nil { - return nil - } - return v.PublicIpAssigned - }).(pulumi.BoolPtrOutput) +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput { + return o } -// Security groups to which a CVM instance belongs. -func (o ScaleWorkerWorkerConfigPtrOutput) SecurityGroupIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v *ScaleWorkerWorkerConfig) []string { - if v == nil { - return nil - } - return v.SecurityGroupIds - }).(pulumi.StringArrayOutput) +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput { + return o } -// Private network ID. -func (o ScaleWorkerWorkerConfigPtrOutput) SubnetId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *string { - if v == nil { - return nil - } - return &v.SubnetId - }).(pulumi.StringPtrOutput) +// CUDA version information. +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput) Cudas() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArg) []GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCuda { + return v.Cudas + }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutput) } -// Volume of system disk in GB. Default is `50`. -func (o ScaleWorkerWorkerConfigPtrOutput) SystemDiskSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *int { - if v == nil { - return nil - } - return v.SystemDiskSize - }).(pulumi.IntPtrOutput) +// CuDNN version information. +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput) Cudnns() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArg) []GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnn { + return v.Cudnns + }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutput) } -// System disk type. For more information on limits of system disk types, see [Storage Overview](https://intl.cloud.tencent.com/document/product/213/4952). Valid values: `LOCAL_BASIC`: local disk, `LOCAL_SSD`: local SSD disk, `CLOUD_SSD`: SSD, `CLOUD_PREMIUM`: Premium Cloud Storage. NOTE: `CLOUD_BASIC`, `LOCAL_BASIC` and `LOCAL_SSD` are deprecated. -func (o ScaleWorkerWorkerConfigPtrOutput) SystemDiskType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *string { - if v == nil { - return nil - } - return v.SystemDiskType - }).(pulumi.StringPtrOutput) +// Custom GPU driver information. +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput) CustomDrivers() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArg) []GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriver { + return v.CustomDrivers + }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutput) } -// User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB. -func (o ScaleWorkerWorkerConfigPtrOutput) UserData() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ScaleWorkerWorkerConfig) *string { - if v == nil { - return nil - } - return v.UserData - }).(pulumi.StringPtrOutput) +// GPU driver version information. +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput) Drivers() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArg) []GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriver { + return v.Drivers + }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutput) } -type ScaleWorkerWorkerConfigDataDisk struct { - // Indicate whether to auto format and mount or not. Default is `false`. - AutoFormatAndMount *bool `pulumi:"autoFormatAndMount"` - // The name of the device or partition to mount. - DiskPartition *string `pulumi:"diskPartition"` - // Volume of disk in GB. Default is `0`. - DiskSize *int `pulumi:"diskSize"` - // Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD` and `CLOUD_HSSD` and `CLOUD_TSSD`. - DiskType *string `pulumi:"diskType"` - // Indicates whether to encrypt data disk, default `false`. - Encrypt *bool `pulumi:"encrypt"` - // File system, e.g. `ext3/ext4/xfs`. - FileSystem *string `pulumi:"fileSystem"` - // ID of the custom CMK in the format of UUID or `kms-abcd1234`. This parameter is used to encrypt cloud disks. - KmsKeyId *string `pulumi:"kmsKeyId"` - // Mount target. - MountTarget *string `pulumi:"mountTarget"` - // Data disk snapshot ID. - SnapshotId *string `pulumi:"snapshotId"` +// Whether to enable MIG features. +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput) MigEnable() pulumi.BoolOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArg) bool { return v.MigEnable }).(pulumi.BoolOutput) } -// ScaleWorkerWorkerConfigDataDiskInput is an input type that accepts ScaleWorkerWorkerConfigDataDiskArgs and ScaleWorkerWorkerConfigDataDiskOutput values. -// You can construct a concrete instance of `ScaleWorkerWorkerConfigDataDiskInput` via: -// -// ScaleWorkerWorkerConfigDataDiskArgs{...} -type ScaleWorkerWorkerConfigDataDiskInput interface { - pulumi.Input +type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutput struct{ *pulumi.OutputState } - ToScaleWorkerWorkerConfigDataDiskOutput() ScaleWorkerWorkerConfigDataDiskOutput - ToScaleWorkerWorkerConfigDataDiskOutputWithContext(context.Context) ScaleWorkerWorkerConfigDataDiskOutput +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArg)(nil)).Elem() } -type ScaleWorkerWorkerConfigDataDiskArgs struct { - // Indicate whether to auto format and mount or not. Default is `false`. - AutoFormatAndMount pulumi.BoolPtrInput `pulumi:"autoFormatAndMount"` - // The name of the device or partition to mount. - DiskPartition pulumi.StringPtrInput `pulumi:"diskPartition"` - // Volume of disk in GB. Default is `0`. - DiskSize pulumi.IntPtrInput `pulumi:"diskSize"` - // Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD` and `CLOUD_HSSD` and `CLOUD_TSSD`. - DiskType pulumi.StringPtrInput `pulumi:"diskType"` - // Indicates whether to encrypt data disk, default `false`. - Encrypt pulumi.BoolPtrInput `pulumi:"encrypt"` - // File system, e.g. `ext3/ext4/xfs`. - FileSystem pulumi.StringPtrInput `pulumi:"fileSystem"` - // ID of the custom CMK in the format of UUID or `kms-abcd1234`. This parameter is used to encrypt cloud disks. - KmsKeyId pulumi.StringPtrInput `pulumi:"kmsKeyId"` - // Mount target. - MountTarget pulumi.StringPtrInput `pulumi:"mountTarget"` - // Data disk snapshot ID. - SnapshotId pulumi.StringPtrInput `pulumi:"snapshotId"` +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutput { + return o } -func (ScaleWorkerWorkerConfigDataDiskArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ScaleWorkerWorkerConfigDataDisk)(nil)).Elem() +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutput { + return o } -func (i ScaleWorkerWorkerConfigDataDiskArgs) ToScaleWorkerWorkerConfigDataDiskOutput() ScaleWorkerWorkerConfigDataDiskOutput { - return i.ToScaleWorkerWorkerConfigDataDiskOutputWithContext(context.Background()) +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutput) Index(i pulumi.IntInput) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArg { + return vs[0].([]GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArg)[vs[1].(int)] + }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput) } -func (i ScaleWorkerWorkerConfigDataDiskArgs) ToScaleWorkerWorkerConfigDataDiskOutputWithContext(ctx context.Context) ScaleWorkerWorkerConfigDataDiskOutput { - return pulumi.ToOutputWithContext(ctx, i).(ScaleWorkerWorkerConfigDataDiskOutput) +type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCuda struct { + // The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + Name string `pulumi:"name"` + // GPU driver or CUDA version. + Version string `pulumi:"version"` } -// ScaleWorkerWorkerConfigDataDiskArrayInput is an input type that accepts ScaleWorkerWorkerConfigDataDiskArray and ScaleWorkerWorkerConfigDataDiskArrayOutput values. -// You can construct a concrete instance of `ScaleWorkerWorkerConfigDataDiskArrayInput` via: +// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArgs and GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput values. +// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaInput` via: // -// ScaleWorkerWorkerConfigDataDiskArray{ ScaleWorkerWorkerConfigDataDiskArgs{...} } -type ScaleWorkerWorkerConfigDataDiskArrayInput interface { +// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArgs{...} +type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaInput interface { pulumi.Input - ToScaleWorkerWorkerConfigDataDiskArrayOutput() ScaleWorkerWorkerConfigDataDiskArrayOutput - ToScaleWorkerWorkerConfigDataDiskArrayOutputWithContext(context.Context) ScaleWorkerWorkerConfigDataDiskArrayOutput + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput } -type ScaleWorkerWorkerConfigDataDiskArray []ScaleWorkerWorkerConfigDataDiskInput - -func (ScaleWorkerWorkerConfigDataDiskArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ScaleWorkerWorkerConfigDataDisk)(nil)).Elem() +type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArgs struct { + // The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + Name pulumi.StringInput `pulumi:"name"` + // GPU driver or CUDA version. + Version pulumi.StringInput `pulumi:"version"` } -func (i ScaleWorkerWorkerConfigDataDiskArray) ToScaleWorkerWorkerConfigDataDiskArrayOutput() ScaleWorkerWorkerConfigDataDiskArrayOutput { - return i.ToScaleWorkerWorkerConfigDataDiskArrayOutputWithContext(context.Background()) +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCuda)(nil)).Elem() } -func (i ScaleWorkerWorkerConfigDataDiskArray) ToScaleWorkerWorkerConfigDataDiskArrayOutputWithContext(ctx context.Context) ScaleWorkerWorkerConfigDataDiskArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ScaleWorkerWorkerConfigDataDiskArrayOutput) +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput { + return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutputWithContext(context.Background()) } -type ScaleWorkerWorkerConfigDataDiskOutput struct{ *pulumi.OutputState } - -func (ScaleWorkerWorkerConfigDataDiskOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ScaleWorkerWorkerConfigDataDisk)(nil)).Elem() +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput) } -func (o ScaleWorkerWorkerConfigDataDiskOutput) ToScaleWorkerWorkerConfigDataDiskOutput() ScaleWorkerWorkerConfigDataDiskOutput { - return o -} +// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArray and GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutput values. +// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayInput` via: +// +// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArray{ GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArgs{...} } +type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayInput interface { + pulumi.Input -func (o ScaleWorkerWorkerConfigDataDiskOutput) ToScaleWorkerWorkerConfigDataDiskOutputWithContext(ctx context.Context) ScaleWorkerWorkerConfigDataDiskOutput { - return o + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutput + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutput } -// Indicate whether to auto format and mount or not. Default is `false`. -func (o ScaleWorkerWorkerConfigDataDiskOutput) AutoFormatAndMount() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerConfigDataDisk) *bool { return v.AutoFormatAndMount }).(pulumi.BoolPtrOutput) -} +type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArray []GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaInput -// The name of the device or partition to mount. -func (o ScaleWorkerWorkerConfigDataDiskOutput) DiskPartition() pulumi.StringPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerConfigDataDisk) *string { return v.DiskPartition }).(pulumi.StringPtrOutput) +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCuda)(nil)).Elem() } -// Volume of disk in GB. Default is `0`. -func (o ScaleWorkerWorkerConfigDataDiskOutput) DiskSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerConfigDataDisk) *int { return v.DiskSize }).(pulumi.IntPtrOutput) +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutput { + return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutputWithContext(context.Background()) } -// Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD` and `CLOUD_HSSD` and `CLOUD_TSSD`. -func (o ScaleWorkerWorkerConfigDataDiskOutput) DiskType() pulumi.StringPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerConfigDataDisk) *string { return v.DiskType }).(pulumi.StringPtrOutput) +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutput) } -// Indicates whether to encrypt data disk, default `false`. -func (o ScaleWorkerWorkerConfigDataDiskOutput) Encrypt() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerConfigDataDisk) *bool { return v.Encrypt }).(pulumi.BoolPtrOutput) +type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput struct{ *pulumi.OutputState } + +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCuda)(nil)).Elem() } -// File system, e.g. `ext3/ext4/xfs`. -func (o ScaleWorkerWorkerConfigDataDiskOutput) FileSystem() pulumi.StringPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerConfigDataDisk) *string { return v.FileSystem }).(pulumi.StringPtrOutput) +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput { + return o } -// ID of the custom CMK in the format of UUID or `kms-abcd1234`. This parameter is used to encrypt cloud disks. -func (o ScaleWorkerWorkerConfigDataDiskOutput) KmsKeyId() pulumi.StringPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerConfigDataDisk) *string { return v.KmsKeyId }).(pulumi.StringPtrOutput) +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput { + return o } -// Mount target. -func (o ScaleWorkerWorkerConfigDataDiskOutput) MountTarget() pulumi.StringPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerConfigDataDisk) *string { return v.MountTarget }).(pulumi.StringPtrOutput) +// The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCuda) string { return v.Name }).(pulumi.StringOutput) } -// Data disk snapshot ID. -func (o ScaleWorkerWorkerConfigDataDiskOutput) SnapshotId() pulumi.StringPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerConfigDataDisk) *string { return v.SnapshotId }).(pulumi.StringPtrOutput) +// GPU driver or CUDA version. +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCuda) string { return v.Version }).(pulumi.StringOutput) } -type ScaleWorkerWorkerConfigDataDiskArrayOutput struct{ *pulumi.OutputState } +type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutput struct{ *pulumi.OutputState } -func (ScaleWorkerWorkerConfigDataDiskArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ScaleWorkerWorkerConfigDataDisk)(nil)).Elem() +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCuda)(nil)).Elem() } -func (o ScaleWorkerWorkerConfigDataDiskArrayOutput) ToScaleWorkerWorkerConfigDataDiskArrayOutput() ScaleWorkerWorkerConfigDataDiskArrayOutput { +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutput { return o } -func (o ScaleWorkerWorkerConfigDataDiskArrayOutput) ToScaleWorkerWorkerConfigDataDiskArrayOutputWithContext(ctx context.Context) ScaleWorkerWorkerConfigDataDiskArrayOutput { +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutput { return o } -func (o ScaleWorkerWorkerConfigDataDiskArrayOutput) Index(i pulumi.IntInput) ScaleWorkerWorkerConfigDataDiskOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ScaleWorkerWorkerConfigDataDisk { - return vs[0].([]ScaleWorkerWorkerConfigDataDisk)[vs[1].(int)] - }).(ScaleWorkerWorkerConfigDataDiskOutput) +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutput) Index(i pulumi.IntInput) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCuda { + return vs[0].([]GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCuda)[vs[1].(int)] + }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput) } -type ScaleWorkerWorkerInstancesList struct { - // Information of the cvm when it is failed. - FailedReason *string `pulumi:"failedReason"` - // ID of the cvm. - InstanceId *string `pulumi:"instanceId"` - // Role of the cvm. - InstanceRole *string `pulumi:"instanceRole"` - // State of the cvm. - InstanceState *string `pulumi:"instanceState"` - // LAN IP of the cvm. - LanIp *string `pulumi:"lanIp"` +type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnn struct { + // Dev name of cuDNN. + DevName string `pulumi:"devName"` + // Doc name of cuDNN. + DocName string `pulumi:"docName"` + // The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + Name string `pulumi:"name"` + // GPU driver or CUDA version. + Version string `pulumi:"version"` } -// ScaleWorkerWorkerInstancesListInput is an input type that accepts ScaleWorkerWorkerInstancesListArgs and ScaleWorkerWorkerInstancesListOutput values. -// You can construct a concrete instance of `ScaleWorkerWorkerInstancesListInput` via: +// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArgs and GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput values. +// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnInput` via: // -// ScaleWorkerWorkerInstancesListArgs{...} -type ScaleWorkerWorkerInstancesListInput interface { +// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArgs{...} +type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnInput interface { pulumi.Input - ToScaleWorkerWorkerInstancesListOutput() ScaleWorkerWorkerInstancesListOutput - ToScaleWorkerWorkerInstancesListOutputWithContext(context.Context) ScaleWorkerWorkerInstancesListOutput + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput } -type ScaleWorkerWorkerInstancesListArgs struct { - // Information of the cvm when it is failed. - FailedReason pulumi.StringPtrInput `pulumi:"failedReason"` - // ID of the cvm. - InstanceId pulumi.StringPtrInput `pulumi:"instanceId"` - // Role of the cvm. - InstanceRole pulumi.StringPtrInput `pulumi:"instanceRole"` - // State of the cvm. - InstanceState pulumi.StringPtrInput `pulumi:"instanceState"` - // LAN IP of the cvm. - LanIp pulumi.StringPtrInput `pulumi:"lanIp"` +type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArgs struct { + // Dev name of cuDNN. + DevName pulumi.StringInput `pulumi:"devName"` + // Doc name of cuDNN. + DocName pulumi.StringInput `pulumi:"docName"` + // The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + Name pulumi.StringInput `pulumi:"name"` + // GPU driver or CUDA version. + Version pulumi.StringInput `pulumi:"version"` } -func (ScaleWorkerWorkerInstancesListArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ScaleWorkerWorkerInstancesList)(nil)).Elem() +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnn)(nil)).Elem() } -func (i ScaleWorkerWorkerInstancesListArgs) ToScaleWorkerWorkerInstancesListOutput() ScaleWorkerWorkerInstancesListOutput { - return i.ToScaleWorkerWorkerInstancesListOutputWithContext(context.Background()) +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput { + return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutputWithContext(context.Background()) } -func (i ScaleWorkerWorkerInstancesListArgs) ToScaleWorkerWorkerInstancesListOutputWithContext(ctx context.Context) ScaleWorkerWorkerInstancesListOutput { - return pulumi.ToOutputWithContext(ctx, i).(ScaleWorkerWorkerInstancesListOutput) +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput) } -// ScaleWorkerWorkerInstancesListArrayInput is an input type that accepts ScaleWorkerWorkerInstancesListArray and ScaleWorkerWorkerInstancesListArrayOutput values. -// You can construct a concrete instance of `ScaleWorkerWorkerInstancesListArrayInput` via: +// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArray and GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutput values. +// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayInput` via: // -// ScaleWorkerWorkerInstancesListArray{ ScaleWorkerWorkerInstancesListArgs{...} } -type ScaleWorkerWorkerInstancesListArrayInput interface { +// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArray{ GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArgs{...} } +type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayInput interface { pulumi.Input - ToScaleWorkerWorkerInstancesListArrayOutput() ScaleWorkerWorkerInstancesListArrayOutput - ToScaleWorkerWorkerInstancesListArrayOutputWithContext(context.Context) ScaleWorkerWorkerInstancesListArrayOutput + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutput + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutput } -type ScaleWorkerWorkerInstancesListArray []ScaleWorkerWorkerInstancesListInput +type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArray []GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnInput -func (ScaleWorkerWorkerInstancesListArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ScaleWorkerWorkerInstancesList)(nil)).Elem() +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnn)(nil)).Elem() } -func (i ScaleWorkerWorkerInstancesListArray) ToScaleWorkerWorkerInstancesListArrayOutput() ScaleWorkerWorkerInstancesListArrayOutput { - return i.ToScaleWorkerWorkerInstancesListArrayOutputWithContext(context.Background()) +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutput { + return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutputWithContext(context.Background()) } -func (i ScaleWorkerWorkerInstancesListArray) ToScaleWorkerWorkerInstancesListArrayOutputWithContext(ctx context.Context) ScaleWorkerWorkerInstancesListArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ScaleWorkerWorkerInstancesListArrayOutput) +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutput) } -type ScaleWorkerWorkerInstancesListOutput struct{ *pulumi.OutputState } +type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput struct{ *pulumi.OutputState } -func (ScaleWorkerWorkerInstancesListOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ScaleWorkerWorkerInstancesList)(nil)).Elem() +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnn)(nil)).Elem() } -func (o ScaleWorkerWorkerInstancesListOutput) ToScaleWorkerWorkerInstancesListOutput() ScaleWorkerWorkerInstancesListOutput { +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput { return o } -func (o ScaleWorkerWorkerInstancesListOutput) ToScaleWorkerWorkerInstancesListOutputWithContext(ctx context.Context) ScaleWorkerWorkerInstancesListOutput { +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput { return o } -// Information of the cvm when it is failed. -func (o ScaleWorkerWorkerInstancesListOutput) FailedReason() pulumi.StringPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerInstancesList) *string { return v.FailedReason }).(pulumi.StringPtrOutput) -} - -// ID of the cvm. -func (o ScaleWorkerWorkerInstancesListOutput) InstanceId() pulumi.StringPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerInstancesList) *string { return v.InstanceId }).(pulumi.StringPtrOutput) +// Dev name of cuDNN. +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput) DevName() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnn) string { return v.DevName }).(pulumi.StringOutput) } -// Role of the cvm. -func (o ScaleWorkerWorkerInstancesListOutput) InstanceRole() pulumi.StringPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerInstancesList) *string { return v.InstanceRole }).(pulumi.StringPtrOutput) +// Doc name of cuDNN. +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput) DocName() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnn) string { return v.DocName }).(pulumi.StringOutput) } -// State of the cvm. -func (o ScaleWorkerWorkerInstancesListOutput) InstanceState() pulumi.StringPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerInstancesList) *string { return v.InstanceState }).(pulumi.StringPtrOutput) +// The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnn) string { return v.Name }).(pulumi.StringOutput) } -// LAN IP of the cvm. -func (o ScaleWorkerWorkerInstancesListOutput) LanIp() pulumi.StringPtrOutput { - return o.ApplyT(func(v ScaleWorkerWorkerInstancesList) *string { return v.LanIp }).(pulumi.StringPtrOutput) +// GPU driver or CUDA version. +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnn) string { return v.Version }).(pulumi.StringOutput) } -type ScaleWorkerWorkerInstancesListArrayOutput struct{ *pulumi.OutputState } +type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutput struct{ *pulumi.OutputState } -func (ScaleWorkerWorkerInstancesListArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ScaleWorkerWorkerInstancesList)(nil)).Elem() +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnn)(nil)).Elem() } -func (o ScaleWorkerWorkerInstancesListArrayOutput) ToScaleWorkerWorkerInstancesListArrayOutput() ScaleWorkerWorkerInstancesListArrayOutput { +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutput { return o } -func (o ScaleWorkerWorkerInstancesListArrayOutput) ToScaleWorkerWorkerInstancesListArrayOutputWithContext(ctx context.Context) ScaleWorkerWorkerInstancesListArrayOutput { +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutput { return o } -func (o ScaleWorkerWorkerInstancesListArrayOutput) Index(i pulumi.IntInput) ScaleWorkerWorkerInstancesListOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ScaleWorkerWorkerInstancesList { - return vs[0].([]ScaleWorkerWorkerInstancesList)[vs[1].(int)] - }).(ScaleWorkerWorkerInstancesListOutput) +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutput) Index(i pulumi.IntInput) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnn { + return vs[0].([]GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnn)[vs[1].(int)] + }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput) } -type ServerlessNodePoolServerlessNode struct { - // display name of serverless node. - DisplayName *string `pulumi:"displayName"` - // subnet id of serverless node. - SubnetId string `pulumi:"subnetId"` +type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriver struct { + // Custom GPU driver address link. + Address string `pulumi:"address"` } -// ServerlessNodePoolServerlessNodeInput is an input type that accepts ServerlessNodePoolServerlessNodeArgs and ServerlessNodePoolServerlessNodeOutput values. -// You can construct a concrete instance of `ServerlessNodePoolServerlessNodeInput` via: +// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArgs and GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutput values. +// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverInput` via: // -// ServerlessNodePoolServerlessNodeArgs{...} -type ServerlessNodePoolServerlessNodeInput interface { +// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArgs{...} +type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverInput interface { pulumi.Input - ToServerlessNodePoolServerlessNodeOutput() ServerlessNodePoolServerlessNodeOutput - ToServerlessNodePoolServerlessNodeOutputWithContext(context.Context) ServerlessNodePoolServerlessNodeOutput + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutput + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutput } -type ServerlessNodePoolServerlessNodeArgs struct { - // display name of serverless node. - DisplayName pulumi.StringPtrInput `pulumi:"displayName"` - // subnet id of serverless node. - SubnetId pulumi.StringInput `pulumi:"subnetId"` +type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArgs struct { + // Custom GPU driver address link. + Address pulumi.StringInput `pulumi:"address"` } -func (ServerlessNodePoolServerlessNodeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ServerlessNodePoolServerlessNode)(nil)).Elem() +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriver)(nil)).Elem() } -func (i ServerlessNodePoolServerlessNodeArgs) ToServerlessNodePoolServerlessNodeOutput() ServerlessNodePoolServerlessNodeOutput { - return i.ToServerlessNodePoolServerlessNodeOutputWithContext(context.Background()) +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutput { + return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutputWithContext(context.Background()) } -func (i ServerlessNodePoolServerlessNodeArgs) ToServerlessNodePoolServerlessNodeOutputWithContext(ctx context.Context) ServerlessNodePoolServerlessNodeOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServerlessNodePoolServerlessNodeOutput) +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutput) } -// ServerlessNodePoolServerlessNodeArrayInput is an input type that accepts ServerlessNodePoolServerlessNodeArray and ServerlessNodePoolServerlessNodeArrayOutput values. -// You can construct a concrete instance of `ServerlessNodePoolServerlessNodeArrayInput` via: +// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArray and GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutput values. +// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayInput` via: // -// ServerlessNodePoolServerlessNodeArray{ ServerlessNodePoolServerlessNodeArgs{...} } -type ServerlessNodePoolServerlessNodeArrayInput interface { +// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArray{ GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArgs{...} } +type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayInput interface { pulumi.Input - ToServerlessNodePoolServerlessNodeArrayOutput() ServerlessNodePoolServerlessNodeArrayOutput - ToServerlessNodePoolServerlessNodeArrayOutputWithContext(context.Context) ServerlessNodePoolServerlessNodeArrayOutput + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutput + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutput } -type ServerlessNodePoolServerlessNodeArray []ServerlessNodePoolServerlessNodeInput - -func (ServerlessNodePoolServerlessNodeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ServerlessNodePoolServerlessNode)(nil)).Elem() -} +type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArray []GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverInput -func (i ServerlessNodePoolServerlessNodeArray) ToServerlessNodePoolServerlessNodeArrayOutput() ServerlessNodePoolServerlessNodeArrayOutput { - return i.ToServerlessNodePoolServerlessNodeArrayOutputWithContext(context.Background()) +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriver)(nil)).Elem() } -func (i ServerlessNodePoolServerlessNodeArray) ToServerlessNodePoolServerlessNodeArrayOutputWithContext(ctx context.Context) ServerlessNodePoolServerlessNodeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServerlessNodePoolServerlessNodeArrayOutput) +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutput { + return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutputWithContext(context.Background()) } -type ServerlessNodePoolServerlessNodeOutput struct{ *pulumi.OutputState } - -func (ServerlessNodePoolServerlessNodeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ServerlessNodePoolServerlessNode)(nil)).Elem() +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutput) } -func (o ServerlessNodePoolServerlessNodeOutput) ToServerlessNodePoolServerlessNodeOutput() ServerlessNodePoolServerlessNodeOutput { - return o +type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutput struct{ *pulumi.OutputState } + +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriver)(nil)).Elem() } -func (o ServerlessNodePoolServerlessNodeOutput) ToServerlessNodePoolServerlessNodeOutputWithContext(ctx context.Context) ServerlessNodePoolServerlessNodeOutput { +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutput { return o } -// display name of serverless node. -func (o ServerlessNodePoolServerlessNodeOutput) DisplayName() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServerlessNodePoolServerlessNode) *string { return v.DisplayName }).(pulumi.StringPtrOutput) +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutput { + return o } -// subnet id of serverless node. -func (o ServerlessNodePoolServerlessNodeOutput) SubnetId() pulumi.StringOutput { - return o.ApplyT(func(v ServerlessNodePoolServerlessNode) string { return v.SubnetId }).(pulumi.StringOutput) +// Custom GPU driver address link. +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriver) string { + return v.Address + }).(pulumi.StringOutput) } -type ServerlessNodePoolServerlessNodeArrayOutput struct{ *pulumi.OutputState } +type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutput struct{ *pulumi.OutputState } -func (ServerlessNodePoolServerlessNodeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ServerlessNodePoolServerlessNode)(nil)).Elem() +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriver)(nil)).Elem() } -func (o ServerlessNodePoolServerlessNodeArrayOutput) ToServerlessNodePoolServerlessNodeArrayOutput() ServerlessNodePoolServerlessNodeArrayOutput { +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutput { return o } -func (o ServerlessNodePoolServerlessNodeArrayOutput) ToServerlessNodePoolServerlessNodeArrayOutputWithContext(ctx context.Context) ServerlessNodePoolServerlessNodeArrayOutput { +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutput { return o } -func (o ServerlessNodePoolServerlessNodeArrayOutput) Index(i pulumi.IntInput) ServerlessNodePoolServerlessNodeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ServerlessNodePoolServerlessNode { - return vs[0].([]ServerlessNodePoolServerlessNode)[vs[1].(int)] - }).(ServerlessNodePoolServerlessNodeOutput) +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutput) Index(i pulumi.IntInput) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriver { + return vs[0].([]GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriver)[vs[1].(int)] + }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutput) } -type ServerlessNodePoolTaint struct { - // Effect of the taint. Valid values are: `NoSchedule`, `PreferNoSchedule`, `NoExecute`. - Effect string `pulumi:"effect"` - // Key of the taint. The taint key name does not exceed 63 characters, only supports English, numbers,'/','-', and does not allow beginning with ('/'). - Key string `pulumi:"key"` - // Value of the taint. - Value string `pulumi:"value"` +type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriver struct { + // The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + Name string `pulumi:"name"` + // GPU driver or CUDA version. + Version string `pulumi:"version"` } -// ServerlessNodePoolTaintInput is an input type that accepts ServerlessNodePoolTaintArgs and ServerlessNodePoolTaintOutput values. -// You can construct a concrete instance of `ServerlessNodePoolTaintInput` via: +// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArgs and GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput values. +// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverInput` via: // -// ServerlessNodePoolTaintArgs{...} -type ServerlessNodePoolTaintInput interface { +// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArgs{...} +type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverInput interface { pulumi.Input - ToServerlessNodePoolTaintOutput() ServerlessNodePoolTaintOutput - ToServerlessNodePoolTaintOutputWithContext(context.Context) ServerlessNodePoolTaintOutput + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput } -type ServerlessNodePoolTaintArgs struct { - // Effect of the taint. Valid values are: `NoSchedule`, `PreferNoSchedule`, `NoExecute`. - Effect pulumi.StringInput `pulumi:"effect"` - // Key of the taint. The taint key name does not exceed 63 characters, only supports English, numbers,'/','-', and does not allow beginning with ('/'). - Key pulumi.StringInput `pulumi:"key"` - // Value of the taint. - Value pulumi.StringInput `pulumi:"value"` +type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArgs struct { + // The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + Name pulumi.StringInput `pulumi:"name"` + // GPU driver or CUDA version. + Version pulumi.StringInput `pulumi:"version"` } -func (ServerlessNodePoolTaintArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ServerlessNodePoolTaint)(nil)).Elem() +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriver)(nil)).Elem() } -func (i ServerlessNodePoolTaintArgs) ToServerlessNodePoolTaintOutput() ServerlessNodePoolTaintOutput { - return i.ToServerlessNodePoolTaintOutputWithContext(context.Background()) +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput { + return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutputWithContext(context.Background()) } -func (i ServerlessNodePoolTaintArgs) ToServerlessNodePoolTaintOutputWithContext(ctx context.Context) ServerlessNodePoolTaintOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServerlessNodePoolTaintOutput) +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput) } -// ServerlessNodePoolTaintArrayInput is an input type that accepts ServerlessNodePoolTaintArray and ServerlessNodePoolTaintArrayOutput values. -// You can construct a concrete instance of `ServerlessNodePoolTaintArrayInput` via: +// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArray and GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutput values. +// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayInput` via: // -// ServerlessNodePoolTaintArray{ ServerlessNodePoolTaintArgs{...} } -type ServerlessNodePoolTaintArrayInput interface { +// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArray{ GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArgs{...} } +type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayInput interface { pulumi.Input - ToServerlessNodePoolTaintArrayOutput() ServerlessNodePoolTaintArrayOutput - ToServerlessNodePoolTaintArrayOutputWithContext(context.Context) ServerlessNodePoolTaintArrayOutput + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutput + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutput } -type ServerlessNodePoolTaintArray []ServerlessNodePoolTaintInput +type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArray []GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverInput -func (ServerlessNodePoolTaintArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ServerlessNodePoolTaint)(nil)).Elem() +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriver)(nil)).Elem() } -func (i ServerlessNodePoolTaintArray) ToServerlessNodePoolTaintArrayOutput() ServerlessNodePoolTaintArrayOutput { - return i.ToServerlessNodePoolTaintArrayOutputWithContext(context.Background()) +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutput { + return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutputWithContext(context.Background()) } -func (i ServerlessNodePoolTaintArray) ToServerlessNodePoolTaintArrayOutputWithContext(ctx context.Context) ServerlessNodePoolTaintArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServerlessNodePoolTaintArrayOutput) +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutput) } -type ServerlessNodePoolTaintOutput struct{ *pulumi.OutputState } +type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput struct{ *pulumi.OutputState } -func (ServerlessNodePoolTaintOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ServerlessNodePoolTaint)(nil)).Elem() +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriver)(nil)).Elem() } -func (o ServerlessNodePoolTaintOutput) ToServerlessNodePoolTaintOutput() ServerlessNodePoolTaintOutput { +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput { return o } -func (o ServerlessNodePoolTaintOutput) ToServerlessNodePoolTaintOutputWithContext(ctx context.Context) ServerlessNodePoolTaintOutput { +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput { return o } -// Effect of the taint. Valid values are: `NoSchedule`, `PreferNoSchedule`, `NoExecute`. -func (o ServerlessNodePoolTaintOutput) Effect() pulumi.StringOutput { - return o.ApplyT(func(v ServerlessNodePoolTaint) string { return v.Effect }).(pulumi.StringOutput) -} - -// Key of the taint. The taint key name does not exceed 63 characters, only supports English, numbers,'/','-', and does not allow beginning with ('/'). -func (o ServerlessNodePoolTaintOutput) Key() pulumi.StringOutput { - return o.ApplyT(func(v ServerlessNodePoolTaint) string { return v.Key }).(pulumi.StringOutput) +// The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriver) string { return v.Name }).(pulumi.StringOutput) } -// Value of the taint. -func (o ServerlessNodePoolTaintOutput) Value() pulumi.StringOutput { - return o.ApplyT(func(v ServerlessNodePoolTaint) string { return v.Value }).(pulumi.StringOutput) +// GPU driver or CUDA version. +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriver) string { return v.Version }).(pulumi.StringOutput) } -type ServerlessNodePoolTaintArrayOutput struct{ *pulumi.OutputState } +type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutput struct{ *pulumi.OutputState } -func (ServerlessNodePoolTaintArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ServerlessNodePoolTaint)(nil)).Elem() +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriver)(nil)).Elem() } -func (o ServerlessNodePoolTaintArrayOutput) ToServerlessNodePoolTaintArrayOutput() ServerlessNodePoolTaintArrayOutput { +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutput { return o } -func (o ServerlessNodePoolTaintArrayOutput) ToServerlessNodePoolTaintArrayOutputWithContext(ctx context.Context) ServerlessNodePoolTaintArrayOutput { +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutput { return o } -func (o ServerlessNodePoolTaintArrayOutput) Index(i pulumi.IntInput) ServerlessNodePoolTaintOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ServerlessNodePoolTaint { - return vs[0].([]ServerlessNodePoolTaint)[vs[1].(int)] - }).(ServerlessNodePoolTaintOutput) +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutput) Index(i pulumi.IntInput) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriver { + return vs[0].([]GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriver)[vs[1].(int)] + }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput) } -type GetAvailableClusterVersionsCluster struct { - // Cluster Id. - ClusterId string `pulumi:"clusterId"` - // Upgradable cluster version number. Note: This field may return null, indicating that no valid value can be obtained. - Versions []string `pulumi:"versions"` +type GetClusterInstancesInstanceSetInstanceAdvancedSettingLabel struct { + // The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + Name string `pulumi:"name"` + // Value of taints mark. + Value string `pulumi:"value"` } -// GetAvailableClusterVersionsClusterInput is an input type that accepts GetAvailableClusterVersionsClusterArgs and GetAvailableClusterVersionsClusterOutput values. -// You can construct a concrete instance of `GetAvailableClusterVersionsClusterInput` via: +// GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArgs and GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput values. +// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelInput` via: // -// GetAvailableClusterVersionsClusterArgs{...} -type GetAvailableClusterVersionsClusterInput interface { +// GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArgs{...} +type GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelInput interface { pulumi.Input - ToGetAvailableClusterVersionsClusterOutput() GetAvailableClusterVersionsClusterOutput - ToGetAvailableClusterVersionsClusterOutputWithContext(context.Context) GetAvailableClusterVersionsClusterOutput + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput } -type GetAvailableClusterVersionsClusterArgs struct { - // Cluster Id. - ClusterId pulumi.StringInput `pulumi:"clusterId"` - // Upgradable cluster version number. Note: This field may return null, indicating that no valid value can be obtained. - Versions pulumi.StringArrayInput `pulumi:"versions"` +type GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArgs struct { + // The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + Name pulumi.StringInput `pulumi:"name"` + // Value of taints mark. + Value pulumi.StringInput `pulumi:"value"` } -func (GetAvailableClusterVersionsClusterArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAvailableClusterVersionsCluster)(nil)).Elem() +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingLabel)(nil)).Elem() } -func (i GetAvailableClusterVersionsClusterArgs) ToGetAvailableClusterVersionsClusterOutput() GetAvailableClusterVersionsClusterOutput { - return i.ToGetAvailableClusterVersionsClusterOutputWithContext(context.Background()) +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput { + return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutputWithContext(context.Background()) } -func (i GetAvailableClusterVersionsClusterArgs) ToGetAvailableClusterVersionsClusterOutputWithContext(ctx context.Context) GetAvailableClusterVersionsClusterOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAvailableClusterVersionsClusterOutput) +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput) } -// GetAvailableClusterVersionsClusterArrayInput is an input type that accepts GetAvailableClusterVersionsClusterArray and GetAvailableClusterVersionsClusterArrayOutput values. -// You can construct a concrete instance of `GetAvailableClusterVersionsClusterArrayInput` via: +// GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArray and GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutput values. +// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayInput` via: // -// GetAvailableClusterVersionsClusterArray{ GetAvailableClusterVersionsClusterArgs{...} } -type GetAvailableClusterVersionsClusterArrayInput interface { +// GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArray{ GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArgs{...} } +type GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayInput interface { pulumi.Input - ToGetAvailableClusterVersionsClusterArrayOutput() GetAvailableClusterVersionsClusterArrayOutput - ToGetAvailableClusterVersionsClusterArrayOutputWithContext(context.Context) GetAvailableClusterVersionsClusterArrayOutput + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutput + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutput } -type GetAvailableClusterVersionsClusterArray []GetAvailableClusterVersionsClusterInput +type GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArray []GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelInput -func (GetAvailableClusterVersionsClusterArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAvailableClusterVersionsCluster)(nil)).Elem() +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSettingLabel)(nil)).Elem() } -func (i GetAvailableClusterVersionsClusterArray) ToGetAvailableClusterVersionsClusterArrayOutput() GetAvailableClusterVersionsClusterArrayOutput { - return i.ToGetAvailableClusterVersionsClusterArrayOutputWithContext(context.Background()) +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutput { + return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutputWithContext(context.Background()) } -func (i GetAvailableClusterVersionsClusterArray) ToGetAvailableClusterVersionsClusterArrayOutputWithContext(ctx context.Context) GetAvailableClusterVersionsClusterArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAvailableClusterVersionsClusterArrayOutput) +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutput) } -type GetAvailableClusterVersionsClusterOutput struct{ *pulumi.OutputState } +type GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput struct{ *pulumi.OutputState } -func (GetAvailableClusterVersionsClusterOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAvailableClusterVersionsCluster)(nil)).Elem() +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingLabel)(nil)).Elem() } -func (o GetAvailableClusterVersionsClusterOutput) ToGetAvailableClusterVersionsClusterOutput() GetAvailableClusterVersionsClusterOutput { +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput { return o } -func (o GetAvailableClusterVersionsClusterOutput) ToGetAvailableClusterVersionsClusterOutputWithContext(ctx context.Context) GetAvailableClusterVersionsClusterOutput { +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput { return o } -// Cluster Id. -func (o GetAvailableClusterVersionsClusterOutput) ClusterId() pulumi.StringOutput { - return o.ApplyT(func(v GetAvailableClusterVersionsCluster) string { return v.ClusterId }).(pulumi.StringOutput) +// The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingLabel) string { return v.Name }).(pulumi.StringOutput) } -// Upgradable cluster version number. Note: This field may return null, indicating that no valid value can be obtained. -func (o GetAvailableClusterVersionsClusterOutput) Versions() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetAvailableClusterVersionsCluster) []string { return v.Versions }).(pulumi.StringArrayOutput) +// Value of taints mark. +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingLabel) string { return v.Value }).(pulumi.StringOutput) } -type GetAvailableClusterVersionsClusterArrayOutput struct{ *pulumi.OutputState } +type GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutput struct{ *pulumi.OutputState } -func (GetAvailableClusterVersionsClusterArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAvailableClusterVersionsCluster)(nil)).Elem() +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSettingLabel)(nil)).Elem() } -func (o GetAvailableClusterVersionsClusterArrayOutput) ToGetAvailableClusterVersionsClusterArrayOutput() GetAvailableClusterVersionsClusterArrayOutput { +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutput { return o } -func (o GetAvailableClusterVersionsClusterArrayOutput) ToGetAvailableClusterVersionsClusterArrayOutputWithContext(ctx context.Context) GetAvailableClusterVersionsClusterArrayOutput { +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutput { return o } -func (o GetAvailableClusterVersionsClusterArrayOutput) Index(i pulumi.IntInput) GetAvailableClusterVersionsClusterOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAvailableClusterVersionsCluster { - return vs[0].([]GetAvailableClusterVersionsCluster)[vs[1].(int)] - }).(GetAvailableClusterVersionsClusterOutput) +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutput) Index(i pulumi.IntInput) GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterInstancesInstanceSetInstanceAdvancedSettingLabel { + return vs[0].([]GetClusterInstancesInstanceSetInstanceAdvancedSettingLabel)[vs[1].(int)] + }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput) } -type GetChartsChartList struct { - // Label of chart. - Label map[string]interface{} `pulumi:"label"` - // Chart latest version. - LatestVersion string `pulumi:"latestVersion"` - // Name of chart. - Name string `pulumi:"name"` +type GetClusterInstancesInstanceSetInstanceAdvancedSettingTaint struct { + // Effect of taints mark. + Effect string `pulumi:"effect"` + // Key of taints mark. + Key string `pulumi:"key"` + // Value of taints mark. + Value string `pulumi:"value"` } -// GetChartsChartListInput is an input type that accepts GetChartsChartListArgs and GetChartsChartListOutput values. -// You can construct a concrete instance of `GetChartsChartListInput` via: +// GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArgs and GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput values. +// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintInput` via: // -// GetChartsChartListArgs{...} -type GetChartsChartListInput interface { +// GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArgs{...} +type GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintInput interface { pulumi.Input - ToGetChartsChartListOutput() GetChartsChartListOutput - ToGetChartsChartListOutputWithContext(context.Context) GetChartsChartListOutput + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput } -type GetChartsChartListArgs struct { - // Label of chart. - Label pulumi.MapInput `pulumi:"label"` - // Chart latest version. - LatestVersion pulumi.StringInput `pulumi:"latestVersion"` - // Name of chart. - Name pulumi.StringInput `pulumi:"name"` +type GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArgs struct { + // Effect of taints mark. + Effect pulumi.StringInput `pulumi:"effect"` + // Key of taints mark. + Key pulumi.StringInput `pulumi:"key"` + // Value of taints mark. + Value pulumi.StringInput `pulumi:"value"` } -func (GetChartsChartListArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetChartsChartList)(nil)).Elem() +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingTaint)(nil)).Elem() } -func (i GetChartsChartListArgs) ToGetChartsChartListOutput() GetChartsChartListOutput { - return i.ToGetChartsChartListOutputWithContext(context.Background()) +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput { + return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutputWithContext(context.Background()) } -func (i GetChartsChartListArgs) ToGetChartsChartListOutputWithContext(ctx context.Context) GetChartsChartListOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetChartsChartListOutput) +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput) } -// GetChartsChartListArrayInput is an input type that accepts GetChartsChartListArray and GetChartsChartListArrayOutput values. -// You can construct a concrete instance of `GetChartsChartListArrayInput` via: +// GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArray and GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput values. +// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayInput` via: // -// GetChartsChartListArray{ GetChartsChartListArgs{...} } -type GetChartsChartListArrayInput interface { +// GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArray{ GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArgs{...} } +type GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayInput interface { pulumi.Input - ToGetChartsChartListArrayOutput() GetChartsChartListArrayOutput - ToGetChartsChartListArrayOutputWithContext(context.Context) GetChartsChartListArrayOutput + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput + ToGetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput } -type GetChartsChartListArray []GetChartsChartListInput +type GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArray []GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintInput -func (GetChartsChartListArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetChartsChartList)(nil)).Elem() +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSettingTaint)(nil)).Elem() } -func (i GetChartsChartListArray) ToGetChartsChartListArrayOutput() GetChartsChartListArrayOutput { - return i.ToGetChartsChartListArrayOutputWithContext(context.Background()) +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput { + return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutputWithContext(context.Background()) } -func (i GetChartsChartListArray) ToGetChartsChartListArrayOutputWithContext(ctx context.Context) GetChartsChartListArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetChartsChartListArrayOutput) +func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput) } -type GetChartsChartListOutput struct{ *pulumi.OutputState } +type GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput struct{ *pulumi.OutputState } -func (GetChartsChartListOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetChartsChartList)(nil)).Elem() +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingTaint)(nil)).Elem() } -func (o GetChartsChartListOutput) ToGetChartsChartListOutput() GetChartsChartListOutput { +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput { return o } -func (o GetChartsChartListOutput) ToGetChartsChartListOutputWithContext(ctx context.Context) GetChartsChartListOutput { +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput { return o } -// Label of chart. -func (o GetChartsChartListOutput) Label() pulumi.MapOutput { - return o.ApplyT(func(v GetChartsChartList) map[string]interface{} { return v.Label }).(pulumi.MapOutput) +// Effect of taints mark. +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput) Effect() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingTaint) string { return v.Effect }).(pulumi.StringOutput) } -// Chart latest version. -func (o GetChartsChartListOutput) LatestVersion() pulumi.StringOutput { - return o.ApplyT(func(v GetChartsChartList) string { return v.LatestVersion }).(pulumi.StringOutput) +// Key of taints mark. +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingTaint) string { return v.Key }).(pulumi.StringOutput) } -// Name of chart. -func (o GetChartsChartListOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetChartsChartList) string { return v.Name }).(pulumi.StringOutput) +// Value of taints mark. +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingTaint) string { return v.Value }).(pulumi.StringOutput) } -type GetChartsChartListArrayOutput struct{ *pulumi.OutputState } +type GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput struct{ *pulumi.OutputState } -func (GetChartsChartListArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetChartsChartList)(nil)).Elem() +func (GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSettingTaint)(nil)).Elem() } -func (o GetChartsChartListArrayOutput) ToGetChartsChartListArrayOutput() GetChartsChartListArrayOutput { +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput { return o } -func (o GetChartsChartListArrayOutput) ToGetChartsChartListArrayOutputWithContext(ctx context.Context) GetChartsChartListArrayOutput { +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput { return o } -func (o GetChartsChartListArrayOutput) Index(i pulumi.IntInput) GetChartsChartListOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetChartsChartList { - return vs[0].([]GetChartsChartList)[vs[1].(int)] - }).(GetChartsChartListOutput) +func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput) Index(i pulumi.IntInput) GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterInstancesInstanceSetInstanceAdvancedSettingTaint { + return vs[0].([]GetClusterInstancesInstanceSetInstanceAdvancedSettingTaint)[vs[1].(int)] + }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput) } -type GetClusterAuthenticationOptionsOidcConfig struct { - // Creating ClientId of the identity provider. Note: This field may return `null`, indicating that no valid value can be obtained. - AutoCreateClientIds []string `pulumi:"autoCreateClientIds"` - // Creating an identity provider. Note: This field may return `null`, indicating that no valid value can be obtained. - AutoCreateOidcConfig bool `pulumi:"autoCreateOidcConfig"` - // Creating the PodIdentityWebhook component. Note: This field may return `null`, indicating that no valid value can be obtained. - AutoInstallPodIdentityWebhookAddon bool `pulumi:"autoInstallPodIdentityWebhookAddon"` +type GetClusterLevelsList struct { + // Alias used for pass to cluster level arguments. + Alias string `pulumi:"alias"` + // Number of ConfigMaps. + ConfigMapCount int `pulumi:"configMapCount"` + // Number of CRDs. + CrdCount int `pulumi:"crdCount"` + // Indicates whether the current level enabled. + Enable bool `pulumi:"enable"` + // Level name. + Name string `pulumi:"name"` + // Number of nodes. + NodeCount int `pulumi:"nodeCount"` + // Number of others. + OtherCount int `pulumi:"otherCount"` + // Number of pods. + PodCount int `pulumi:"podCount"` } -// GetClusterAuthenticationOptionsOidcConfigInput is an input type that accepts GetClusterAuthenticationOptionsOidcConfigArgs and GetClusterAuthenticationOptionsOidcConfigOutput values. -// You can construct a concrete instance of `GetClusterAuthenticationOptionsOidcConfigInput` via: +// GetClusterLevelsListInput is an input type that accepts GetClusterLevelsListArgs and GetClusterLevelsListOutput values. +// You can construct a concrete instance of `GetClusterLevelsListInput` via: // -// GetClusterAuthenticationOptionsOidcConfigArgs{...} -type GetClusterAuthenticationOptionsOidcConfigInput interface { +// GetClusterLevelsListArgs{...} +type GetClusterLevelsListInput interface { pulumi.Input - ToGetClusterAuthenticationOptionsOidcConfigOutput() GetClusterAuthenticationOptionsOidcConfigOutput - ToGetClusterAuthenticationOptionsOidcConfigOutputWithContext(context.Context) GetClusterAuthenticationOptionsOidcConfigOutput + ToGetClusterLevelsListOutput() GetClusterLevelsListOutput + ToGetClusterLevelsListOutputWithContext(context.Context) GetClusterLevelsListOutput } -type GetClusterAuthenticationOptionsOidcConfigArgs struct { - // Creating ClientId of the identity provider. Note: This field may return `null`, indicating that no valid value can be obtained. - AutoCreateClientIds pulumi.StringArrayInput `pulumi:"autoCreateClientIds"` - // Creating an identity provider. Note: This field may return `null`, indicating that no valid value can be obtained. - AutoCreateOidcConfig pulumi.BoolInput `pulumi:"autoCreateOidcConfig"` - // Creating the PodIdentityWebhook component. Note: This field may return `null`, indicating that no valid value can be obtained. - AutoInstallPodIdentityWebhookAddon pulumi.BoolInput `pulumi:"autoInstallPodIdentityWebhookAddon"` +type GetClusterLevelsListArgs struct { + // Alias used for pass to cluster level arguments. + Alias pulumi.StringInput `pulumi:"alias"` + // Number of ConfigMaps. + ConfigMapCount pulumi.IntInput `pulumi:"configMapCount"` + // Number of CRDs. + CrdCount pulumi.IntInput `pulumi:"crdCount"` + // Indicates whether the current level enabled. + Enable pulumi.BoolInput `pulumi:"enable"` + // Level name. + Name pulumi.StringInput `pulumi:"name"` + // Number of nodes. + NodeCount pulumi.IntInput `pulumi:"nodeCount"` + // Number of others. + OtherCount pulumi.IntInput `pulumi:"otherCount"` + // Number of pods. + PodCount pulumi.IntInput `pulumi:"podCount"` } -func (GetClusterAuthenticationOptionsOidcConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterAuthenticationOptionsOidcConfig)(nil)).Elem() +func (GetClusterLevelsListArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterLevelsList)(nil)).Elem() } -func (i GetClusterAuthenticationOptionsOidcConfigArgs) ToGetClusterAuthenticationOptionsOidcConfigOutput() GetClusterAuthenticationOptionsOidcConfigOutput { - return i.ToGetClusterAuthenticationOptionsOidcConfigOutputWithContext(context.Background()) +func (i GetClusterLevelsListArgs) ToGetClusterLevelsListOutput() GetClusterLevelsListOutput { + return i.ToGetClusterLevelsListOutputWithContext(context.Background()) } -func (i GetClusterAuthenticationOptionsOidcConfigArgs) ToGetClusterAuthenticationOptionsOidcConfigOutputWithContext(ctx context.Context) GetClusterAuthenticationOptionsOidcConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterAuthenticationOptionsOidcConfigOutput) +func (i GetClusterLevelsListArgs) ToGetClusterLevelsListOutputWithContext(ctx context.Context) GetClusterLevelsListOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterLevelsListOutput) } -// GetClusterAuthenticationOptionsOidcConfigArrayInput is an input type that accepts GetClusterAuthenticationOptionsOidcConfigArray and GetClusterAuthenticationOptionsOidcConfigArrayOutput values. -// You can construct a concrete instance of `GetClusterAuthenticationOptionsOidcConfigArrayInput` via: +// GetClusterLevelsListArrayInput is an input type that accepts GetClusterLevelsListArray and GetClusterLevelsListArrayOutput values. +// You can construct a concrete instance of `GetClusterLevelsListArrayInput` via: // -// GetClusterAuthenticationOptionsOidcConfigArray{ GetClusterAuthenticationOptionsOidcConfigArgs{...} } -type GetClusterAuthenticationOptionsOidcConfigArrayInput interface { +// GetClusterLevelsListArray{ GetClusterLevelsListArgs{...} } +type GetClusterLevelsListArrayInput interface { pulumi.Input - ToGetClusterAuthenticationOptionsOidcConfigArrayOutput() GetClusterAuthenticationOptionsOidcConfigArrayOutput - ToGetClusterAuthenticationOptionsOidcConfigArrayOutputWithContext(context.Context) GetClusterAuthenticationOptionsOidcConfigArrayOutput + ToGetClusterLevelsListArrayOutput() GetClusterLevelsListArrayOutput + ToGetClusterLevelsListArrayOutputWithContext(context.Context) GetClusterLevelsListArrayOutput } -type GetClusterAuthenticationOptionsOidcConfigArray []GetClusterAuthenticationOptionsOidcConfigInput +type GetClusterLevelsListArray []GetClusterLevelsListInput -func (GetClusterAuthenticationOptionsOidcConfigArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterAuthenticationOptionsOidcConfig)(nil)).Elem() +func (GetClusterLevelsListArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterLevelsList)(nil)).Elem() } -func (i GetClusterAuthenticationOptionsOidcConfigArray) ToGetClusterAuthenticationOptionsOidcConfigArrayOutput() GetClusterAuthenticationOptionsOidcConfigArrayOutput { - return i.ToGetClusterAuthenticationOptionsOidcConfigArrayOutputWithContext(context.Background()) +func (i GetClusterLevelsListArray) ToGetClusterLevelsListArrayOutput() GetClusterLevelsListArrayOutput { + return i.ToGetClusterLevelsListArrayOutputWithContext(context.Background()) } -func (i GetClusterAuthenticationOptionsOidcConfigArray) ToGetClusterAuthenticationOptionsOidcConfigArrayOutputWithContext(ctx context.Context) GetClusterAuthenticationOptionsOidcConfigArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterAuthenticationOptionsOidcConfigArrayOutput) +func (i GetClusterLevelsListArray) ToGetClusterLevelsListArrayOutputWithContext(ctx context.Context) GetClusterLevelsListArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterLevelsListArrayOutput) +} + +type GetClusterLevelsListOutput struct{ *pulumi.OutputState } + +func (GetClusterLevelsListOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterLevelsList)(nil)).Elem() +} + +func (o GetClusterLevelsListOutput) ToGetClusterLevelsListOutput() GetClusterLevelsListOutput { + return o +} + +func (o GetClusterLevelsListOutput) ToGetClusterLevelsListOutputWithContext(ctx context.Context) GetClusterLevelsListOutput { + return o +} + +// Alias used for pass to cluster level arguments. +func (o GetClusterLevelsListOutput) Alias() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterLevelsList) string { return v.Alias }).(pulumi.StringOutput) +} + +// Number of ConfigMaps. +func (o GetClusterLevelsListOutput) ConfigMapCount() pulumi.IntOutput { + return o.ApplyT(func(v GetClusterLevelsList) int { return v.ConfigMapCount }).(pulumi.IntOutput) } -type GetClusterAuthenticationOptionsOidcConfigOutput struct{ *pulumi.OutputState } - -func (GetClusterAuthenticationOptionsOidcConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterAuthenticationOptionsOidcConfig)(nil)).Elem() +// Number of CRDs. +func (o GetClusterLevelsListOutput) CrdCount() pulumi.IntOutput { + return o.ApplyT(func(v GetClusterLevelsList) int { return v.CrdCount }).(pulumi.IntOutput) } -func (o GetClusterAuthenticationOptionsOidcConfigOutput) ToGetClusterAuthenticationOptionsOidcConfigOutput() GetClusterAuthenticationOptionsOidcConfigOutput { - return o +// Indicates whether the current level enabled. +func (o GetClusterLevelsListOutput) Enable() pulumi.BoolOutput { + return o.ApplyT(func(v GetClusterLevelsList) bool { return v.Enable }).(pulumi.BoolOutput) } -func (o GetClusterAuthenticationOptionsOidcConfigOutput) ToGetClusterAuthenticationOptionsOidcConfigOutputWithContext(ctx context.Context) GetClusterAuthenticationOptionsOidcConfigOutput { - return o +// Level name. +func (o GetClusterLevelsListOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterLevelsList) string { return v.Name }).(pulumi.StringOutput) } -// Creating ClientId of the identity provider. Note: This field may return `null`, indicating that no valid value can be obtained. -func (o GetClusterAuthenticationOptionsOidcConfigOutput) AutoCreateClientIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetClusterAuthenticationOptionsOidcConfig) []string { return v.AutoCreateClientIds }).(pulumi.StringArrayOutput) +// Number of nodes. +func (o GetClusterLevelsListOutput) NodeCount() pulumi.IntOutput { + return o.ApplyT(func(v GetClusterLevelsList) int { return v.NodeCount }).(pulumi.IntOutput) } -// Creating an identity provider. Note: This field may return `null`, indicating that no valid value can be obtained. -func (o GetClusterAuthenticationOptionsOidcConfigOutput) AutoCreateOidcConfig() pulumi.BoolOutput { - return o.ApplyT(func(v GetClusterAuthenticationOptionsOidcConfig) bool { return v.AutoCreateOidcConfig }).(pulumi.BoolOutput) +// Number of others. +func (o GetClusterLevelsListOutput) OtherCount() pulumi.IntOutput { + return o.ApplyT(func(v GetClusterLevelsList) int { return v.OtherCount }).(pulumi.IntOutput) } -// Creating the PodIdentityWebhook component. Note: This field may return `null`, indicating that no valid value can be obtained. -func (o GetClusterAuthenticationOptionsOidcConfigOutput) AutoInstallPodIdentityWebhookAddon() pulumi.BoolOutput { - return o.ApplyT(func(v GetClusterAuthenticationOptionsOidcConfig) bool { return v.AutoInstallPodIdentityWebhookAddon }).(pulumi.BoolOutput) +// Number of pods. +func (o GetClusterLevelsListOutput) PodCount() pulumi.IntOutput { + return o.ApplyT(func(v GetClusterLevelsList) int { return v.PodCount }).(pulumi.IntOutput) } -type GetClusterAuthenticationOptionsOidcConfigArrayOutput struct{ *pulumi.OutputState } +type GetClusterLevelsListArrayOutput struct{ *pulumi.OutputState } -func (GetClusterAuthenticationOptionsOidcConfigArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterAuthenticationOptionsOidcConfig)(nil)).Elem() +func (GetClusterLevelsListArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterLevelsList)(nil)).Elem() } -func (o GetClusterAuthenticationOptionsOidcConfigArrayOutput) ToGetClusterAuthenticationOptionsOidcConfigArrayOutput() GetClusterAuthenticationOptionsOidcConfigArrayOutput { +func (o GetClusterLevelsListArrayOutput) ToGetClusterLevelsListArrayOutput() GetClusterLevelsListArrayOutput { return o } -func (o GetClusterAuthenticationOptionsOidcConfigArrayOutput) ToGetClusterAuthenticationOptionsOidcConfigArrayOutputWithContext(ctx context.Context) GetClusterAuthenticationOptionsOidcConfigArrayOutput { +func (o GetClusterLevelsListArrayOutput) ToGetClusterLevelsListArrayOutputWithContext(ctx context.Context) GetClusterLevelsListArrayOutput { return o } -func (o GetClusterAuthenticationOptionsOidcConfigArrayOutput) Index(i pulumi.IntInput) GetClusterAuthenticationOptionsOidcConfigOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterAuthenticationOptionsOidcConfig { - return vs[0].([]GetClusterAuthenticationOptionsOidcConfig)[vs[1].(int)] - }).(GetClusterAuthenticationOptionsOidcConfigOutput) +func (o GetClusterLevelsListArrayOutput) Index(i pulumi.IntInput) GetClusterLevelsListOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterLevelsList { + return vs[0].([]GetClusterLevelsList)[vs[1].(int)] + }).(GetClusterLevelsListOutput) } -type GetClusterAuthenticationOptionsServiceAccount struct { - // If it is set to `true`, a RABC rule is automatically created to allow anonymous users to access `/.well-known/openid-configuration` and `/openid/v1/jwks`. Note: this field may return `null`, indicating that no valid values can be obtained. - AutoCreateDiscoveryAnonymousAuth bool `pulumi:"autoCreateDiscoveryAnonymousAuth"` - // service-account-issuer. Note: this field may return `null`, indicating that no valid values can be obtained. - Issuer string `pulumi:"issuer"` - // service-account-jwks-uri. Note: this field may return `null`, indicating that no valid values can be obtained. - JwksUri string `pulumi:"jwksUri"` - // Use TKE default issuer and jwksuri. Note: This field may return `null`, indicating that no valid values can be obtained. - UseTkeDefault bool `pulumi:"useTkeDefault"` +type GetClusterNativeNodePoolsFilter struct { + // The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + Name string `pulumi:"name"` + // Attribute values, if there are multiple values in the same filter, the relationship between values under the same filter is a logical OR relationship. + Values []string `pulumi:"values"` } -// GetClusterAuthenticationOptionsServiceAccountInput is an input type that accepts GetClusterAuthenticationOptionsServiceAccountArgs and GetClusterAuthenticationOptionsServiceAccountOutput values. -// You can construct a concrete instance of `GetClusterAuthenticationOptionsServiceAccountInput` via: +// GetClusterNativeNodePoolsFilterInput is an input type that accepts GetClusterNativeNodePoolsFilterArgs and GetClusterNativeNodePoolsFilterOutput values. +// You can construct a concrete instance of `GetClusterNativeNodePoolsFilterInput` via: // -// GetClusterAuthenticationOptionsServiceAccountArgs{...} -type GetClusterAuthenticationOptionsServiceAccountInput interface { +// GetClusterNativeNodePoolsFilterArgs{...} +type GetClusterNativeNodePoolsFilterInput interface { pulumi.Input - ToGetClusterAuthenticationOptionsServiceAccountOutput() GetClusterAuthenticationOptionsServiceAccountOutput - ToGetClusterAuthenticationOptionsServiceAccountOutputWithContext(context.Context) GetClusterAuthenticationOptionsServiceAccountOutput + ToGetClusterNativeNodePoolsFilterOutput() GetClusterNativeNodePoolsFilterOutput + ToGetClusterNativeNodePoolsFilterOutputWithContext(context.Context) GetClusterNativeNodePoolsFilterOutput } -type GetClusterAuthenticationOptionsServiceAccountArgs struct { - // If it is set to `true`, a RABC rule is automatically created to allow anonymous users to access `/.well-known/openid-configuration` and `/openid/v1/jwks`. Note: this field may return `null`, indicating that no valid values can be obtained. - AutoCreateDiscoveryAnonymousAuth pulumi.BoolInput `pulumi:"autoCreateDiscoveryAnonymousAuth"` - // service-account-issuer. Note: this field may return `null`, indicating that no valid values can be obtained. - Issuer pulumi.StringInput `pulumi:"issuer"` - // service-account-jwks-uri. Note: this field may return `null`, indicating that no valid values can be obtained. - JwksUri pulumi.StringInput `pulumi:"jwksUri"` - // Use TKE default issuer and jwksuri. Note: This field may return `null`, indicating that no valid values can be obtained. - UseTkeDefault pulumi.BoolInput `pulumi:"useTkeDefault"` +type GetClusterNativeNodePoolsFilterArgs struct { + // The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + Name pulumi.StringInput `pulumi:"name"` + // Attribute values, if there are multiple values in the same filter, the relationship between values under the same filter is a logical OR relationship. + Values pulumi.StringArrayInput `pulumi:"values"` } -func (GetClusterAuthenticationOptionsServiceAccountArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterAuthenticationOptionsServiceAccount)(nil)).Elem() +func (GetClusterNativeNodePoolsFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterNativeNodePoolsFilter)(nil)).Elem() } -func (i GetClusterAuthenticationOptionsServiceAccountArgs) ToGetClusterAuthenticationOptionsServiceAccountOutput() GetClusterAuthenticationOptionsServiceAccountOutput { - return i.ToGetClusterAuthenticationOptionsServiceAccountOutputWithContext(context.Background()) +func (i GetClusterNativeNodePoolsFilterArgs) ToGetClusterNativeNodePoolsFilterOutput() GetClusterNativeNodePoolsFilterOutput { + return i.ToGetClusterNativeNodePoolsFilterOutputWithContext(context.Background()) } -func (i GetClusterAuthenticationOptionsServiceAccountArgs) ToGetClusterAuthenticationOptionsServiceAccountOutputWithContext(ctx context.Context) GetClusterAuthenticationOptionsServiceAccountOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterAuthenticationOptionsServiceAccountOutput) +func (i GetClusterNativeNodePoolsFilterArgs) ToGetClusterNativeNodePoolsFilterOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterNativeNodePoolsFilterOutput) } -// GetClusterAuthenticationOptionsServiceAccountArrayInput is an input type that accepts GetClusterAuthenticationOptionsServiceAccountArray and GetClusterAuthenticationOptionsServiceAccountArrayOutput values. -// You can construct a concrete instance of `GetClusterAuthenticationOptionsServiceAccountArrayInput` via: +// GetClusterNativeNodePoolsFilterArrayInput is an input type that accepts GetClusterNativeNodePoolsFilterArray and GetClusterNativeNodePoolsFilterArrayOutput values. +// You can construct a concrete instance of `GetClusterNativeNodePoolsFilterArrayInput` via: // -// GetClusterAuthenticationOptionsServiceAccountArray{ GetClusterAuthenticationOptionsServiceAccountArgs{...} } -type GetClusterAuthenticationOptionsServiceAccountArrayInput interface { +// GetClusterNativeNodePoolsFilterArray{ GetClusterNativeNodePoolsFilterArgs{...} } +type GetClusterNativeNodePoolsFilterArrayInput interface { pulumi.Input - ToGetClusterAuthenticationOptionsServiceAccountArrayOutput() GetClusterAuthenticationOptionsServiceAccountArrayOutput - ToGetClusterAuthenticationOptionsServiceAccountArrayOutputWithContext(context.Context) GetClusterAuthenticationOptionsServiceAccountArrayOutput + ToGetClusterNativeNodePoolsFilterArrayOutput() GetClusterNativeNodePoolsFilterArrayOutput + ToGetClusterNativeNodePoolsFilterArrayOutputWithContext(context.Context) GetClusterNativeNodePoolsFilterArrayOutput } -type GetClusterAuthenticationOptionsServiceAccountArray []GetClusterAuthenticationOptionsServiceAccountInput +type GetClusterNativeNodePoolsFilterArray []GetClusterNativeNodePoolsFilterInput -func (GetClusterAuthenticationOptionsServiceAccountArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterAuthenticationOptionsServiceAccount)(nil)).Elem() +func (GetClusterNativeNodePoolsFilterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterNativeNodePoolsFilter)(nil)).Elem() } -func (i GetClusterAuthenticationOptionsServiceAccountArray) ToGetClusterAuthenticationOptionsServiceAccountArrayOutput() GetClusterAuthenticationOptionsServiceAccountArrayOutput { - return i.ToGetClusterAuthenticationOptionsServiceAccountArrayOutputWithContext(context.Background()) +func (i GetClusterNativeNodePoolsFilterArray) ToGetClusterNativeNodePoolsFilterArrayOutput() GetClusterNativeNodePoolsFilterArrayOutput { + return i.ToGetClusterNativeNodePoolsFilterArrayOutputWithContext(context.Background()) } -func (i GetClusterAuthenticationOptionsServiceAccountArray) ToGetClusterAuthenticationOptionsServiceAccountArrayOutputWithContext(ctx context.Context) GetClusterAuthenticationOptionsServiceAccountArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterAuthenticationOptionsServiceAccountArrayOutput) +func (i GetClusterNativeNodePoolsFilterArray) ToGetClusterNativeNodePoolsFilterArrayOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsFilterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterNativeNodePoolsFilterArrayOutput) } -type GetClusterAuthenticationOptionsServiceAccountOutput struct{ *pulumi.OutputState } +type GetClusterNativeNodePoolsFilterOutput struct{ *pulumi.OutputState } -func (GetClusterAuthenticationOptionsServiceAccountOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterAuthenticationOptionsServiceAccount)(nil)).Elem() +func (GetClusterNativeNodePoolsFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterNativeNodePoolsFilter)(nil)).Elem() } -func (o GetClusterAuthenticationOptionsServiceAccountOutput) ToGetClusterAuthenticationOptionsServiceAccountOutput() GetClusterAuthenticationOptionsServiceAccountOutput { +func (o GetClusterNativeNodePoolsFilterOutput) ToGetClusterNativeNodePoolsFilterOutput() GetClusterNativeNodePoolsFilterOutput { return o } -func (o GetClusterAuthenticationOptionsServiceAccountOutput) ToGetClusterAuthenticationOptionsServiceAccountOutputWithContext(ctx context.Context) GetClusterAuthenticationOptionsServiceAccountOutput { +func (o GetClusterNativeNodePoolsFilterOutput) ToGetClusterNativeNodePoolsFilterOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsFilterOutput { return o } -// If it is set to `true`, a RABC rule is automatically created to allow anonymous users to access `/.well-known/openid-configuration` and `/openid/v1/jwks`. Note: this field may return `null`, indicating that no valid values can be obtained. -func (o GetClusterAuthenticationOptionsServiceAccountOutput) AutoCreateDiscoveryAnonymousAuth() pulumi.BoolOutput { - return o.ApplyT(func(v GetClusterAuthenticationOptionsServiceAccount) bool { return v.AutoCreateDiscoveryAnonymousAuth }).(pulumi.BoolOutput) -} - -// service-account-issuer. Note: this field may return `null`, indicating that no valid values can be obtained. -func (o GetClusterAuthenticationOptionsServiceAccountOutput) Issuer() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterAuthenticationOptionsServiceAccount) string { return v.Issuer }).(pulumi.StringOutput) -} - -// service-account-jwks-uri. Note: this field may return `null`, indicating that no valid values can be obtained. -func (o GetClusterAuthenticationOptionsServiceAccountOutput) JwksUri() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterAuthenticationOptionsServiceAccount) string { return v.JwksUri }).(pulumi.StringOutput) +// The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. +func (o GetClusterNativeNodePoolsFilterOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsFilter) string { return v.Name }).(pulumi.StringOutput) } -// Use TKE default issuer and jwksuri. Note: This field may return `null`, indicating that no valid values can be obtained. -func (o GetClusterAuthenticationOptionsServiceAccountOutput) UseTkeDefault() pulumi.BoolOutput { - return o.ApplyT(func(v GetClusterAuthenticationOptionsServiceAccount) bool { return v.UseTkeDefault }).(pulumi.BoolOutput) +// Attribute values, if there are multiple values in the same filter, the relationship between values under the same filter is a logical OR relationship. +func (o GetClusterNativeNodePoolsFilterOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsFilter) []string { return v.Values }).(pulumi.StringArrayOutput) } -type GetClusterAuthenticationOptionsServiceAccountArrayOutput struct{ *pulumi.OutputState } +type GetClusterNativeNodePoolsFilterArrayOutput struct{ *pulumi.OutputState } -func (GetClusterAuthenticationOptionsServiceAccountArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterAuthenticationOptionsServiceAccount)(nil)).Elem() +func (GetClusterNativeNodePoolsFilterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterNativeNodePoolsFilter)(nil)).Elem() } -func (o GetClusterAuthenticationOptionsServiceAccountArrayOutput) ToGetClusterAuthenticationOptionsServiceAccountArrayOutput() GetClusterAuthenticationOptionsServiceAccountArrayOutput { +func (o GetClusterNativeNodePoolsFilterArrayOutput) ToGetClusterNativeNodePoolsFilterArrayOutput() GetClusterNativeNodePoolsFilterArrayOutput { return o } -func (o GetClusterAuthenticationOptionsServiceAccountArrayOutput) ToGetClusterAuthenticationOptionsServiceAccountArrayOutputWithContext(ctx context.Context) GetClusterAuthenticationOptionsServiceAccountArrayOutput { +func (o GetClusterNativeNodePoolsFilterArrayOutput) ToGetClusterNativeNodePoolsFilterArrayOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsFilterArrayOutput { return o } -func (o GetClusterAuthenticationOptionsServiceAccountArrayOutput) Index(i pulumi.IntInput) GetClusterAuthenticationOptionsServiceAccountOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterAuthenticationOptionsServiceAccount { - return vs[0].([]GetClusterAuthenticationOptionsServiceAccount)[vs[1].(int)] - }).(GetClusterAuthenticationOptionsServiceAccountOutput) -} - -type GetClusterCommonNamesList struct { - // The CommonName in the certificate of the client corresponding to the sub-account. - CommonNames string `pulumi:"commonNames"` - // User UIN. - SubaccountUin string `pulumi:"subaccountUin"` +func (o GetClusterNativeNodePoolsFilterArrayOutput) Index(i pulumi.IntInput) GetClusterNativeNodePoolsFilterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterNativeNodePoolsFilter { + return vs[0].([]GetClusterNativeNodePoolsFilter)[vs[1].(int)] + }).(GetClusterNativeNodePoolsFilterOutput) } -// GetClusterCommonNamesListInput is an input type that accepts GetClusterCommonNamesListArgs and GetClusterCommonNamesListOutput values. -// You can construct a concrete instance of `GetClusterCommonNamesListInput` via: +type GetClusterNativeNodePoolsNodePool struct { + // Node Annotation List. + Annotations []GetClusterNativeNodePoolsNodePoolAnnotation `pulumi:"annotations"` + // ID of the cluster. + ClusterId string `pulumi:"clusterId"` + // Creation time. + CreatedAt string `pulumi:"createdAt"` + // Whether to enable deletion protection. + DeletionProtection bool `pulumi:"deletionProtection"` + // Node Labels. + Labels []GetClusterNativeNodePoolsNodePoolLabel `pulumi:"labels"` + // Node pool status. + LifeState string `pulumi:"lifeState"` + // The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + Name string `pulumi:"name"` + // Native node pool creation parameters. + Natives []GetClusterNativeNodePoolsNodePoolNative `pulumi:"natives"` + // ID of the node pool. + NodePoolId string `pulumi:"nodePoolId"` + // Tag pair list. + Tags []GetClusterNativeNodePoolsNodePoolTag `pulumi:"tags"` + // node taint. + Taints []GetClusterNativeNodePoolsNodePoolTaint `pulumi:"taints"` + // Node pool type. Optional value is `Native`. + Type string `pulumi:"type"` + // Whether the node is not schedulable by default. + Unschedulable bool `pulumi:"unschedulable"` +} + +// GetClusterNativeNodePoolsNodePoolInput is an input type that accepts GetClusterNativeNodePoolsNodePoolArgs and GetClusterNativeNodePoolsNodePoolOutput values. +// You can construct a concrete instance of `GetClusterNativeNodePoolsNodePoolInput` via: // -// GetClusterCommonNamesListArgs{...} -type GetClusterCommonNamesListInput interface { +// GetClusterNativeNodePoolsNodePoolArgs{...} +type GetClusterNativeNodePoolsNodePoolInput interface { pulumi.Input - ToGetClusterCommonNamesListOutput() GetClusterCommonNamesListOutput - ToGetClusterCommonNamesListOutputWithContext(context.Context) GetClusterCommonNamesListOutput + ToGetClusterNativeNodePoolsNodePoolOutput() GetClusterNativeNodePoolsNodePoolOutput + ToGetClusterNativeNodePoolsNodePoolOutputWithContext(context.Context) GetClusterNativeNodePoolsNodePoolOutput } -type GetClusterCommonNamesListArgs struct { - // The CommonName in the certificate of the client corresponding to the sub-account. - CommonNames pulumi.StringInput `pulumi:"commonNames"` - // User UIN. - SubaccountUin pulumi.StringInput `pulumi:"subaccountUin"` +type GetClusterNativeNodePoolsNodePoolArgs struct { + // Node Annotation List. + Annotations GetClusterNativeNodePoolsNodePoolAnnotationArrayInput `pulumi:"annotations"` + // ID of the cluster. + ClusterId pulumi.StringInput `pulumi:"clusterId"` + // Creation time. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // Whether to enable deletion protection. + DeletionProtection pulumi.BoolInput `pulumi:"deletionProtection"` + // Node Labels. + Labels GetClusterNativeNodePoolsNodePoolLabelArrayInput `pulumi:"labels"` + // Node pool status. + LifeState pulumi.StringInput `pulumi:"lifeState"` + // The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + Name pulumi.StringInput `pulumi:"name"` + // Native node pool creation parameters. + Natives GetClusterNativeNodePoolsNodePoolNativeArrayInput `pulumi:"natives"` + // ID of the node pool. + NodePoolId pulumi.StringInput `pulumi:"nodePoolId"` + // Tag pair list. + Tags GetClusterNativeNodePoolsNodePoolTagArrayInput `pulumi:"tags"` + // node taint. + Taints GetClusterNativeNodePoolsNodePoolTaintArrayInput `pulumi:"taints"` + // Node pool type. Optional value is `Native`. + Type pulumi.StringInput `pulumi:"type"` + // Whether the node is not schedulable by default. + Unschedulable pulumi.BoolInput `pulumi:"unschedulable"` } -func (GetClusterCommonNamesListArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterCommonNamesList)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterNativeNodePoolsNodePool)(nil)).Elem() } -func (i GetClusterCommonNamesListArgs) ToGetClusterCommonNamesListOutput() GetClusterCommonNamesListOutput { - return i.ToGetClusterCommonNamesListOutputWithContext(context.Background()) +func (i GetClusterNativeNodePoolsNodePoolArgs) ToGetClusterNativeNodePoolsNodePoolOutput() GetClusterNativeNodePoolsNodePoolOutput { + return i.ToGetClusterNativeNodePoolsNodePoolOutputWithContext(context.Background()) } -func (i GetClusterCommonNamesListArgs) ToGetClusterCommonNamesListOutputWithContext(ctx context.Context) GetClusterCommonNamesListOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterCommonNamesListOutput) +func (i GetClusterNativeNodePoolsNodePoolArgs) ToGetClusterNativeNodePoolsNodePoolOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterNativeNodePoolsNodePoolOutput) } -// GetClusterCommonNamesListArrayInput is an input type that accepts GetClusterCommonNamesListArray and GetClusterCommonNamesListArrayOutput values. -// You can construct a concrete instance of `GetClusterCommonNamesListArrayInput` via: +// GetClusterNativeNodePoolsNodePoolArrayInput is an input type that accepts GetClusterNativeNodePoolsNodePoolArray and GetClusterNativeNodePoolsNodePoolArrayOutput values. +// You can construct a concrete instance of `GetClusterNativeNodePoolsNodePoolArrayInput` via: // -// GetClusterCommonNamesListArray{ GetClusterCommonNamesListArgs{...} } -type GetClusterCommonNamesListArrayInput interface { +// GetClusterNativeNodePoolsNodePoolArray{ GetClusterNativeNodePoolsNodePoolArgs{...} } +type GetClusterNativeNodePoolsNodePoolArrayInput interface { pulumi.Input - ToGetClusterCommonNamesListArrayOutput() GetClusterCommonNamesListArrayOutput - ToGetClusterCommonNamesListArrayOutputWithContext(context.Context) GetClusterCommonNamesListArrayOutput + ToGetClusterNativeNodePoolsNodePoolArrayOutput() GetClusterNativeNodePoolsNodePoolArrayOutput + ToGetClusterNativeNodePoolsNodePoolArrayOutputWithContext(context.Context) GetClusterNativeNodePoolsNodePoolArrayOutput } -type GetClusterCommonNamesListArray []GetClusterCommonNamesListInput +type GetClusterNativeNodePoolsNodePoolArray []GetClusterNativeNodePoolsNodePoolInput -func (GetClusterCommonNamesListArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterCommonNamesList)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterNativeNodePoolsNodePool)(nil)).Elem() } -func (i GetClusterCommonNamesListArray) ToGetClusterCommonNamesListArrayOutput() GetClusterCommonNamesListArrayOutput { - return i.ToGetClusterCommonNamesListArrayOutputWithContext(context.Background()) +func (i GetClusterNativeNodePoolsNodePoolArray) ToGetClusterNativeNodePoolsNodePoolArrayOutput() GetClusterNativeNodePoolsNodePoolArrayOutput { + return i.ToGetClusterNativeNodePoolsNodePoolArrayOutputWithContext(context.Background()) } -func (i GetClusterCommonNamesListArray) ToGetClusterCommonNamesListArrayOutputWithContext(ctx context.Context) GetClusterCommonNamesListArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterCommonNamesListArrayOutput) +func (i GetClusterNativeNodePoolsNodePoolArray) ToGetClusterNativeNodePoolsNodePoolArrayOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterNativeNodePoolsNodePoolArrayOutput) } -type GetClusterCommonNamesListOutput struct{ *pulumi.OutputState } +type GetClusterNativeNodePoolsNodePoolOutput struct{ *pulumi.OutputState } -func (GetClusterCommonNamesListOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterCommonNamesList)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterNativeNodePoolsNodePool)(nil)).Elem() } -func (o GetClusterCommonNamesListOutput) ToGetClusterCommonNamesListOutput() GetClusterCommonNamesListOutput { +func (o GetClusterNativeNodePoolsNodePoolOutput) ToGetClusterNativeNodePoolsNodePoolOutput() GetClusterNativeNodePoolsNodePoolOutput { return o } -func (o GetClusterCommonNamesListOutput) ToGetClusterCommonNamesListOutputWithContext(ctx context.Context) GetClusterCommonNamesListOutput { +func (o GetClusterNativeNodePoolsNodePoolOutput) ToGetClusterNativeNodePoolsNodePoolOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolOutput { return o } -// The CommonName in the certificate of the client corresponding to the sub-account. -func (o GetClusterCommonNamesListOutput) CommonNames() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterCommonNamesList) string { return v.CommonNames }).(pulumi.StringOutput) +// Node Annotation List. +func (o GetClusterNativeNodePoolsNodePoolOutput) Annotations() GetClusterNativeNodePoolsNodePoolAnnotationArrayOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePool) []GetClusterNativeNodePoolsNodePoolAnnotation { + return v.Annotations + }).(GetClusterNativeNodePoolsNodePoolAnnotationArrayOutput) } -// User UIN. -func (o GetClusterCommonNamesListOutput) SubaccountUin() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterCommonNamesList) string { return v.SubaccountUin }).(pulumi.StringOutput) +// ID of the cluster. +func (o GetClusterNativeNodePoolsNodePoolOutput) ClusterId() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePool) string { return v.ClusterId }).(pulumi.StringOutput) } -type GetClusterCommonNamesListArrayOutput struct{ *pulumi.OutputState } +// Creation time. +func (o GetClusterNativeNodePoolsNodePoolOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePool) string { return v.CreatedAt }).(pulumi.StringOutput) +} -func (GetClusterCommonNamesListArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterCommonNamesList)(nil)).Elem() +// Whether to enable deletion protection. +func (o GetClusterNativeNodePoolsNodePoolOutput) DeletionProtection() pulumi.BoolOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePool) bool { return v.DeletionProtection }).(pulumi.BoolOutput) } -func (o GetClusterCommonNamesListArrayOutput) ToGetClusterCommonNamesListArrayOutput() GetClusterCommonNamesListArrayOutput { +// Node Labels. +func (o GetClusterNativeNodePoolsNodePoolOutput) Labels() GetClusterNativeNodePoolsNodePoolLabelArrayOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePool) []GetClusterNativeNodePoolsNodePoolLabel { return v.Labels }).(GetClusterNativeNodePoolsNodePoolLabelArrayOutput) +} + +// Node pool status. +func (o GetClusterNativeNodePoolsNodePoolOutput) LifeState() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePool) string { return v.LifeState }).(pulumi.StringOutput) +} + +// The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. +func (o GetClusterNativeNodePoolsNodePoolOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePool) string { return v.Name }).(pulumi.StringOutput) +} + +// Native node pool creation parameters. +func (o GetClusterNativeNodePoolsNodePoolOutput) Natives() GetClusterNativeNodePoolsNodePoolNativeArrayOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePool) []GetClusterNativeNodePoolsNodePoolNative { return v.Natives }).(GetClusterNativeNodePoolsNodePoolNativeArrayOutput) +} + +// ID of the node pool. +func (o GetClusterNativeNodePoolsNodePoolOutput) NodePoolId() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePool) string { return v.NodePoolId }).(pulumi.StringOutput) +} + +// Tag pair list. +func (o GetClusterNativeNodePoolsNodePoolOutput) Tags() GetClusterNativeNodePoolsNodePoolTagArrayOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePool) []GetClusterNativeNodePoolsNodePoolTag { return v.Tags }).(GetClusterNativeNodePoolsNodePoolTagArrayOutput) +} + +// node taint. +func (o GetClusterNativeNodePoolsNodePoolOutput) Taints() GetClusterNativeNodePoolsNodePoolTaintArrayOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePool) []GetClusterNativeNodePoolsNodePoolTaint { return v.Taints }).(GetClusterNativeNodePoolsNodePoolTaintArrayOutput) +} + +// Node pool type. Optional value is `Native`. +func (o GetClusterNativeNodePoolsNodePoolOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePool) string { return v.Type }).(pulumi.StringOutput) +} + +// Whether the node is not schedulable by default. +func (o GetClusterNativeNodePoolsNodePoolOutput) Unschedulable() pulumi.BoolOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePool) bool { return v.Unschedulable }).(pulumi.BoolOutput) +} + +type GetClusterNativeNodePoolsNodePoolArrayOutput struct{ *pulumi.OutputState } + +func (GetClusterNativeNodePoolsNodePoolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterNativeNodePoolsNodePool)(nil)).Elem() +} + +func (o GetClusterNativeNodePoolsNodePoolArrayOutput) ToGetClusterNativeNodePoolsNodePoolArrayOutput() GetClusterNativeNodePoolsNodePoolArrayOutput { return o } -func (o GetClusterCommonNamesListArrayOutput) ToGetClusterCommonNamesListArrayOutputWithContext(ctx context.Context) GetClusterCommonNamesListArrayOutput { +func (o GetClusterNativeNodePoolsNodePoolArrayOutput) ToGetClusterNativeNodePoolsNodePoolArrayOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolArrayOutput { return o } -func (o GetClusterCommonNamesListArrayOutput) Index(i pulumi.IntInput) GetClusterCommonNamesListOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterCommonNamesList { - return vs[0].([]GetClusterCommonNamesList)[vs[1].(int)] - }).(GetClusterCommonNamesListOutput) +func (o GetClusterNativeNodePoolsNodePoolArrayOutput) Index(i pulumi.IntInput) GetClusterNativeNodePoolsNodePoolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterNativeNodePoolsNodePool { + return vs[0].([]GetClusterNativeNodePoolsNodePool)[vs[1].(int)] + }).(GetClusterNativeNodePoolsNodePoolOutput) } -type GetClusterInstancesFilter struct { +type GetClusterNativeNodePoolsNodePoolAnnotation struct { // The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. Name string `pulumi:"name"` - // Attribute values, if there are multiple values in the same filter, the relationship between values under the same filter is a logical OR relationship. - Values []string `pulumi:"values"` + // Value of the taint. + Value string `pulumi:"value"` } -// GetClusterInstancesFilterInput is an input type that accepts GetClusterInstancesFilterArgs and GetClusterInstancesFilterOutput values. -// You can construct a concrete instance of `GetClusterInstancesFilterInput` via: +// GetClusterNativeNodePoolsNodePoolAnnotationInput is an input type that accepts GetClusterNativeNodePoolsNodePoolAnnotationArgs and GetClusterNativeNodePoolsNodePoolAnnotationOutput values. +// You can construct a concrete instance of `GetClusterNativeNodePoolsNodePoolAnnotationInput` via: // -// GetClusterInstancesFilterArgs{...} -type GetClusterInstancesFilterInput interface { +// GetClusterNativeNodePoolsNodePoolAnnotationArgs{...} +type GetClusterNativeNodePoolsNodePoolAnnotationInput interface { pulumi.Input - ToGetClusterInstancesFilterOutput() GetClusterInstancesFilterOutput - ToGetClusterInstancesFilterOutputWithContext(context.Context) GetClusterInstancesFilterOutput + ToGetClusterNativeNodePoolsNodePoolAnnotationOutput() GetClusterNativeNodePoolsNodePoolAnnotationOutput + ToGetClusterNativeNodePoolsNodePoolAnnotationOutputWithContext(context.Context) GetClusterNativeNodePoolsNodePoolAnnotationOutput } -type GetClusterInstancesFilterArgs struct { +type GetClusterNativeNodePoolsNodePoolAnnotationArgs struct { // The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. Name pulumi.StringInput `pulumi:"name"` - // Attribute values, if there are multiple values in the same filter, the relationship between values under the same filter is a logical OR relationship. - Values pulumi.StringArrayInput `pulumi:"values"` + // Value of the taint. + Value pulumi.StringInput `pulumi:"value"` } -func (GetClusterInstancesFilterArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterInstancesFilter)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolAnnotationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolAnnotation)(nil)).Elem() } -func (i GetClusterInstancesFilterArgs) ToGetClusterInstancesFilterOutput() GetClusterInstancesFilterOutput { - return i.ToGetClusterInstancesFilterOutputWithContext(context.Background()) +func (i GetClusterNativeNodePoolsNodePoolAnnotationArgs) ToGetClusterNativeNodePoolsNodePoolAnnotationOutput() GetClusterNativeNodePoolsNodePoolAnnotationOutput { + return i.ToGetClusterNativeNodePoolsNodePoolAnnotationOutputWithContext(context.Background()) } -func (i GetClusterInstancesFilterArgs) ToGetClusterInstancesFilterOutputWithContext(ctx context.Context) GetClusterInstancesFilterOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesFilterOutput) +func (i GetClusterNativeNodePoolsNodePoolAnnotationArgs) ToGetClusterNativeNodePoolsNodePoolAnnotationOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolAnnotationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterNativeNodePoolsNodePoolAnnotationOutput) } -// GetClusterInstancesFilterArrayInput is an input type that accepts GetClusterInstancesFilterArray and GetClusterInstancesFilterArrayOutput values. -// You can construct a concrete instance of `GetClusterInstancesFilterArrayInput` via: +// GetClusterNativeNodePoolsNodePoolAnnotationArrayInput is an input type that accepts GetClusterNativeNodePoolsNodePoolAnnotationArray and GetClusterNativeNodePoolsNodePoolAnnotationArrayOutput values. +// You can construct a concrete instance of `GetClusterNativeNodePoolsNodePoolAnnotationArrayInput` via: // -// GetClusterInstancesFilterArray{ GetClusterInstancesFilterArgs{...} } -type GetClusterInstancesFilterArrayInput interface { +// GetClusterNativeNodePoolsNodePoolAnnotationArray{ GetClusterNativeNodePoolsNodePoolAnnotationArgs{...} } +type GetClusterNativeNodePoolsNodePoolAnnotationArrayInput interface { pulumi.Input - ToGetClusterInstancesFilterArrayOutput() GetClusterInstancesFilterArrayOutput - ToGetClusterInstancesFilterArrayOutputWithContext(context.Context) GetClusterInstancesFilterArrayOutput + ToGetClusterNativeNodePoolsNodePoolAnnotationArrayOutput() GetClusterNativeNodePoolsNodePoolAnnotationArrayOutput + ToGetClusterNativeNodePoolsNodePoolAnnotationArrayOutputWithContext(context.Context) GetClusterNativeNodePoolsNodePoolAnnotationArrayOutput } -type GetClusterInstancesFilterArray []GetClusterInstancesFilterInput +type GetClusterNativeNodePoolsNodePoolAnnotationArray []GetClusterNativeNodePoolsNodePoolAnnotationInput -func (GetClusterInstancesFilterArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterInstancesFilter)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolAnnotationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterNativeNodePoolsNodePoolAnnotation)(nil)).Elem() } -func (i GetClusterInstancesFilterArray) ToGetClusterInstancesFilterArrayOutput() GetClusterInstancesFilterArrayOutput { - return i.ToGetClusterInstancesFilterArrayOutputWithContext(context.Background()) +func (i GetClusterNativeNodePoolsNodePoolAnnotationArray) ToGetClusterNativeNodePoolsNodePoolAnnotationArrayOutput() GetClusterNativeNodePoolsNodePoolAnnotationArrayOutput { + return i.ToGetClusterNativeNodePoolsNodePoolAnnotationArrayOutputWithContext(context.Background()) } -func (i GetClusterInstancesFilterArray) ToGetClusterInstancesFilterArrayOutputWithContext(ctx context.Context) GetClusterInstancesFilterArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesFilterArrayOutput) +func (i GetClusterNativeNodePoolsNodePoolAnnotationArray) ToGetClusterNativeNodePoolsNodePoolAnnotationArrayOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolAnnotationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterNativeNodePoolsNodePoolAnnotationArrayOutput) } -type GetClusterInstancesFilterOutput struct{ *pulumi.OutputState } +type GetClusterNativeNodePoolsNodePoolAnnotationOutput struct{ *pulumi.OutputState } -func (GetClusterInstancesFilterOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterInstancesFilter)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolAnnotationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolAnnotation)(nil)).Elem() } -func (o GetClusterInstancesFilterOutput) ToGetClusterInstancesFilterOutput() GetClusterInstancesFilterOutput { +func (o GetClusterNativeNodePoolsNodePoolAnnotationOutput) ToGetClusterNativeNodePoolsNodePoolAnnotationOutput() GetClusterNativeNodePoolsNodePoolAnnotationOutput { return o } -func (o GetClusterInstancesFilterOutput) ToGetClusterInstancesFilterOutputWithContext(ctx context.Context) GetClusterInstancesFilterOutput { +func (o GetClusterNativeNodePoolsNodePoolAnnotationOutput) ToGetClusterNativeNodePoolsNodePoolAnnotationOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolAnnotationOutput { return o } // The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. -func (o GetClusterInstancesFilterOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterInstancesFilter) string { return v.Name }).(pulumi.StringOutput) +func (o GetClusterNativeNodePoolsNodePoolAnnotationOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolAnnotation) string { return v.Name }).(pulumi.StringOutput) } -// Attribute values, if there are multiple values in the same filter, the relationship between values under the same filter is a logical OR relationship. -func (o GetClusterInstancesFilterOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetClusterInstancesFilter) []string { return v.Values }).(pulumi.StringArrayOutput) +// Value of the taint. +func (o GetClusterNativeNodePoolsNodePoolAnnotationOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolAnnotation) string { return v.Value }).(pulumi.StringOutput) } -type GetClusterInstancesFilterArrayOutput struct{ *pulumi.OutputState } +type GetClusterNativeNodePoolsNodePoolAnnotationArrayOutput struct{ *pulumi.OutputState } -func (GetClusterInstancesFilterArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterInstancesFilter)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolAnnotationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterNativeNodePoolsNodePoolAnnotation)(nil)).Elem() } -func (o GetClusterInstancesFilterArrayOutput) ToGetClusterInstancesFilterArrayOutput() GetClusterInstancesFilterArrayOutput { +func (o GetClusterNativeNodePoolsNodePoolAnnotationArrayOutput) ToGetClusterNativeNodePoolsNodePoolAnnotationArrayOutput() GetClusterNativeNodePoolsNodePoolAnnotationArrayOutput { return o } -func (o GetClusterInstancesFilterArrayOutput) ToGetClusterInstancesFilterArrayOutputWithContext(ctx context.Context) GetClusterInstancesFilterArrayOutput { +func (o GetClusterNativeNodePoolsNodePoolAnnotationArrayOutput) ToGetClusterNativeNodePoolsNodePoolAnnotationArrayOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolAnnotationArrayOutput { return o } -func (o GetClusterInstancesFilterArrayOutput) Index(i pulumi.IntInput) GetClusterInstancesFilterOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterInstancesFilter { - return vs[0].([]GetClusterInstancesFilter)[vs[1].(int)] - }).(GetClusterInstancesFilterOutput) +func (o GetClusterNativeNodePoolsNodePoolAnnotationArrayOutput) Index(i pulumi.IntInput) GetClusterNativeNodePoolsNodePoolAnnotationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterNativeNodePoolsNodePoolAnnotation { + return vs[0].([]GetClusterNativeNodePoolsNodePoolAnnotation)[vs[1].(int)] + }).(GetClusterNativeNodePoolsNodePoolAnnotationOutput) } -type GetClusterInstancesInstanceSet struct { - // Auto scaling group ID. - AutoscalingGroupId string `pulumi:"autoscalingGroupId"` - // Add time. - CreatedTime string `pulumi:"createdTime"` - // Whether the instance is blocked. - DrainStatus string `pulumi:"drainStatus"` - // Reasons for instance exception (or being initialized). - FailedReason string `pulumi:"failedReason"` - // Node configuration. - InstanceAdvancedSettings []GetClusterInstancesInstanceSetInstanceAdvancedSetting `pulumi:"instanceAdvancedSettings"` - // Instance ID. - InstanceId string `pulumi:"instanceId"` - // Node role, MASTER, WORKER, ETCD, MASTER_ETCD,ALL, default is WORKER. - InstanceRole string `pulumi:"instanceRole"` - // The status of the instance (running, initializing, failed). - InstanceState string `pulumi:"instanceState"` - // Node intranet IP. - LanIp string `pulumi:"lanIp"` - // Resource pool ID. - NodePoolId string `pulumi:"nodePoolId"` +type GetClusterNativeNodePoolsNodePoolLabel struct { + // The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + Name string `pulumi:"name"` + // Value of the taint. + Value string `pulumi:"value"` } -// GetClusterInstancesInstanceSetInput is an input type that accepts GetClusterInstancesInstanceSetArgs and GetClusterInstancesInstanceSetOutput values. -// You can construct a concrete instance of `GetClusterInstancesInstanceSetInput` via: +// GetClusterNativeNodePoolsNodePoolLabelInput is an input type that accepts GetClusterNativeNodePoolsNodePoolLabelArgs and GetClusterNativeNodePoolsNodePoolLabelOutput values. +// You can construct a concrete instance of `GetClusterNativeNodePoolsNodePoolLabelInput` via: // -// GetClusterInstancesInstanceSetArgs{...} -type GetClusterInstancesInstanceSetInput interface { +// GetClusterNativeNodePoolsNodePoolLabelArgs{...} +type GetClusterNativeNodePoolsNodePoolLabelInput interface { pulumi.Input - ToGetClusterInstancesInstanceSetOutput() GetClusterInstancesInstanceSetOutput - ToGetClusterInstancesInstanceSetOutputWithContext(context.Context) GetClusterInstancesInstanceSetOutput + ToGetClusterNativeNodePoolsNodePoolLabelOutput() GetClusterNativeNodePoolsNodePoolLabelOutput + ToGetClusterNativeNodePoolsNodePoolLabelOutputWithContext(context.Context) GetClusterNativeNodePoolsNodePoolLabelOutput } -type GetClusterInstancesInstanceSetArgs struct { - // Auto scaling group ID. - AutoscalingGroupId pulumi.StringInput `pulumi:"autoscalingGroupId"` - // Add time. - CreatedTime pulumi.StringInput `pulumi:"createdTime"` - // Whether the instance is blocked. - DrainStatus pulumi.StringInput `pulumi:"drainStatus"` - // Reasons for instance exception (or being initialized). - FailedReason pulumi.StringInput `pulumi:"failedReason"` - // Node configuration. - InstanceAdvancedSettings GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayInput `pulumi:"instanceAdvancedSettings"` - // Instance ID. - InstanceId pulumi.StringInput `pulumi:"instanceId"` - // Node role, MASTER, WORKER, ETCD, MASTER_ETCD,ALL, default is WORKER. - InstanceRole pulumi.StringInput `pulumi:"instanceRole"` - // The status of the instance (running, initializing, failed). - InstanceState pulumi.StringInput `pulumi:"instanceState"` - // Node intranet IP. - LanIp pulumi.StringInput `pulumi:"lanIp"` - // Resource pool ID. - NodePoolId pulumi.StringInput `pulumi:"nodePoolId"` +type GetClusterNativeNodePoolsNodePoolLabelArgs struct { + // The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + Name pulumi.StringInput `pulumi:"name"` + // Value of the taint. + Value pulumi.StringInput `pulumi:"value"` } -func (GetClusterInstancesInstanceSetArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterInstancesInstanceSet)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolLabelArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolLabel)(nil)).Elem() } -func (i GetClusterInstancesInstanceSetArgs) ToGetClusterInstancesInstanceSetOutput() GetClusterInstancesInstanceSetOutput { - return i.ToGetClusterInstancesInstanceSetOutputWithContext(context.Background()) +func (i GetClusterNativeNodePoolsNodePoolLabelArgs) ToGetClusterNativeNodePoolsNodePoolLabelOutput() GetClusterNativeNodePoolsNodePoolLabelOutput { + return i.ToGetClusterNativeNodePoolsNodePoolLabelOutputWithContext(context.Background()) } -func (i GetClusterInstancesInstanceSetArgs) ToGetClusterInstancesInstanceSetOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetOutput) +func (i GetClusterNativeNodePoolsNodePoolLabelArgs) ToGetClusterNativeNodePoolsNodePoolLabelOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolLabelOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterNativeNodePoolsNodePoolLabelOutput) } -// GetClusterInstancesInstanceSetArrayInput is an input type that accepts GetClusterInstancesInstanceSetArray and GetClusterInstancesInstanceSetArrayOutput values. -// You can construct a concrete instance of `GetClusterInstancesInstanceSetArrayInput` via: +// GetClusterNativeNodePoolsNodePoolLabelArrayInput is an input type that accepts GetClusterNativeNodePoolsNodePoolLabelArray and GetClusterNativeNodePoolsNodePoolLabelArrayOutput values. +// You can construct a concrete instance of `GetClusterNativeNodePoolsNodePoolLabelArrayInput` via: // -// GetClusterInstancesInstanceSetArray{ GetClusterInstancesInstanceSetArgs{...} } -type GetClusterInstancesInstanceSetArrayInput interface { +// GetClusterNativeNodePoolsNodePoolLabelArray{ GetClusterNativeNodePoolsNodePoolLabelArgs{...} } +type GetClusterNativeNodePoolsNodePoolLabelArrayInput interface { pulumi.Input - ToGetClusterInstancesInstanceSetArrayOutput() GetClusterInstancesInstanceSetArrayOutput - ToGetClusterInstancesInstanceSetArrayOutputWithContext(context.Context) GetClusterInstancesInstanceSetArrayOutput + ToGetClusterNativeNodePoolsNodePoolLabelArrayOutput() GetClusterNativeNodePoolsNodePoolLabelArrayOutput + ToGetClusterNativeNodePoolsNodePoolLabelArrayOutputWithContext(context.Context) GetClusterNativeNodePoolsNodePoolLabelArrayOutput } -type GetClusterInstancesInstanceSetArray []GetClusterInstancesInstanceSetInput +type GetClusterNativeNodePoolsNodePoolLabelArray []GetClusterNativeNodePoolsNodePoolLabelInput -func (GetClusterInstancesInstanceSetArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterInstancesInstanceSet)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolLabelArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterNativeNodePoolsNodePoolLabel)(nil)).Elem() } -func (i GetClusterInstancesInstanceSetArray) ToGetClusterInstancesInstanceSetArrayOutput() GetClusterInstancesInstanceSetArrayOutput { - return i.ToGetClusterInstancesInstanceSetArrayOutputWithContext(context.Background()) +func (i GetClusterNativeNodePoolsNodePoolLabelArray) ToGetClusterNativeNodePoolsNodePoolLabelArrayOutput() GetClusterNativeNodePoolsNodePoolLabelArrayOutput { + return i.ToGetClusterNativeNodePoolsNodePoolLabelArrayOutputWithContext(context.Background()) } -func (i GetClusterInstancesInstanceSetArray) ToGetClusterInstancesInstanceSetArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetArrayOutput) +func (i GetClusterNativeNodePoolsNodePoolLabelArray) ToGetClusterNativeNodePoolsNodePoolLabelArrayOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolLabelArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterNativeNodePoolsNodePoolLabelArrayOutput) } -type GetClusterInstancesInstanceSetOutput struct{ *pulumi.OutputState } +type GetClusterNativeNodePoolsNodePoolLabelOutput struct{ *pulumi.OutputState } -func (GetClusterInstancesInstanceSetOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterInstancesInstanceSet)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolLabelOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolLabel)(nil)).Elem() } -func (o GetClusterInstancesInstanceSetOutput) ToGetClusterInstancesInstanceSetOutput() GetClusterInstancesInstanceSetOutput { +func (o GetClusterNativeNodePoolsNodePoolLabelOutput) ToGetClusterNativeNodePoolsNodePoolLabelOutput() GetClusterNativeNodePoolsNodePoolLabelOutput { return o } -func (o GetClusterInstancesInstanceSetOutput) ToGetClusterInstancesInstanceSetOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetOutput { +func (o GetClusterNativeNodePoolsNodePoolLabelOutput) ToGetClusterNativeNodePoolsNodePoolLabelOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolLabelOutput { return o } -// Auto scaling group ID. -func (o GetClusterInstancesInstanceSetOutput) AutoscalingGroupId() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSet) string { return v.AutoscalingGroupId }).(pulumi.StringOutput) -} - -// Add time. -func (o GetClusterInstancesInstanceSetOutput) CreatedTime() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSet) string { return v.CreatedTime }).(pulumi.StringOutput) -} - -// Whether the instance is blocked. -func (o GetClusterInstancesInstanceSetOutput) DrainStatus() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSet) string { return v.DrainStatus }).(pulumi.StringOutput) +// The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. +func (o GetClusterNativeNodePoolsNodePoolLabelOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolLabel) string { return v.Name }).(pulumi.StringOutput) } -// Reasons for instance exception (or being initialized). -func (o GetClusterInstancesInstanceSetOutput) FailedReason() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSet) string { return v.FailedReason }).(pulumi.StringOutput) +// Value of the taint. +func (o GetClusterNativeNodePoolsNodePoolLabelOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolLabel) string { return v.Value }).(pulumi.StringOutput) } -// Node configuration. -func (o GetClusterInstancesInstanceSetOutput) InstanceAdvancedSettings() GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSet) []GetClusterInstancesInstanceSetInstanceAdvancedSetting { - return v.InstanceAdvancedSettings - }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutput) -} +type GetClusterNativeNodePoolsNodePoolLabelArrayOutput struct{ *pulumi.OutputState } -// Instance ID. -func (o GetClusterInstancesInstanceSetOutput) InstanceId() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSet) string { return v.InstanceId }).(pulumi.StringOutput) +func (GetClusterNativeNodePoolsNodePoolLabelArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterNativeNodePoolsNodePoolLabel)(nil)).Elem() } -// Node role, MASTER, WORKER, ETCD, MASTER_ETCD,ALL, default is WORKER. -func (o GetClusterInstancesInstanceSetOutput) InstanceRole() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSet) string { return v.InstanceRole }).(pulumi.StringOutput) +func (o GetClusterNativeNodePoolsNodePoolLabelArrayOutput) ToGetClusterNativeNodePoolsNodePoolLabelArrayOutput() GetClusterNativeNodePoolsNodePoolLabelArrayOutput { + return o } -// The status of the instance (running, initializing, failed). -func (o GetClusterInstancesInstanceSetOutput) InstanceState() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSet) string { return v.InstanceState }).(pulumi.StringOutput) +func (o GetClusterNativeNodePoolsNodePoolLabelArrayOutput) ToGetClusterNativeNodePoolsNodePoolLabelArrayOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolLabelArrayOutput { + return o } -// Node intranet IP. -func (o GetClusterInstancesInstanceSetOutput) LanIp() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSet) string { return v.LanIp }).(pulumi.StringOutput) +func (o GetClusterNativeNodePoolsNodePoolLabelArrayOutput) Index(i pulumi.IntInput) GetClusterNativeNodePoolsNodePoolLabelOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterNativeNodePoolsNodePoolLabel { + return vs[0].([]GetClusterNativeNodePoolsNodePoolLabel)[vs[1].(int)] + }).(GetClusterNativeNodePoolsNodePoolLabelOutput) } -// Resource pool ID. -func (o GetClusterInstancesInstanceSetOutput) NodePoolId() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSet) string { return v.NodePoolId }).(pulumi.StringOutput) +type GetClusterNativeNodePoolsNodePoolNative struct { + // Whether to enable self-healing ability. + AutoRepair bool `pulumi:"autoRepair"` + // Native node pool data disk list. + DataDisks []GetClusterNativeNodePoolsNodePoolNativeDataDisk `pulumi:"dataDisks"` + // Whether to enable elastic scaling. + EnableAutoscaling bool `pulumi:"enableAutoscaling"` + // Fault self-healing rule name. + HealthCheckPolicyName string `pulumi:"healthCheckPolicyName"` + // Native node pool hostName pattern string. + HostNamePattern string `pulumi:"hostNamePattern"` + // Billing configuration for yearly and monthly models. + InstanceChargePrepaids []GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaid `pulumi:"instanceChargePrepaids"` + // Node billing type. `PREPAID` is a yearly and monthly subscription, `POSTPAID_BY_HOUR` is a pay-as-you-go plan. The default is `POSTPAID_BY_HOUR`. + InstanceChargeType string `pulumi:"instanceChargeType"` + // Model list. + InstanceTypes []string `pulumi:"instanceTypes"` + // Public network bandwidth settings. + InternetAccessibles []GetClusterNativeNodePoolsNodePoolNativeInternetAccessible `pulumi:"internetAccessibles"` + // Node pool ssh public key id array. + KeyIds []string `pulumi:"keyIds"` + // Kubelet custom parameters. + KubeletArgs []string `pulumi:"kubeletArgs"` + // Predefined scripts. + Lifecycles []GetClusterNativeNodePoolsNodePoolNativeLifecycle `pulumi:"lifecycles"` + // Node pool management parameter settings. + Managements []GetClusterNativeNodePoolsNodePoolNativeManagement `pulumi:"managements"` + // Desired number of nodes. + Replicas int `pulumi:"replicas"` + // Runtime root directory. + RuntimeRootDir string `pulumi:"runtimeRootDir"` + // Node pool scaling configuration. + Scalings []GetClusterNativeNodePoolsNodePoolNativeScaling `pulumi:"scalings"` + // Security group list. + SecurityGroupIds []string `pulumi:"securityGroupIds"` + // Subnet list. + SubnetIds []string `pulumi:"subnetIds"` + // System disk configuration. + SystemDisks []GetClusterNativeNodePoolsNodePoolNativeSystemDisk `pulumi:"systemDisks"` } -type GetClusterInstancesInstanceSetArrayOutput struct{ *pulumi.OutputState } - -func (GetClusterInstancesInstanceSetArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterInstancesInstanceSet)(nil)).Elem() -} +// GetClusterNativeNodePoolsNodePoolNativeInput is an input type that accepts GetClusterNativeNodePoolsNodePoolNativeArgs and GetClusterNativeNodePoolsNodePoolNativeOutput values. +// You can construct a concrete instance of `GetClusterNativeNodePoolsNodePoolNativeInput` via: +// +// GetClusterNativeNodePoolsNodePoolNativeArgs{...} +type GetClusterNativeNodePoolsNodePoolNativeInput interface { + pulumi.Input -func (o GetClusterInstancesInstanceSetArrayOutput) ToGetClusterInstancesInstanceSetArrayOutput() GetClusterInstancesInstanceSetArrayOutput { - return o + ToGetClusterNativeNodePoolsNodePoolNativeOutput() GetClusterNativeNodePoolsNodePoolNativeOutput + ToGetClusterNativeNodePoolsNodePoolNativeOutputWithContext(context.Context) GetClusterNativeNodePoolsNodePoolNativeOutput +} + +type GetClusterNativeNodePoolsNodePoolNativeArgs struct { + // Whether to enable self-healing ability. + AutoRepair pulumi.BoolInput `pulumi:"autoRepair"` + // Native node pool data disk list. + DataDisks GetClusterNativeNodePoolsNodePoolNativeDataDiskArrayInput `pulumi:"dataDisks"` + // Whether to enable elastic scaling. + EnableAutoscaling pulumi.BoolInput `pulumi:"enableAutoscaling"` + // Fault self-healing rule name. + HealthCheckPolicyName pulumi.StringInput `pulumi:"healthCheckPolicyName"` + // Native node pool hostName pattern string. + HostNamePattern pulumi.StringInput `pulumi:"hostNamePattern"` + // Billing configuration for yearly and monthly models. + InstanceChargePrepaids GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArrayInput `pulumi:"instanceChargePrepaids"` + // Node billing type. `PREPAID` is a yearly and monthly subscription, `POSTPAID_BY_HOUR` is a pay-as-you-go plan. The default is `POSTPAID_BY_HOUR`. + InstanceChargeType pulumi.StringInput `pulumi:"instanceChargeType"` + // Model list. + InstanceTypes pulumi.StringArrayInput `pulumi:"instanceTypes"` + // Public network bandwidth settings. + InternetAccessibles GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArrayInput `pulumi:"internetAccessibles"` + // Node pool ssh public key id array. + KeyIds pulumi.StringArrayInput `pulumi:"keyIds"` + // Kubelet custom parameters. + KubeletArgs pulumi.StringArrayInput `pulumi:"kubeletArgs"` + // Predefined scripts. + Lifecycles GetClusterNativeNodePoolsNodePoolNativeLifecycleArrayInput `pulumi:"lifecycles"` + // Node pool management parameter settings. + Managements GetClusterNativeNodePoolsNodePoolNativeManagementArrayInput `pulumi:"managements"` + // Desired number of nodes. + Replicas pulumi.IntInput `pulumi:"replicas"` + // Runtime root directory. + RuntimeRootDir pulumi.StringInput `pulumi:"runtimeRootDir"` + // Node pool scaling configuration. + Scalings GetClusterNativeNodePoolsNodePoolNativeScalingArrayInput `pulumi:"scalings"` + // Security group list. + SecurityGroupIds pulumi.StringArrayInput `pulumi:"securityGroupIds"` + // Subnet list. + SubnetIds pulumi.StringArrayInput `pulumi:"subnetIds"` + // System disk configuration. + SystemDisks GetClusterNativeNodePoolsNodePoolNativeSystemDiskArrayInput `pulumi:"systemDisks"` } -func (o GetClusterInstancesInstanceSetArrayOutput) ToGetClusterInstancesInstanceSetArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetArrayOutput { - return o +func (GetClusterNativeNodePoolsNodePoolNativeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolNative)(nil)).Elem() } -func (o GetClusterInstancesInstanceSetArrayOutput) Index(i pulumi.IntInput) GetClusterInstancesInstanceSetOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterInstancesInstanceSet { - return vs[0].([]GetClusterInstancesInstanceSet)[vs[1].(int)] - }).(GetClusterInstancesInstanceSetOutput) +func (i GetClusterNativeNodePoolsNodePoolNativeArgs) ToGetClusterNativeNodePoolsNodePoolNativeOutput() GetClusterNativeNodePoolsNodePoolNativeOutput { + return i.ToGetClusterNativeNodePoolsNodePoolNativeOutputWithContext(context.Background()) } -type GetClusterInstancesInstanceSetInstanceAdvancedSetting struct { - // Multi-disk data disk mounting information. - DataDisks []GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDisk `pulumi:"dataDisks"` - // When the node belongs to the podCIDR size customization mode, you can specify the upper limit of the number of pods running on the node. - DesiredPodNumber int `pulumi:"desiredPodNumber"` - // Dockerd --graph specifies the value, the default is /var/lib/docker. - DockerGraphPath string `pulumi:"dockerGraphPath"` - // Node-related custom parameter information. - ExtraArgs []GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArg `pulumi:"extraArgs"` - // GPU driver related parameters, obtain related GPU parameters: https://cloud.tencent.com/document/api/213/15715. - GpuArgs []GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArg `pulumi:"gpuArgs"` - // Node Label array. - Labels []GetClusterInstancesInstanceSetInstanceAdvancedSettingLabel `pulumi:"labels"` - // Data disk mount point, the data disk is not mounted by default. Formatted ext3, ext4, xfs file system data disks will be mounted directly. Other file systems or unformatted data disks will be automatically formatted as ext4 (tlinux system formatted as xfs) and mounted. Please pay attention to backing up the data. This setting does not take effect for cloud hosts that have no data disks or multiple data disks. - MountTarget string `pulumi:"mountTarget"` - // Base64 encoded user script, executed before initializing the node, currently only effective for adding existing nodes. - PreStartUserScript string `pulumi:"preStartUserScript"` - // Node taint. - Taints []GetClusterInstancesInstanceSetInstanceAdvancedSettingTaint `pulumi:"taints"` - // Set whether the added node participates in scheduling. The default value is 0, which means participating in scheduling; non-0 means not participating in scheduling. After the node initialization is completed, you can execute kubectl uncordon nodename to join the node in scheduling. - Unschedulable int `pulumi:"unschedulable"` - // Base64 encoded userscript. - UserScript string `pulumi:"userScript"` +func (i GetClusterNativeNodePoolsNodePoolNativeArgs) ToGetClusterNativeNodePoolsNodePoolNativeOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolNativeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterNativeNodePoolsNodePoolNativeOutput) } -// GetClusterInstancesInstanceSetInstanceAdvancedSettingInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingArgs and GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput values. -// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingInput` via: +// GetClusterNativeNodePoolsNodePoolNativeArrayInput is an input type that accepts GetClusterNativeNodePoolsNodePoolNativeArray and GetClusterNativeNodePoolsNodePoolNativeArrayOutput values. +// You can construct a concrete instance of `GetClusterNativeNodePoolsNodePoolNativeArrayInput` via: // -// GetClusterInstancesInstanceSetInstanceAdvancedSettingArgs{...} -type GetClusterInstancesInstanceSetInstanceAdvancedSettingInput interface { +// GetClusterNativeNodePoolsNodePoolNativeArray{ GetClusterNativeNodePoolsNodePoolNativeArgs{...} } +type GetClusterNativeNodePoolsNodePoolNativeArrayInput interface { pulumi.Input - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput + ToGetClusterNativeNodePoolsNodePoolNativeArrayOutput() GetClusterNativeNodePoolsNodePoolNativeArrayOutput + ToGetClusterNativeNodePoolsNodePoolNativeArrayOutputWithContext(context.Context) GetClusterNativeNodePoolsNodePoolNativeArrayOutput } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingArgs struct { - // Multi-disk data disk mounting information. - DataDisks GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayInput `pulumi:"dataDisks"` - // When the node belongs to the podCIDR size customization mode, you can specify the upper limit of the number of pods running on the node. - DesiredPodNumber pulumi.IntInput `pulumi:"desiredPodNumber"` - // Dockerd --graph specifies the value, the default is /var/lib/docker. - DockerGraphPath pulumi.StringInput `pulumi:"dockerGraphPath"` - // Node-related custom parameter information. - ExtraArgs GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayInput `pulumi:"extraArgs"` - // GPU driver related parameters, obtain related GPU parameters: https://cloud.tencent.com/document/api/213/15715. - GpuArgs GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayInput `pulumi:"gpuArgs"` - // Node Label array. - Labels GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayInput `pulumi:"labels"` - // Data disk mount point, the data disk is not mounted by default. Formatted ext3, ext4, xfs file system data disks will be mounted directly. Other file systems or unformatted data disks will be automatically formatted as ext4 (tlinux system formatted as xfs) and mounted. Please pay attention to backing up the data. This setting does not take effect for cloud hosts that have no data disks or multiple data disks. - MountTarget pulumi.StringInput `pulumi:"mountTarget"` - // Base64 encoded user script, executed before initializing the node, currently only effective for adding existing nodes. - PreStartUserScript pulumi.StringInput `pulumi:"preStartUserScript"` - // Node taint. - Taints GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayInput `pulumi:"taints"` - // Set whether the added node participates in scheduling. The default value is 0, which means participating in scheduling; non-0 means not participating in scheduling. After the node initialization is completed, you can execute kubectl uncordon nodename to join the node in scheduling. - Unschedulable pulumi.IntInput `pulumi:"unschedulable"` - // Base64 encoded userscript. - UserScript pulumi.StringInput `pulumi:"userScript"` -} +type GetClusterNativeNodePoolsNodePoolNativeArray []GetClusterNativeNodePoolsNodePoolNativeInput -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSetting)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolNativeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterNativeNodePoolsNodePoolNative)(nil)).Elem() } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput { - return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingOutputWithContext(context.Background()) +func (i GetClusterNativeNodePoolsNodePoolNativeArray) ToGetClusterNativeNodePoolsNodePoolNativeArrayOutput() GetClusterNativeNodePoolsNodePoolNativeArrayOutput { + return i.ToGetClusterNativeNodePoolsNodePoolNativeArrayOutputWithContext(context.Background()) } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput) +func (i GetClusterNativeNodePoolsNodePoolNativeArray) ToGetClusterNativeNodePoolsNodePoolNativeArrayOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolNativeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterNativeNodePoolsNodePoolNativeArrayOutput) } -// GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingArray and GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutput values. -// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayInput` via: -// -// GetClusterInstancesInstanceSetInstanceAdvancedSettingArray{ GetClusterInstancesInstanceSetInstanceAdvancedSettingArgs{...} } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayInput interface { - pulumi.Input +type GetClusterNativeNodePoolsNodePoolNativeOutput struct{ *pulumi.OutputState } - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutput - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutput +func (GetClusterNativeNodePoolsNodePoolNativeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolNative)(nil)).Elem() } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingArray []GetClusterInstancesInstanceSetInstanceAdvancedSettingInput +func (o GetClusterNativeNodePoolsNodePoolNativeOutput) ToGetClusterNativeNodePoolsNodePoolNativeOutput() GetClusterNativeNodePoolsNodePoolNativeOutput { + return o +} -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSetting)(nil)).Elem() +func (o GetClusterNativeNodePoolsNodePoolNativeOutput) ToGetClusterNativeNodePoolsNodePoolNativeOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolNativeOutput { + return o } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutput { - return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutputWithContext(context.Background()) +// Whether to enable self-healing ability. +func (o GetClusterNativeNodePoolsNodePoolNativeOutput) AutoRepair() pulumi.BoolOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNative) bool { return v.AutoRepair }).(pulumi.BoolOutput) +} + +// Native node pool data disk list. +func (o GetClusterNativeNodePoolsNodePoolNativeOutput) DataDisks() GetClusterNativeNodePoolsNodePoolNativeDataDiskArrayOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNative) []GetClusterNativeNodePoolsNodePoolNativeDataDisk { + return v.DataDisks + }).(GetClusterNativeNodePoolsNodePoolNativeDataDiskArrayOutput) +} + +// Whether to enable elastic scaling. +func (o GetClusterNativeNodePoolsNodePoolNativeOutput) EnableAutoscaling() pulumi.BoolOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNative) bool { return v.EnableAutoscaling }).(pulumi.BoolOutput) } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutput) +// Fault self-healing rule name. +func (o GetClusterNativeNodePoolsNodePoolNativeOutput) HealthCheckPolicyName() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNative) string { return v.HealthCheckPolicyName }).(pulumi.StringOutput) } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput struct{ *pulumi.OutputState } +// Native node pool hostName pattern string. +func (o GetClusterNativeNodePoolsNodePoolNativeOutput) HostNamePattern() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNative) string { return v.HostNamePattern }).(pulumi.StringOutput) +} -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSetting)(nil)).Elem() +// Billing configuration for yearly and monthly models. +func (o GetClusterNativeNodePoolsNodePoolNativeOutput) InstanceChargePrepaids() GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArrayOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNative) []GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaid { + return v.InstanceChargePrepaids + }).(GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArrayOutput) } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput { - return o +// Node billing type. `PREPAID` is a yearly and monthly subscription, `POSTPAID_BY_HOUR` is a pay-as-you-go plan. The default is `POSTPAID_BY_HOUR`. +func (o GetClusterNativeNodePoolsNodePoolNativeOutput) InstanceChargeType() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNative) string { return v.InstanceChargeType }).(pulumi.StringOutput) } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput { - return o +// Model list. +func (o GetClusterNativeNodePoolsNodePoolNativeOutput) InstanceTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNative) []string { return v.InstanceTypes }).(pulumi.StringArrayOutput) } -// Multi-disk data disk mounting information. -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput) DataDisks() GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSetting) []GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDisk { - return v.DataDisks - }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutput) +// Public network bandwidth settings. +func (o GetClusterNativeNodePoolsNodePoolNativeOutput) InternetAccessibles() GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArrayOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNative) []GetClusterNativeNodePoolsNodePoolNativeInternetAccessible { + return v.InternetAccessibles + }).(GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArrayOutput) } -// When the node belongs to the podCIDR size customization mode, you can specify the upper limit of the number of pods running on the node. -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput) DesiredPodNumber() pulumi.IntOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSetting) int { return v.DesiredPodNumber }).(pulumi.IntOutput) +// Node pool ssh public key id array. +func (o GetClusterNativeNodePoolsNodePoolNativeOutput) KeyIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNative) []string { return v.KeyIds }).(pulumi.StringArrayOutput) } -// Dockerd --graph specifies the value, the default is /var/lib/docker. -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput) DockerGraphPath() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSetting) string { return v.DockerGraphPath }).(pulumi.StringOutput) +// Kubelet custom parameters. +func (o GetClusterNativeNodePoolsNodePoolNativeOutput) KubeletArgs() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNative) []string { return v.KubeletArgs }).(pulumi.StringArrayOutput) } -// Node-related custom parameter information. -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput) ExtraArgs() GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSetting) []GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArg { - return v.ExtraArgs - }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutput) +// Predefined scripts. +func (o GetClusterNativeNodePoolsNodePoolNativeOutput) Lifecycles() GetClusterNativeNodePoolsNodePoolNativeLifecycleArrayOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNative) []GetClusterNativeNodePoolsNodePoolNativeLifecycle { + return v.Lifecycles + }).(GetClusterNativeNodePoolsNodePoolNativeLifecycleArrayOutput) } -// GPU driver related parameters, obtain related GPU parameters: https://cloud.tencent.com/document/api/213/15715. -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput) GpuArgs() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSetting) []GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArg { - return v.GpuArgs - }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutput) +// Node pool management parameter settings. +func (o GetClusterNativeNodePoolsNodePoolNativeOutput) Managements() GetClusterNativeNodePoolsNodePoolNativeManagementArrayOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNative) []GetClusterNativeNodePoolsNodePoolNativeManagement { + return v.Managements + }).(GetClusterNativeNodePoolsNodePoolNativeManagementArrayOutput) } -// Node Label array. -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput) Labels() GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSetting) []GetClusterInstancesInstanceSetInstanceAdvancedSettingLabel { - return v.Labels - }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutput) +// Desired number of nodes. +func (o GetClusterNativeNodePoolsNodePoolNativeOutput) Replicas() pulumi.IntOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNative) int { return v.Replicas }).(pulumi.IntOutput) } -// Data disk mount point, the data disk is not mounted by default. Formatted ext3, ext4, xfs file system data disks will be mounted directly. Other file systems or unformatted data disks will be automatically formatted as ext4 (tlinux system formatted as xfs) and mounted. Please pay attention to backing up the data. This setting does not take effect for cloud hosts that have no data disks or multiple data disks. -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput) MountTarget() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSetting) string { return v.MountTarget }).(pulumi.StringOutput) +// Runtime root directory. +func (o GetClusterNativeNodePoolsNodePoolNativeOutput) RuntimeRootDir() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNative) string { return v.RuntimeRootDir }).(pulumi.StringOutput) } -// Base64 encoded user script, executed before initializing the node, currently only effective for adding existing nodes. -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput) PreStartUserScript() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSetting) string { return v.PreStartUserScript }).(pulumi.StringOutput) +// Node pool scaling configuration. +func (o GetClusterNativeNodePoolsNodePoolNativeOutput) Scalings() GetClusterNativeNodePoolsNodePoolNativeScalingArrayOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNative) []GetClusterNativeNodePoolsNodePoolNativeScaling { + return v.Scalings + }).(GetClusterNativeNodePoolsNodePoolNativeScalingArrayOutput) } -// Node taint. -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput) Taints() GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSetting) []GetClusterInstancesInstanceSetInstanceAdvancedSettingTaint { - return v.Taints - }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput) +// Security group list. +func (o GetClusterNativeNodePoolsNodePoolNativeOutput) SecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNative) []string { return v.SecurityGroupIds }).(pulumi.StringArrayOutput) } -// Set whether the added node participates in scheduling. The default value is 0, which means participating in scheduling; non-0 means not participating in scheduling. After the node initialization is completed, you can execute kubectl uncordon nodename to join the node in scheduling. -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput) Unschedulable() pulumi.IntOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSetting) int { return v.Unschedulable }).(pulumi.IntOutput) +// Subnet list. +func (o GetClusterNativeNodePoolsNodePoolNativeOutput) SubnetIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNative) []string { return v.SubnetIds }).(pulumi.StringArrayOutput) } -// Base64 encoded userscript. -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput) UserScript() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSetting) string { return v.UserScript }).(pulumi.StringOutput) +// System disk configuration. +func (o GetClusterNativeNodePoolsNodePoolNativeOutput) SystemDisks() GetClusterNativeNodePoolsNodePoolNativeSystemDiskArrayOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNative) []GetClusterNativeNodePoolsNodePoolNativeSystemDisk { + return v.SystemDisks + }).(GetClusterNativeNodePoolsNodePoolNativeSystemDiskArrayOutput) } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutput struct{ *pulumi.OutputState } +type GetClusterNativeNodePoolsNodePoolNativeArrayOutput struct{ *pulumi.OutputState } -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSetting)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolNativeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterNativeNodePoolsNodePoolNative)(nil)).Elem() } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutput { +func (o GetClusterNativeNodePoolsNodePoolNativeArrayOutput) ToGetClusterNativeNodePoolsNodePoolNativeArrayOutput() GetClusterNativeNodePoolsNodePoolNativeArrayOutput { return o } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutput { +func (o GetClusterNativeNodePoolsNodePoolNativeArrayOutput) ToGetClusterNativeNodePoolsNodePoolNativeArrayOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolNativeArrayOutput { return o } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingArrayOutput) Index(i pulumi.IntInput) GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterInstancesInstanceSetInstanceAdvancedSetting { - return vs[0].([]GetClusterInstancesInstanceSetInstanceAdvancedSetting)[vs[1].(int)] - }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingOutput) +func (o GetClusterNativeNodePoolsNodePoolNativeArrayOutput) Index(i pulumi.IntInput) GetClusterNativeNodePoolsNodePoolNativeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterNativeNodePoolsNodePoolNative { + return vs[0].([]GetClusterNativeNodePoolsNodePoolNative)[vs[1].(int)] + }).(GetClusterNativeNodePoolsNodePoolNativeOutput) } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDisk struct { +type GetClusterNativeNodePoolsNodePoolNativeDataDisk struct { // Whether to automatically format the disk and mount it. AutoFormatAndMount bool `pulumi:"autoFormatAndMount"` - // Mount device name or partition name, required when and only when adding an existing node. + // Mount device name or partition name. DiskPartition string `pulumi:"diskPartition"` // Cloud disk size (G). DiskSize int `pulumi:"diskSize"` // Cloud disk type. DiskType string `pulumi:"diskType"` + // Pass in this parameter to create an encrypted cloud disk. The value is fixed to `ENCRYPT`. + Encrypt string `pulumi:"encrypt"` // File system (ext3/ext4/xfs). FileSystem string `pulumi:"fileSystem"` - // Data disk mount point, the data disk is not mounted by default. Formatted ext3, ext4, xfs file system data disks will be mounted directly. Other file systems or unformatted data disks will be automatically formatted as ext4 (tlinux system formatted as xfs) and mounted. Please pay attention to backing up the data. This setting does not take effect for cloud hosts that have no data disks or multiple data disks. + // Customize the key when purchasing an encrypted disk. When this parameter is passed in, the Encrypt parameter is not empty. + KmsKeyId string `pulumi:"kmsKeyId"` + // Mount directory. MountTarget string `pulumi:"mountTarget"` + // Snapshot ID. If passed in, the cloud disk will be created based on this snapshot. The snapshot type must be a data disk snapshot. + SnapshotId string `pulumi:"snapshotId"` + // Cloud disk performance, unit: MB/s. Use this parameter to purchase additional performance for the cloud disk. + ThroughputPerformance int `pulumi:"throughputPerformance"` } -// GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArgs and GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput values. -// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskInput` via: +// GetClusterNativeNodePoolsNodePoolNativeDataDiskInput is an input type that accepts GetClusterNativeNodePoolsNodePoolNativeDataDiskArgs and GetClusterNativeNodePoolsNodePoolNativeDataDiskOutput values. +// You can construct a concrete instance of `GetClusterNativeNodePoolsNodePoolNativeDataDiskInput` via: // -// GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArgs{...} -type GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskInput interface { +// GetClusterNativeNodePoolsNodePoolNativeDataDiskArgs{...} +type GetClusterNativeNodePoolsNodePoolNativeDataDiskInput interface { pulumi.Input - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput + ToGetClusterNativeNodePoolsNodePoolNativeDataDiskOutput() GetClusterNativeNodePoolsNodePoolNativeDataDiskOutput + ToGetClusterNativeNodePoolsNodePoolNativeDataDiskOutputWithContext(context.Context) GetClusterNativeNodePoolsNodePoolNativeDataDiskOutput } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArgs struct { +type GetClusterNativeNodePoolsNodePoolNativeDataDiskArgs struct { // Whether to automatically format the disk and mount it. AutoFormatAndMount pulumi.BoolInput `pulumi:"autoFormatAndMount"` - // Mount device name or partition name, required when and only when adding an existing node. + // Mount device name or partition name. DiskPartition pulumi.StringInput `pulumi:"diskPartition"` // Cloud disk size (G). DiskSize pulumi.IntInput `pulumi:"diskSize"` // Cloud disk type. DiskType pulumi.StringInput `pulumi:"diskType"` + // Pass in this parameter to create an encrypted cloud disk. The value is fixed to `ENCRYPT`. + Encrypt pulumi.StringInput `pulumi:"encrypt"` // File system (ext3/ext4/xfs). FileSystem pulumi.StringInput `pulumi:"fileSystem"` - // Data disk mount point, the data disk is not mounted by default. Formatted ext3, ext4, xfs file system data disks will be mounted directly. Other file systems or unformatted data disks will be automatically formatted as ext4 (tlinux system formatted as xfs) and mounted. Please pay attention to backing up the data. This setting does not take effect for cloud hosts that have no data disks or multiple data disks. + // Customize the key when purchasing an encrypted disk. When this parameter is passed in, the Encrypt parameter is not empty. + KmsKeyId pulumi.StringInput `pulumi:"kmsKeyId"` + // Mount directory. MountTarget pulumi.StringInput `pulumi:"mountTarget"` + // Snapshot ID. If passed in, the cloud disk will be created based on this snapshot. The snapshot type must be a data disk snapshot. + SnapshotId pulumi.StringInput `pulumi:"snapshotId"` + // Cloud disk performance, unit: MB/s. Use this parameter to purchase additional performance for the cloud disk. + ThroughputPerformance pulumi.IntInput `pulumi:"throughputPerformance"` } -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDisk)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolNativeDataDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolNativeDataDisk)(nil)).Elem() } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput { - return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutputWithContext(context.Background()) +func (i GetClusterNativeNodePoolsNodePoolNativeDataDiskArgs) ToGetClusterNativeNodePoolsNodePoolNativeDataDiskOutput() GetClusterNativeNodePoolsNodePoolNativeDataDiskOutput { + return i.ToGetClusterNativeNodePoolsNodePoolNativeDataDiskOutputWithContext(context.Background()) } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput) +func (i GetClusterNativeNodePoolsNodePoolNativeDataDiskArgs) ToGetClusterNativeNodePoolsNodePoolNativeDataDiskOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolNativeDataDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterNativeNodePoolsNodePoolNativeDataDiskOutput) } -// GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArray and GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutput values. -// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayInput` via: +// GetClusterNativeNodePoolsNodePoolNativeDataDiskArrayInput is an input type that accepts GetClusterNativeNodePoolsNodePoolNativeDataDiskArray and GetClusterNativeNodePoolsNodePoolNativeDataDiskArrayOutput values. +// You can construct a concrete instance of `GetClusterNativeNodePoolsNodePoolNativeDataDiskArrayInput` via: // -// GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArray{ GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArgs{...} } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayInput interface { +// GetClusterNativeNodePoolsNodePoolNativeDataDiskArray{ GetClusterNativeNodePoolsNodePoolNativeDataDiskArgs{...} } +type GetClusterNativeNodePoolsNodePoolNativeDataDiskArrayInput interface { pulumi.Input - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutput - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutput + ToGetClusterNativeNodePoolsNodePoolNativeDataDiskArrayOutput() GetClusterNativeNodePoolsNodePoolNativeDataDiskArrayOutput + ToGetClusterNativeNodePoolsNodePoolNativeDataDiskArrayOutputWithContext(context.Context) GetClusterNativeNodePoolsNodePoolNativeDataDiskArrayOutput } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArray []GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskInput +type GetClusterNativeNodePoolsNodePoolNativeDataDiskArray []GetClusterNativeNodePoolsNodePoolNativeDataDiskInput -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDisk)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolNativeDataDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterNativeNodePoolsNodePoolNativeDataDisk)(nil)).Elem() } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutput { - return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutputWithContext(context.Background()) +func (i GetClusterNativeNodePoolsNodePoolNativeDataDiskArray) ToGetClusterNativeNodePoolsNodePoolNativeDataDiskArrayOutput() GetClusterNativeNodePoolsNodePoolNativeDataDiskArrayOutput { + return i.ToGetClusterNativeNodePoolsNodePoolNativeDataDiskArrayOutputWithContext(context.Background()) } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutput) +func (i GetClusterNativeNodePoolsNodePoolNativeDataDiskArray) ToGetClusterNativeNodePoolsNodePoolNativeDataDiskArrayOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolNativeDataDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterNativeNodePoolsNodePoolNativeDataDiskArrayOutput) } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput struct{ *pulumi.OutputState } +type GetClusterNativeNodePoolsNodePoolNativeDataDiskOutput struct{ *pulumi.OutputState } -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDisk)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolNativeDataDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolNativeDataDisk)(nil)).Elem() } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput { +func (o GetClusterNativeNodePoolsNodePoolNativeDataDiskOutput) ToGetClusterNativeNodePoolsNodePoolNativeDataDiskOutput() GetClusterNativeNodePoolsNodePoolNativeDataDiskOutput { return o } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput { +func (o GetClusterNativeNodePoolsNodePoolNativeDataDiskOutput) ToGetClusterNativeNodePoolsNodePoolNativeDataDiskOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolNativeDataDiskOutput { return o } // Whether to automatically format the disk and mount it. -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput) AutoFormatAndMount() pulumi.BoolOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDisk) bool { - return v.AutoFormatAndMount - }).(pulumi.BoolOutput) +func (o GetClusterNativeNodePoolsNodePoolNativeDataDiskOutput) AutoFormatAndMount() pulumi.BoolOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNativeDataDisk) bool { return v.AutoFormatAndMount }).(pulumi.BoolOutput) } -// Mount device name or partition name, required when and only when adding an existing node. -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput) DiskPartition() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDisk) string { return v.DiskPartition }).(pulumi.StringOutput) +// Mount device name or partition name. +func (o GetClusterNativeNodePoolsNodePoolNativeDataDiskOutput) DiskPartition() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNativeDataDisk) string { return v.DiskPartition }).(pulumi.StringOutput) } // Cloud disk size (G). -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput) DiskSize() pulumi.IntOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDisk) int { return v.DiskSize }).(pulumi.IntOutput) +func (o GetClusterNativeNodePoolsNodePoolNativeDataDiskOutput) DiskSize() pulumi.IntOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNativeDataDisk) int { return v.DiskSize }).(pulumi.IntOutput) } // Cloud disk type. -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput) DiskType() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDisk) string { return v.DiskType }).(pulumi.StringOutput) +func (o GetClusterNativeNodePoolsNodePoolNativeDataDiskOutput) DiskType() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNativeDataDisk) string { return v.DiskType }).(pulumi.StringOutput) +} + +// Pass in this parameter to create an encrypted cloud disk. The value is fixed to `ENCRYPT`. +func (o GetClusterNativeNodePoolsNodePoolNativeDataDiskOutput) Encrypt() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNativeDataDisk) string { return v.Encrypt }).(pulumi.StringOutput) } // File system (ext3/ext4/xfs). -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput) FileSystem() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDisk) string { return v.FileSystem }).(pulumi.StringOutput) +func (o GetClusterNativeNodePoolsNodePoolNativeDataDiskOutput) FileSystem() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNativeDataDisk) string { return v.FileSystem }).(pulumi.StringOutput) } -// Data disk mount point, the data disk is not mounted by default. Formatted ext3, ext4, xfs file system data disks will be mounted directly. Other file systems or unformatted data disks will be automatically formatted as ext4 (tlinux system formatted as xfs) and mounted. Please pay attention to backing up the data. This setting does not take effect for cloud hosts that have no data disks or multiple data disks. -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput) MountTarget() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDisk) string { return v.MountTarget }).(pulumi.StringOutput) +// Customize the key when purchasing an encrypted disk. When this parameter is passed in, the Encrypt parameter is not empty. +func (o GetClusterNativeNodePoolsNodePoolNativeDataDiskOutput) KmsKeyId() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNativeDataDisk) string { return v.KmsKeyId }).(pulumi.StringOutput) } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutput struct{ *pulumi.OutputState } +// Mount directory. +func (o GetClusterNativeNodePoolsNodePoolNativeDataDiskOutput) MountTarget() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNativeDataDisk) string { return v.MountTarget }).(pulumi.StringOutput) +} -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDisk)(nil)).Elem() +// Snapshot ID. If passed in, the cloud disk will be created based on this snapshot. The snapshot type must be a data disk snapshot. +func (o GetClusterNativeNodePoolsNodePoolNativeDataDiskOutput) SnapshotId() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNativeDataDisk) string { return v.SnapshotId }).(pulumi.StringOutput) } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutput { +// Cloud disk performance, unit: MB/s. Use this parameter to purchase additional performance for the cloud disk. +func (o GetClusterNativeNodePoolsNodePoolNativeDataDiskOutput) ThroughputPerformance() pulumi.IntOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNativeDataDisk) int { return v.ThroughputPerformance }).(pulumi.IntOutput) +} + +type GetClusterNativeNodePoolsNodePoolNativeDataDiskArrayOutput struct{ *pulumi.OutputState } + +func (GetClusterNativeNodePoolsNodePoolNativeDataDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterNativeNodePoolsNodePoolNativeDataDisk)(nil)).Elem() +} + +func (o GetClusterNativeNodePoolsNodePoolNativeDataDiskArrayOutput) ToGetClusterNativeNodePoolsNodePoolNativeDataDiskArrayOutput() GetClusterNativeNodePoolsNodePoolNativeDataDiskArrayOutput { return o } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutput { +func (o GetClusterNativeNodePoolsNodePoolNativeDataDiskArrayOutput) ToGetClusterNativeNodePoolsNodePoolNativeDataDiskArrayOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolNativeDataDiskArrayOutput { return o } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArrayOutput) Index(i pulumi.IntInput) GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDisk { - return vs[0].([]GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDisk)[vs[1].(int)] - }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskOutput) +func (o GetClusterNativeNodePoolsNodePoolNativeDataDiskArrayOutput) Index(i pulumi.IntInput) GetClusterNativeNodePoolsNodePoolNativeDataDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterNativeNodePoolsNodePoolNativeDataDisk { + return vs[0].([]GetClusterNativeNodePoolsNodePoolNativeDataDisk)[vs[1].(int)] + }).(GetClusterNativeNodePoolsNodePoolNativeDataDiskOutput) } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArg struct { - // Kubelet custom parameters. - Kubelets []string `pulumi:"kubelets"` +type GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaid struct { + // Postpaid billing cycle, unit (month): 1, 2, 3, 4, 5,, 6, 7, 8, 9, 10, 11, 12, 24, 36, 48, 60. + Period int `pulumi:"period"` + // Prepaid renewal method: + RenewFlag string `pulumi:"renewFlag"` } -// GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArgs and GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutput values. -// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgInput` via: +// GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidInput is an input type that accepts GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArgs and GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidOutput values. +// You can construct a concrete instance of `GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidInput` via: // -// GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArgs{...} -type GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgInput interface { +// GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArgs{...} +type GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidInput interface { pulumi.Input - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutput - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutput + ToGetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidOutput() GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidOutput + ToGetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidOutputWithContext(context.Context) GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidOutput } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArgs struct { - // Kubelet custom parameters. - Kubelets pulumi.StringArrayInput `pulumi:"kubelets"` +type GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArgs struct { + // Postpaid billing cycle, unit (month): 1, 2, 3, 4, 5,, 6, 7, 8, 9, 10, 11, 12, 24, 36, 48, 60. + Period pulumi.IntInput `pulumi:"period"` + // Prepaid renewal method: + RenewFlag pulumi.StringInput `pulumi:"renewFlag"` } -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArg)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaid)(nil)).Elem() } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutput { - return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutputWithContext(context.Background()) +func (i GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArgs) ToGetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidOutput() GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidOutput { + return i.ToGetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidOutputWithContext(context.Background()) } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutput) +func (i GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArgs) ToGetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidOutput) } -// GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArray and GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutput values. -// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayInput` via: +// GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArrayInput is an input type that accepts GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArray and GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArrayOutput values. +// You can construct a concrete instance of `GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArrayInput` via: // -// GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArray{ GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArgs{...} } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayInput interface { +// GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArray{ GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArgs{...} } +type GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArrayInput interface { pulumi.Input - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutput - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutput + ToGetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArrayOutput() GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArrayOutput + ToGetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArrayOutputWithContext(context.Context) GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArrayOutput } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArray []GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgInput +type GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArray []GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidInput -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArg)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaid)(nil)).Elem() } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutput { - return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutputWithContext(context.Background()) +func (i GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArray) ToGetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArrayOutput() GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArrayOutput { + return i.ToGetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArrayOutputWithContext(context.Background()) } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutput) +func (i GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArray) ToGetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArrayOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArrayOutput) } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutput struct{ *pulumi.OutputState } +type GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidOutput struct{ *pulumi.OutputState } -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArg)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaid)(nil)).Elem() } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutput { +func (o GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidOutput) ToGetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidOutput() GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidOutput { return o } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutput { +func (o GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidOutput) ToGetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidOutput { return o } -// Kubelet custom parameters. -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutput) Kubelets() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArg) []string { return v.Kubelets }).(pulumi.StringArrayOutput) +// Postpaid billing cycle, unit (month): 1, 2, 3, 4, 5,, 6, 7, 8, 9, 10, 11, 12, 24, 36, 48, 60. +func (o GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidOutput) Period() pulumi.IntOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaid) int { return v.Period }).(pulumi.IntOutput) } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutput struct{ *pulumi.OutputState } +// Prepaid renewal method: +func (o GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidOutput) RenewFlag() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaid) string { return v.RenewFlag }).(pulumi.StringOutput) +} -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArg)(nil)).Elem() +type GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArrayOutput struct{ *pulumi.OutputState } + +func (GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaid)(nil)).Elem() } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutput { +func (o GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArrayOutput) ToGetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArrayOutput() GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArrayOutput { return o } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutput { +func (o GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArrayOutput) ToGetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArrayOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArrayOutput { return o } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArrayOutput) Index(i pulumi.IntInput) GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArg { - return vs[0].([]GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArg)[vs[1].(int)] - }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgOutput) +func (o GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArrayOutput) Index(i pulumi.IntInput) GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaid { + return vs[0].([]GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaid)[vs[1].(int)] + }).(GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidOutput) } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArg struct { - // CUDA version information. - Cudas []GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCuda `pulumi:"cudas"` - // CuDNN version information. - Cudnns []GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnn `pulumi:"cudnns"` - // Custom GPU driver information. - CustomDrivers []GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriver `pulumi:"customDrivers"` - // GPU driver version information. - Drivers []GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriver `pulumi:"drivers"` - // Whether to enable MIG features. - MigEnable bool `pulumi:"migEnable"` +type GetClusterNativeNodePoolsNodePoolNativeInternetAccessible struct { + // Bandwidth package ID. Note: When ChargeType is BANDWIDTH_PACKAG, the value cannot be empty; otherwise, the value must be empty. + BandwidthPackageId string `pulumi:"bandwidthPackageId"` + // Network billing method. Optional value is `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. + ChargeType string `pulumi:"chargeType"` + // Maximum bandwidth output. Note: When chargeType is `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_POSTPAID_BY_HOUR`, the valid range is 1~100. When chargeType is `BANDWIDTH_PACKAG`, the valid range is 1~2000. + MaxBandwidthOut int `pulumi:"maxBandwidthOut"` } -// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArgs and GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput values. -// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgInput` via: +// GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleInput is an input type that accepts GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArgs and GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleOutput values. +// You can construct a concrete instance of `GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleInput` via: // -// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArgs{...} -type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgInput interface { +// GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArgs{...} +type GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleInput interface { pulumi.Input - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput + ToGetClusterNativeNodePoolsNodePoolNativeInternetAccessibleOutput() GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleOutput + ToGetClusterNativeNodePoolsNodePoolNativeInternetAccessibleOutputWithContext(context.Context) GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleOutput } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArgs struct { - // CUDA version information. - Cudas GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayInput `pulumi:"cudas"` - // CuDNN version information. - Cudnns GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayInput `pulumi:"cudnns"` - // Custom GPU driver information. - CustomDrivers GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayInput `pulumi:"customDrivers"` - // GPU driver version information. - Drivers GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayInput `pulumi:"drivers"` - // Whether to enable MIG features. - MigEnable pulumi.BoolInput `pulumi:"migEnable"` +type GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArgs struct { + // Bandwidth package ID. Note: When ChargeType is BANDWIDTH_PACKAG, the value cannot be empty; otherwise, the value must be empty. + BandwidthPackageId pulumi.StringInput `pulumi:"bandwidthPackageId"` + // Network billing method. Optional value is `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. + ChargeType pulumi.StringInput `pulumi:"chargeType"` + // Maximum bandwidth output. Note: When chargeType is `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_POSTPAID_BY_HOUR`, the valid range is 1~100. When chargeType is `BANDWIDTH_PACKAG`, the valid range is 1~2000. + MaxBandwidthOut pulumi.IntInput `pulumi:"maxBandwidthOut"` } -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArg)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolNativeInternetAccessible)(nil)).Elem() } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput { - return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutputWithContext(context.Background()) +func (i GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArgs) ToGetClusterNativeNodePoolsNodePoolNativeInternetAccessibleOutput() GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleOutput { + return i.ToGetClusterNativeNodePoolsNodePoolNativeInternetAccessibleOutputWithContext(context.Background()) } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput) +func (i GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArgs) ToGetClusterNativeNodePoolsNodePoolNativeInternetAccessibleOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleOutput) } -// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArray and GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutput values. -// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayInput` via: +// GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArrayInput is an input type that accepts GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArray and GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArrayOutput values. +// You can construct a concrete instance of `GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArrayInput` via: // -// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArray{ GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArgs{...} } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayInput interface { +// GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArray{ GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArgs{...} } +type GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArrayInput interface { pulumi.Input - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutput - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutput -} - -type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArray []GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgInput - -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArg)(nil)).Elem() -} - -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutput { - return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutputWithContext(context.Background()) -} - -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutput) + ToGetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArrayOutput() GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArrayOutput + ToGetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArrayOutputWithContext(context.Context) GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArrayOutput } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput struct{ *pulumi.OutputState } +type GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArray []GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleInput -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArg)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterNativeNodePoolsNodePoolNativeInternetAccessible)(nil)).Elem() } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput { - return o +func (i GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArray) ToGetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArrayOutput() GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArrayOutput { + return i.ToGetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArrayOutputWithContext(context.Background()) } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput { - return o +func (i GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArray) ToGetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArrayOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArrayOutput) } - -// CUDA version information. -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput) Cudas() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArg) []GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCuda { - return v.Cudas - }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutput) + +type GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleOutput struct{ *pulumi.OutputState } + +func (GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolNativeInternetAccessible)(nil)).Elem() } -// CuDNN version information. -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput) Cudnns() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArg) []GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnn { - return v.Cudnns - }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutput) +func (o GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleOutput) ToGetClusterNativeNodePoolsNodePoolNativeInternetAccessibleOutput() GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleOutput { + return o } -// Custom GPU driver information. -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput) CustomDrivers() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArg) []GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriver { - return v.CustomDrivers - }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutput) +func (o GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleOutput) ToGetClusterNativeNodePoolsNodePoolNativeInternetAccessibleOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleOutput { + return o } -// GPU driver version information. -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput) Drivers() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArg) []GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriver { - return v.Drivers - }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutput) +// Bandwidth package ID. Note: When ChargeType is BANDWIDTH_PACKAG, the value cannot be empty; otherwise, the value must be empty. +func (o GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleOutput) BandwidthPackageId() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNativeInternetAccessible) string { return v.BandwidthPackageId }).(pulumi.StringOutput) } -// Whether to enable MIG features. -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput) MigEnable() pulumi.BoolOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArg) bool { return v.MigEnable }).(pulumi.BoolOutput) +// Network billing method. Optional value is `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. +func (o GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleOutput) ChargeType() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNativeInternetAccessible) string { return v.ChargeType }).(pulumi.StringOutput) } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutput struct{ *pulumi.OutputState } +// Maximum bandwidth output. Note: When chargeType is `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_POSTPAID_BY_HOUR`, the valid range is 1~100. When chargeType is `BANDWIDTH_PACKAG`, the valid range is 1~2000. +func (o GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleOutput) MaxBandwidthOut() pulumi.IntOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNativeInternetAccessible) int { return v.MaxBandwidthOut }).(pulumi.IntOutput) +} -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArg)(nil)).Elem() +type GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArrayOutput struct{ *pulumi.OutputState } + +func (GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterNativeNodePoolsNodePoolNativeInternetAccessible)(nil)).Elem() } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutput { +func (o GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArrayOutput) ToGetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArrayOutput() GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArrayOutput { return o } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutput { +func (o GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArrayOutput) ToGetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArrayOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArrayOutput { return o } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArrayOutput) Index(i pulumi.IntInput) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArg { - return vs[0].([]GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArg)[vs[1].(int)] - }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgOutput) +func (o GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArrayOutput) Index(i pulumi.IntInput) GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterNativeNodePoolsNodePoolNativeInternetAccessible { + return vs[0].([]GetClusterNativeNodePoolsNodePoolNativeInternetAccessible)[vs[1].(int)] + }).(GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleOutput) } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCuda struct { - // The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. - Name string `pulumi:"name"` - // GPU driver or CUDA version. - Version string `pulumi:"version"` +type GetClusterNativeNodePoolsNodePoolNativeLifecycle struct { + // Custom script after node initialization. + PostInit string `pulumi:"postInit"` + // Custom script before node initialization. + PreInit string `pulumi:"preInit"` } -// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArgs and GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput values. -// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaInput` via: +// GetClusterNativeNodePoolsNodePoolNativeLifecycleInput is an input type that accepts GetClusterNativeNodePoolsNodePoolNativeLifecycleArgs and GetClusterNativeNodePoolsNodePoolNativeLifecycleOutput values. +// You can construct a concrete instance of `GetClusterNativeNodePoolsNodePoolNativeLifecycleInput` via: // -// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArgs{...} -type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaInput interface { +// GetClusterNativeNodePoolsNodePoolNativeLifecycleArgs{...} +type GetClusterNativeNodePoolsNodePoolNativeLifecycleInput interface { pulumi.Input - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput + ToGetClusterNativeNodePoolsNodePoolNativeLifecycleOutput() GetClusterNativeNodePoolsNodePoolNativeLifecycleOutput + ToGetClusterNativeNodePoolsNodePoolNativeLifecycleOutputWithContext(context.Context) GetClusterNativeNodePoolsNodePoolNativeLifecycleOutput } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArgs struct { - // The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. - Name pulumi.StringInput `pulumi:"name"` - // GPU driver or CUDA version. - Version pulumi.StringInput `pulumi:"version"` +type GetClusterNativeNodePoolsNodePoolNativeLifecycleArgs struct { + // Custom script after node initialization. + PostInit pulumi.StringInput `pulumi:"postInit"` + // Custom script before node initialization. + PreInit pulumi.StringInput `pulumi:"preInit"` } -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCuda)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolNativeLifecycleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolNativeLifecycle)(nil)).Elem() } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput { - return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutputWithContext(context.Background()) +func (i GetClusterNativeNodePoolsNodePoolNativeLifecycleArgs) ToGetClusterNativeNodePoolsNodePoolNativeLifecycleOutput() GetClusterNativeNodePoolsNodePoolNativeLifecycleOutput { + return i.ToGetClusterNativeNodePoolsNodePoolNativeLifecycleOutputWithContext(context.Background()) } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput) +func (i GetClusterNativeNodePoolsNodePoolNativeLifecycleArgs) ToGetClusterNativeNodePoolsNodePoolNativeLifecycleOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolNativeLifecycleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterNativeNodePoolsNodePoolNativeLifecycleOutput) } -// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArray and GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutput values. -// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayInput` via: +// GetClusterNativeNodePoolsNodePoolNativeLifecycleArrayInput is an input type that accepts GetClusterNativeNodePoolsNodePoolNativeLifecycleArray and GetClusterNativeNodePoolsNodePoolNativeLifecycleArrayOutput values. +// You can construct a concrete instance of `GetClusterNativeNodePoolsNodePoolNativeLifecycleArrayInput` via: // -// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArray{ GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArgs{...} } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayInput interface { +// GetClusterNativeNodePoolsNodePoolNativeLifecycleArray{ GetClusterNativeNodePoolsNodePoolNativeLifecycleArgs{...} } +type GetClusterNativeNodePoolsNodePoolNativeLifecycleArrayInput interface { pulumi.Input - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutput - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutput + ToGetClusterNativeNodePoolsNodePoolNativeLifecycleArrayOutput() GetClusterNativeNodePoolsNodePoolNativeLifecycleArrayOutput + ToGetClusterNativeNodePoolsNodePoolNativeLifecycleArrayOutputWithContext(context.Context) GetClusterNativeNodePoolsNodePoolNativeLifecycleArrayOutput } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArray []GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaInput +type GetClusterNativeNodePoolsNodePoolNativeLifecycleArray []GetClusterNativeNodePoolsNodePoolNativeLifecycleInput -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCuda)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolNativeLifecycleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterNativeNodePoolsNodePoolNativeLifecycle)(nil)).Elem() } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutput { - return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutputWithContext(context.Background()) +func (i GetClusterNativeNodePoolsNodePoolNativeLifecycleArray) ToGetClusterNativeNodePoolsNodePoolNativeLifecycleArrayOutput() GetClusterNativeNodePoolsNodePoolNativeLifecycleArrayOutput { + return i.ToGetClusterNativeNodePoolsNodePoolNativeLifecycleArrayOutputWithContext(context.Background()) } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutput) +func (i GetClusterNativeNodePoolsNodePoolNativeLifecycleArray) ToGetClusterNativeNodePoolsNodePoolNativeLifecycleArrayOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolNativeLifecycleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterNativeNodePoolsNodePoolNativeLifecycleArrayOutput) } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput struct{ *pulumi.OutputState } +type GetClusterNativeNodePoolsNodePoolNativeLifecycleOutput struct{ *pulumi.OutputState } -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCuda)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolNativeLifecycleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolNativeLifecycle)(nil)).Elem() } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput { +func (o GetClusterNativeNodePoolsNodePoolNativeLifecycleOutput) ToGetClusterNativeNodePoolsNodePoolNativeLifecycleOutput() GetClusterNativeNodePoolsNodePoolNativeLifecycleOutput { return o } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput { +func (o GetClusterNativeNodePoolsNodePoolNativeLifecycleOutput) ToGetClusterNativeNodePoolsNodePoolNativeLifecycleOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolNativeLifecycleOutput { return o } -// The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCuda) string { return v.Name }).(pulumi.StringOutput) +// Custom script after node initialization. +func (o GetClusterNativeNodePoolsNodePoolNativeLifecycleOutput) PostInit() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNativeLifecycle) string { return v.PostInit }).(pulumi.StringOutput) } -// GPU driver or CUDA version. -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput) Version() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCuda) string { return v.Version }).(pulumi.StringOutput) +// Custom script before node initialization. +func (o GetClusterNativeNodePoolsNodePoolNativeLifecycleOutput) PreInit() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNativeLifecycle) string { return v.PreInit }).(pulumi.StringOutput) } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutput struct{ *pulumi.OutputState } +type GetClusterNativeNodePoolsNodePoolNativeLifecycleArrayOutput struct{ *pulumi.OutputState } -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCuda)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolNativeLifecycleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterNativeNodePoolsNodePoolNativeLifecycle)(nil)).Elem() } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutput { +func (o GetClusterNativeNodePoolsNodePoolNativeLifecycleArrayOutput) ToGetClusterNativeNodePoolsNodePoolNativeLifecycleArrayOutput() GetClusterNativeNodePoolsNodePoolNativeLifecycleArrayOutput { return o } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutput { +func (o GetClusterNativeNodePoolsNodePoolNativeLifecycleArrayOutput) ToGetClusterNativeNodePoolsNodePoolNativeLifecycleArrayOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolNativeLifecycleArrayOutput { return o } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArrayOutput) Index(i pulumi.IntInput) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCuda { - return vs[0].([]GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCuda)[vs[1].(int)] - }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaOutput) +func (o GetClusterNativeNodePoolsNodePoolNativeLifecycleArrayOutput) Index(i pulumi.IntInput) GetClusterNativeNodePoolsNodePoolNativeLifecycleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterNativeNodePoolsNodePoolNativeLifecycle { + return vs[0].([]GetClusterNativeNodePoolsNodePoolNativeLifecycle)[vs[1].(int)] + }).(GetClusterNativeNodePoolsNodePoolNativeLifecycleOutput) } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnn struct { - // Dev name of cuDNN. - DevName string `pulumi:"devName"` - // Doc name of cuDNN. - DocName string `pulumi:"docName"` - // The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. - Name string `pulumi:"name"` - // GPU driver or CUDA version. - Version string `pulumi:"version"` +type GetClusterNativeNodePoolsNodePoolNativeManagement struct { + // Hosts configuration. + Hosts []string `pulumi:"hosts"` + // Kernel parameter configuration. + KernelArgs []string `pulumi:"kernelArgs"` + // Dns configuration. + Nameservers []string `pulumi:"nameservers"` } -// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArgs and GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput values. -// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnInput` via: +// GetClusterNativeNodePoolsNodePoolNativeManagementInput is an input type that accepts GetClusterNativeNodePoolsNodePoolNativeManagementArgs and GetClusterNativeNodePoolsNodePoolNativeManagementOutput values. +// You can construct a concrete instance of `GetClusterNativeNodePoolsNodePoolNativeManagementInput` via: // -// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArgs{...} -type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnInput interface { +// GetClusterNativeNodePoolsNodePoolNativeManagementArgs{...} +type GetClusterNativeNodePoolsNodePoolNativeManagementInput interface { pulumi.Input - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput + ToGetClusterNativeNodePoolsNodePoolNativeManagementOutput() GetClusterNativeNodePoolsNodePoolNativeManagementOutput + ToGetClusterNativeNodePoolsNodePoolNativeManagementOutputWithContext(context.Context) GetClusterNativeNodePoolsNodePoolNativeManagementOutput } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArgs struct { - // Dev name of cuDNN. - DevName pulumi.StringInput `pulumi:"devName"` - // Doc name of cuDNN. - DocName pulumi.StringInput `pulumi:"docName"` - // The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. - Name pulumi.StringInput `pulumi:"name"` - // GPU driver or CUDA version. - Version pulumi.StringInput `pulumi:"version"` +type GetClusterNativeNodePoolsNodePoolNativeManagementArgs struct { + // Hosts configuration. + Hosts pulumi.StringArrayInput `pulumi:"hosts"` + // Kernel parameter configuration. + KernelArgs pulumi.StringArrayInput `pulumi:"kernelArgs"` + // Dns configuration. + Nameservers pulumi.StringArrayInput `pulumi:"nameservers"` } -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnn)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolNativeManagementArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolNativeManagement)(nil)).Elem() } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput { - return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutputWithContext(context.Background()) +func (i GetClusterNativeNodePoolsNodePoolNativeManagementArgs) ToGetClusterNativeNodePoolsNodePoolNativeManagementOutput() GetClusterNativeNodePoolsNodePoolNativeManagementOutput { + return i.ToGetClusterNativeNodePoolsNodePoolNativeManagementOutputWithContext(context.Background()) } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput) +func (i GetClusterNativeNodePoolsNodePoolNativeManagementArgs) ToGetClusterNativeNodePoolsNodePoolNativeManagementOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolNativeManagementOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterNativeNodePoolsNodePoolNativeManagementOutput) } -// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArray and GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutput values. -// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayInput` via: +// GetClusterNativeNodePoolsNodePoolNativeManagementArrayInput is an input type that accepts GetClusterNativeNodePoolsNodePoolNativeManagementArray and GetClusterNativeNodePoolsNodePoolNativeManagementArrayOutput values. +// You can construct a concrete instance of `GetClusterNativeNodePoolsNodePoolNativeManagementArrayInput` via: // -// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArray{ GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArgs{...} } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayInput interface { +// GetClusterNativeNodePoolsNodePoolNativeManagementArray{ GetClusterNativeNodePoolsNodePoolNativeManagementArgs{...} } +type GetClusterNativeNodePoolsNodePoolNativeManagementArrayInput interface { pulumi.Input - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutput - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutput + ToGetClusterNativeNodePoolsNodePoolNativeManagementArrayOutput() GetClusterNativeNodePoolsNodePoolNativeManagementArrayOutput + ToGetClusterNativeNodePoolsNodePoolNativeManagementArrayOutputWithContext(context.Context) GetClusterNativeNodePoolsNodePoolNativeManagementArrayOutput } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArray []GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnInput +type GetClusterNativeNodePoolsNodePoolNativeManagementArray []GetClusterNativeNodePoolsNodePoolNativeManagementInput -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnn)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolNativeManagementArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterNativeNodePoolsNodePoolNativeManagement)(nil)).Elem() } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutput { - return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutputWithContext(context.Background()) +func (i GetClusterNativeNodePoolsNodePoolNativeManagementArray) ToGetClusterNativeNodePoolsNodePoolNativeManagementArrayOutput() GetClusterNativeNodePoolsNodePoolNativeManagementArrayOutput { + return i.ToGetClusterNativeNodePoolsNodePoolNativeManagementArrayOutputWithContext(context.Background()) } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutput) +func (i GetClusterNativeNodePoolsNodePoolNativeManagementArray) ToGetClusterNativeNodePoolsNodePoolNativeManagementArrayOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolNativeManagementArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterNativeNodePoolsNodePoolNativeManagementArrayOutput) } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput struct{ *pulumi.OutputState } +type GetClusterNativeNodePoolsNodePoolNativeManagementOutput struct{ *pulumi.OutputState } -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnn)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolNativeManagementOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolNativeManagement)(nil)).Elem() } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput { +func (o GetClusterNativeNodePoolsNodePoolNativeManagementOutput) ToGetClusterNativeNodePoolsNodePoolNativeManagementOutput() GetClusterNativeNodePoolsNodePoolNativeManagementOutput { return o } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput { +func (o GetClusterNativeNodePoolsNodePoolNativeManagementOutput) ToGetClusterNativeNodePoolsNodePoolNativeManagementOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolNativeManagementOutput { return o } -// Dev name of cuDNN. -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput) DevName() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnn) string { return v.DevName }).(pulumi.StringOutput) -} - -// Doc name of cuDNN. -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput) DocName() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnn) string { return v.DocName }).(pulumi.StringOutput) +// Hosts configuration. +func (o GetClusterNativeNodePoolsNodePoolNativeManagementOutput) Hosts() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNativeManagement) []string { return v.Hosts }).(pulumi.StringArrayOutput) } -// The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnn) string { return v.Name }).(pulumi.StringOutput) +// Kernel parameter configuration. +func (o GetClusterNativeNodePoolsNodePoolNativeManagementOutput) KernelArgs() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNativeManagement) []string { return v.KernelArgs }).(pulumi.StringArrayOutput) } -// GPU driver or CUDA version. -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput) Version() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnn) string { return v.Version }).(pulumi.StringOutput) +// Dns configuration. +func (o GetClusterNativeNodePoolsNodePoolNativeManagementOutput) Nameservers() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNativeManagement) []string { return v.Nameservers }).(pulumi.StringArrayOutput) } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutput struct{ *pulumi.OutputState } +type GetClusterNativeNodePoolsNodePoolNativeManagementArrayOutput struct{ *pulumi.OutputState } -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnn)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolNativeManagementArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterNativeNodePoolsNodePoolNativeManagement)(nil)).Elem() } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutput { +func (o GetClusterNativeNodePoolsNodePoolNativeManagementArrayOutput) ToGetClusterNativeNodePoolsNodePoolNativeManagementArrayOutput() GetClusterNativeNodePoolsNodePoolNativeManagementArrayOutput { return o } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutput { +func (o GetClusterNativeNodePoolsNodePoolNativeManagementArrayOutput) ToGetClusterNativeNodePoolsNodePoolNativeManagementArrayOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolNativeManagementArrayOutput { return o } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArrayOutput) Index(i pulumi.IntInput) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnn { - return vs[0].([]GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnn)[vs[1].(int)] - }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnOutput) +func (o GetClusterNativeNodePoolsNodePoolNativeManagementArrayOutput) Index(i pulumi.IntInput) GetClusterNativeNodePoolsNodePoolNativeManagementOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterNativeNodePoolsNodePoolNativeManagement { + return vs[0].([]GetClusterNativeNodePoolsNodePoolNativeManagement)[vs[1].(int)] + }).(GetClusterNativeNodePoolsNodePoolNativeManagementOutput) } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriver struct { - // Custom GPU driver address link. - Address string `pulumi:"address"` +type GetClusterNativeNodePoolsNodePoolNativeScaling struct { + // Node pool expansion strategy. `ZoneEquality`: multiple availability zones are broken up; `ZonePriority`: the preferred availability zone takes precedence. + CreatePolicy string `pulumi:"createPolicy"` + // Maximum number of replicas in node pool. + MaxReplicas int `pulumi:"maxReplicas"` + // Minimum number of replicas in node pool. + MinReplicas int `pulumi:"minReplicas"` } -// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArgs and GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutput values. -// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverInput` via: +// GetClusterNativeNodePoolsNodePoolNativeScalingInput is an input type that accepts GetClusterNativeNodePoolsNodePoolNativeScalingArgs and GetClusterNativeNodePoolsNodePoolNativeScalingOutput values. +// You can construct a concrete instance of `GetClusterNativeNodePoolsNodePoolNativeScalingInput` via: // -// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArgs{...} -type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverInput interface { +// GetClusterNativeNodePoolsNodePoolNativeScalingArgs{...} +type GetClusterNativeNodePoolsNodePoolNativeScalingInput interface { pulumi.Input - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutput - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutput + ToGetClusterNativeNodePoolsNodePoolNativeScalingOutput() GetClusterNativeNodePoolsNodePoolNativeScalingOutput + ToGetClusterNativeNodePoolsNodePoolNativeScalingOutputWithContext(context.Context) GetClusterNativeNodePoolsNodePoolNativeScalingOutput } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArgs struct { - // Custom GPU driver address link. - Address pulumi.StringInput `pulumi:"address"` +type GetClusterNativeNodePoolsNodePoolNativeScalingArgs struct { + // Node pool expansion strategy. `ZoneEquality`: multiple availability zones are broken up; `ZonePriority`: the preferred availability zone takes precedence. + CreatePolicy pulumi.StringInput `pulumi:"createPolicy"` + // Maximum number of replicas in node pool. + MaxReplicas pulumi.IntInput `pulumi:"maxReplicas"` + // Minimum number of replicas in node pool. + MinReplicas pulumi.IntInput `pulumi:"minReplicas"` } -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriver)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolNativeScalingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolNativeScaling)(nil)).Elem() } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutput { - return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutputWithContext(context.Background()) +func (i GetClusterNativeNodePoolsNodePoolNativeScalingArgs) ToGetClusterNativeNodePoolsNodePoolNativeScalingOutput() GetClusterNativeNodePoolsNodePoolNativeScalingOutput { + return i.ToGetClusterNativeNodePoolsNodePoolNativeScalingOutputWithContext(context.Background()) } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutput) +func (i GetClusterNativeNodePoolsNodePoolNativeScalingArgs) ToGetClusterNativeNodePoolsNodePoolNativeScalingOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolNativeScalingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterNativeNodePoolsNodePoolNativeScalingOutput) } -// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArray and GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutput values. -// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayInput` via: +// GetClusterNativeNodePoolsNodePoolNativeScalingArrayInput is an input type that accepts GetClusterNativeNodePoolsNodePoolNativeScalingArray and GetClusterNativeNodePoolsNodePoolNativeScalingArrayOutput values. +// You can construct a concrete instance of `GetClusterNativeNodePoolsNodePoolNativeScalingArrayInput` via: // -// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArray{ GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArgs{...} } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayInput interface { +// GetClusterNativeNodePoolsNodePoolNativeScalingArray{ GetClusterNativeNodePoolsNodePoolNativeScalingArgs{...} } +type GetClusterNativeNodePoolsNodePoolNativeScalingArrayInput interface { pulumi.Input - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutput - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutput + ToGetClusterNativeNodePoolsNodePoolNativeScalingArrayOutput() GetClusterNativeNodePoolsNodePoolNativeScalingArrayOutput + ToGetClusterNativeNodePoolsNodePoolNativeScalingArrayOutputWithContext(context.Context) GetClusterNativeNodePoolsNodePoolNativeScalingArrayOutput } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArray []GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverInput +type GetClusterNativeNodePoolsNodePoolNativeScalingArray []GetClusterNativeNodePoolsNodePoolNativeScalingInput -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriver)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolNativeScalingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterNativeNodePoolsNodePoolNativeScaling)(nil)).Elem() } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutput { - return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutputWithContext(context.Background()) +func (i GetClusterNativeNodePoolsNodePoolNativeScalingArray) ToGetClusterNativeNodePoolsNodePoolNativeScalingArrayOutput() GetClusterNativeNodePoolsNodePoolNativeScalingArrayOutput { + return i.ToGetClusterNativeNodePoolsNodePoolNativeScalingArrayOutputWithContext(context.Background()) } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutput) +func (i GetClusterNativeNodePoolsNodePoolNativeScalingArray) ToGetClusterNativeNodePoolsNodePoolNativeScalingArrayOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolNativeScalingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterNativeNodePoolsNodePoolNativeScalingArrayOutput) } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutput struct{ *pulumi.OutputState } +type GetClusterNativeNodePoolsNodePoolNativeScalingOutput struct{ *pulumi.OutputState } -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriver)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolNativeScalingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolNativeScaling)(nil)).Elem() } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutput { +func (o GetClusterNativeNodePoolsNodePoolNativeScalingOutput) ToGetClusterNativeNodePoolsNodePoolNativeScalingOutput() GetClusterNativeNodePoolsNodePoolNativeScalingOutput { return o } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutput { +func (o GetClusterNativeNodePoolsNodePoolNativeScalingOutput) ToGetClusterNativeNodePoolsNodePoolNativeScalingOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolNativeScalingOutput { return o } -// Custom GPU driver address link. -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutput) Address() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriver) string { - return v.Address - }).(pulumi.StringOutput) +// Node pool expansion strategy. `ZoneEquality`: multiple availability zones are broken up; `ZonePriority`: the preferred availability zone takes precedence. +func (o GetClusterNativeNodePoolsNodePoolNativeScalingOutput) CreatePolicy() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNativeScaling) string { return v.CreatePolicy }).(pulumi.StringOutput) } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutput struct{ *pulumi.OutputState } +// Maximum number of replicas in node pool. +func (o GetClusterNativeNodePoolsNodePoolNativeScalingOutput) MaxReplicas() pulumi.IntOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNativeScaling) int { return v.MaxReplicas }).(pulumi.IntOutput) +} -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriver)(nil)).Elem() +// Minimum number of replicas in node pool. +func (o GetClusterNativeNodePoolsNodePoolNativeScalingOutput) MinReplicas() pulumi.IntOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNativeScaling) int { return v.MinReplicas }).(pulumi.IntOutput) } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutput { +type GetClusterNativeNodePoolsNodePoolNativeScalingArrayOutput struct{ *pulumi.OutputState } + +func (GetClusterNativeNodePoolsNodePoolNativeScalingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterNativeNodePoolsNodePoolNativeScaling)(nil)).Elem() +} + +func (o GetClusterNativeNodePoolsNodePoolNativeScalingArrayOutput) ToGetClusterNativeNodePoolsNodePoolNativeScalingArrayOutput() GetClusterNativeNodePoolsNodePoolNativeScalingArrayOutput { return o } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutput { +func (o GetClusterNativeNodePoolsNodePoolNativeScalingArrayOutput) ToGetClusterNativeNodePoolsNodePoolNativeScalingArrayOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolNativeScalingArrayOutput { return o } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArrayOutput) Index(i pulumi.IntInput) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriver { - return vs[0].([]GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriver)[vs[1].(int)] - }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverOutput) +func (o GetClusterNativeNodePoolsNodePoolNativeScalingArrayOutput) Index(i pulumi.IntInput) GetClusterNativeNodePoolsNodePoolNativeScalingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterNativeNodePoolsNodePoolNativeScaling { + return vs[0].([]GetClusterNativeNodePoolsNodePoolNativeScaling)[vs[1].(int)] + }).(GetClusterNativeNodePoolsNodePoolNativeScalingOutput) } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriver struct { - // The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. - Name string `pulumi:"name"` - // GPU driver or CUDA version. - Version string `pulumi:"version"` +type GetClusterNativeNodePoolsNodePoolNativeSystemDisk struct { + // Cloud disk size (G). + DiskSize int `pulumi:"diskSize"` + // Cloud disk type. + DiskType string `pulumi:"diskType"` } -// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArgs and GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput values. -// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverInput` via: +// GetClusterNativeNodePoolsNodePoolNativeSystemDiskInput is an input type that accepts GetClusterNativeNodePoolsNodePoolNativeSystemDiskArgs and GetClusterNativeNodePoolsNodePoolNativeSystemDiskOutput values. +// You can construct a concrete instance of `GetClusterNativeNodePoolsNodePoolNativeSystemDiskInput` via: // -// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArgs{...} -type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverInput interface { +// GetClusterNativeNodePoolsNodePoolNativeSystemDiskArgs{...} +type GetClusterNativeNodePoolsNodePoolNativeSystemDiskInput interface { pulumi.Input - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput + ToGetClusterNativeNodePoolsNodePoolNativeSystemDiskOutput() GetClusterNativeNodePoolsNodePoolNativeSystemDiskOutput + ToGetClusterNativeNodePoolsNodePoolNativeSystemDiskOutputWithContext(context.Context) GetClusterNativeNodePoolsNodePoolNativeSystemDiskOutput } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArgs struct { - // The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. - Name pulumi.StringInput `pulumi:"name"` - // GPU driver or CUDA version. - Version pulumi.StringInput `pulumi:"version"` +type GetClusterNativeNodePoolsNodePoolNativeSystemDiskArgs struct { + // Cloud disk size (G). + DiskSize pulumi.IntInput `pulumi:"diskSize"` + // Cloud disk type. + DiskType pulumi.StringInput `pulumi:"diskType"` } -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriver)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolNativeSystemDiskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolNativeSystemDisk)(nil)).Elem() } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput { - return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutputWithContext(context.Background()) +func (i GetClusterNativeNodePoolsNodePoolNativeSystemDiskArgs) ToGetClusterNativeNodePoolsNodePoolNativeSystemDiskOutput() GetClusterNativeNodePoolsNodePoolNativeSystemDiskOutput { + return i.ToGetClusterNativeNodePoolsNodePoolNativeSystemDiskOutputWithContext(context.Background()) } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput) +func (i GetClusterNativeNodePoolsNodePoolNativeSystemDiskArgs) ToGetClusterNativeNodePoolsNodePoolNativeSystemDiskOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolNativeSystemDiskOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterNativeNodePoolsNodePoolNativeSystemDiskOutput) } -// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArray and GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutput values. -// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayInput` via: +// GetClusterNativeNodePoolsNodePoolNativeSystemDiskArrayInput is an input type that accepts GetClusterNativeNodePoolsNodePoolNativeSystemDiskArray and GetClusterNativeNodePoolsNodePoolNativeSystemDiskArrayOutput values. +// You can construct a concrete instance of `GetClusterNativeNodePoolsNodePoolNativeSystemDiskArrayInput` via: // -// GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArray{ GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArgs{...} } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayInput interface { +// GetClusterNativeNodePoolsNodePoolNativeSystemDiskArray{ GetClusterNativeNodePoolsNodePoolNativeSystemDiskArgs{...} } +type GetClusterNativeNodePoolsNodePoolNativeSystemDiskArrayInput interface { pulumi.Input - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutput - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutput + ToGetClusterNativeNodePoolsNodePoolNativeSystemDiskArrayOutput() GetClusterNativeNodePoolsNodePoolNativeSystemDiskArrayOutput + ToGetClusterNativeNodePoolsNodePoolNativeSystemDiskArrayOutputWithContext(context.Context) GetClusterNativeNodePoolsNodePoolNativeSystemDiskArrayOutput } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArray []GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverInput +type GetClusterNativeNodePoolsNodePoolNativeSystemDiskArray []GetClusterNativeNodePoolsNodePoolNativeSystemDiskInput -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriver)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolNativeSystemDiskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterNativeNodePoolsNodePoolNativeSystemDisk)(nil)).Elem() } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutput { - return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutputWithContext(context.Background()) +func (i GetClusterNativeNodePoolsNodePoolNativeSystemDiskArray) ToGetClusterNativeNodePoolsNodePoolNativeSystemDiskArrayOutput() GetClusterNativeNodePoolsNodePoolNativeSystemDiskArrayOutput { + return i.ToGetClusterNativeNodePoolsNodePoolNativeSystemDiskArrayOutputWithContext(context.Background()) } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutput) +func (i GetClusterNativeNodePoolsNodePoolNativeSystemDiskArray) ToGetClusterNativeNodePoolsNodePoolNativeSystemDiskArrayOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolNativeSystemDiskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterNativeNodePoolsNodePoolNativeSystemDiskArrayOutput) } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput struct{ *pulumi.OutputState } +type GetClusterNativeNodePoolsNodePoolNativeSystemDiskOutput struct{ *pulumi.OutputState } -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriver)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolNativeSystemDiskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolNativeSystemDisk)(nil)).Elem() } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput { +func (o GetClusterNativeNodePoolsNodePoolNativeSystemDiskOutput) ToGetClusterNativeNodePoolsNodePoolNativeSystemDiskOutput() GetClusterNativeNodePoolsNodePoolNativeSystemDiskOutput { return o } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput { +func (o GetClusterNativeNodePoolsNodePoolNativeSystemDiskOutput) ToGetClusterNativeNodePoolsNodePoolNativeSystemDiskOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolNativeSystemDiskOutput { return o } -// The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriver) string { return v.Name }).(pulumi.StringOutput) +// Cloud disk size (G). +func (o GetClusterNativeNodePoolsNodePoolNativeSystemDiskOutput) DiskSize() pulumi.IntOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNativeSystemDisk) int { return v.DiskSize }).(pulumi.IntOutput) } -// GPU driver or CUDA version. -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput) Version() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriver) string { return v.Version }).(pulumi.StringOutput) +// Cloud disk type. +func (o GetClusterNativeNodePoolsNodePoolNativeSystemDiskOutput) DiskType() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolNativeSystemDisk) string { return v.DiskType }).(pulumi.StringOutput) } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutput struct{ *pulumi.OutputState } +type GetClusterNativeNodePoolsNodePoolNativeSystemDiskArrayOutput struct{ *pulumi.OutputState } -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriver)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolNativeSystemDiskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterNativeNodePoolsNodePoolNativeSystemDisk)(nil)).Elem() } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutput { +func (o GetClusterNativeNodePoolsNodePoolNativeSystemDiskArrayOutput) ToGetClusterNativeNodePoolsNodePoolNativeSystemDiskArrayOutput() GetClusterNativeNodePoolsNodePoolNativeSystemDiskArrayOutput { return o } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutput { +func (o GetClusterNativeNodePoolsNodePoolNativeSystemDiskArrayOutput) ToGetClusterNativeNodePoolsNodePoolNativeSystemDiskArrayOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolNativeSystemDiskArrayOutput { return o } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArrayOutput) Index(i pulumi.IntInput) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriver { - return vs[0].([]GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriver)[vs[1].(int)] - }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverOutput) +func (o GetClusterNativeNodePoolsNodePoolNativeSystemDiskArrayOutput) Index(i pulumi.IntInput) GetClusterNativeNodePoolsNodePoolNativeSystemDiskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterNativeNodePoolsNodePoolNativeSystemDisk { + return vs[0].([]GetClusterNativeNodePoolsNodePoolNativeSystemDisk)[vs[1].(int)] + }).(GetClusterNativeNodePoolsNodePoolNativeSystemDiskOutput) } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingLabel struct { - // The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. - Name string `pulumi:"name"` - // Value of taints mark. - Value string `pulumi:"value"` +type GetClusterNativeNodePoolsNodePoolTag struct { + // The resource type bound to the label. + ResourceType string `pulumi:"resourceType"` + // Tag pair list. + Tags []GetClusterNativeNodePoolsNodePoolTagTag `pulumi:"tags"` } -// GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArgs and GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput values. -// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelInput` via: +// GetClusterNativeNodePoolsNodePoolTagInput is an input type that accepts GetClusterNativeNodePoolsNodePoolTagArgs and GetClusterNativeNodePoolsNodePoolTagOutput values. +// You can construct a concrete instance of `GetClusterNativeNodePoolsNodePoolTagInput` via: // -// GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArgs{...} -type GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelInput interface { +// GetClusterNativeNodePoolsNodePoolTagArgs{...} +type GetClusterNativeNodePoolsNodePoolTagInput interface { pulumi.Input - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput + ToGetClusterNativeNodePoolsNodePoolTagOutput() GetClusterNativeNodePoolsNodePoolTagOutput + ToGetClusterNativeNodePoolsNodePoolTagOutputWithContext(context.Context) GetClusterNativeNodePoolsNodePoolTagOutput } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArgs struct { - // The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. - Name pulumi.StringInput `pulumi:"name"` - // Value of taints mark. - Value pulumi.StringInput `pulumi:"value"` +type GetClusterNativeNodePoolsNodePoolTagArgs struct { + // The resource type bound to the label. + ResourceType pulumi.StringInput `pulumi:"resourceType"` + // Tag pair list. + Tags GetClusterNativeNodePoolsNodePoolTagTagArrayInput `pulumi:"tags"` } -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingLabel)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolTag)(nil)).Elem() } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput { - return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutputWithContext(context.Background()) +func (i GetClusterNativeNodePoolsNodePoolTagArgs) ToGetClusterNativeNodePoolsNodePoolTagOutput() GetClusterNativeNodePoolsNodePoolTagOutput { + return i.ToGetClusterNativeNodePoolsNodePoolTagOutputWithContext(context.Background()) } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput) +func (i GetClusterNativeNodePoolsNodePoolTagArgs) ToGetClusterNativeNodePoolsNodePoolTagOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterNativeNodePoolsNodePoolTagOutput) } -// GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArray and GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutput values. -// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayInput` via: +// GetClusterNativeNodePoolsNodePoolTagArrayInput is an input type that accepts GetClusterNativeNodePoolsNodePoolTagArray and GetClusterNativeNodePoolsNodePoolTagArrayOutput values. +// You can construct a concrete instance of `GetClusterNativeNodePoolsNodePoolTagArrayInput` via: // -// GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArray{ GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArgs{...} } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayInput interface { +// GetClusterNativeNodePoolsNodePoolTagArray{ GetClusterNativeNodePoolsNodePoolTagArgs{...} } +type GetClusterNativeNodePoolsNodePoolTagArrayInput interface { pulumi.Input - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutput - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutput + ToGetClusterNativeNodePoolsNodePoolTagArrayOutput() GetClusterNativeNodePoolsNodePoolTagArrayOutput + ToGetClusterNativeNodePoolsNodePoolTagArrayOutputWithContext(context.Context) GetClusterNativeNodePoolsNodePoolTagArrayOutput } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArray []GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelInput +type GetClusterNativeNodePoolsNodePoolTagArray []GetClusterNativeNodePoolsNodePoolTagInput -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSettingLabel)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterNativeNodePoolsNodePoolTag)(nil)).Elem() } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutput { - return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutputWithContext(context.Background()) +func (i GetClusterNativeNodePoolsNodePoolTagArray) ToGetClusterNativeNodePoolsNodePoolTagArrayOutput() GetClusterNativeNodePoolsNodePoolTagArrayOutput { + return i.ToGetClusterNativeNodePoolsNodePoolTagArrayOutputWithContext(context.Background()) } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutput) +func (i GetClusterNativeNodePoolsNodePoolTagArray) ToGetClusterNativeNodePoolsNodePoolTagArrayOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterNativeNodePoolsNodePoolTagArrayOutput) } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput struct{ *pulumi.OutputState } +type GetClusterNativeNodePoolsNodePoolTagOutput struct{ *pulumi.OutputState } -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingLabel)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolTag)(nil)).Elem() } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput { +func (o GetClusterNativeNodePoolsNodePoolTagOutput) ToGetClusterNativeNodePoolsNodePoolTagOutput() GetClusterNativeNodePoolsNodePoolTagOutput { return o } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput { +func (o GetClusterNativeNodePoolsNodePoolTagOutput) ToGetClusterNativeNodePoolsNodePoolTagOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolTagOutput { return o } -// The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingLabel) string { return v.Name }).(pulumi.StringOutput) +// The resource type bound to the label. +func (o GetClusterNativeNodePoolsNodePoolTagOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolTag) string { return v.ResourceType }).(pulumi.StringOutput) } -// Value of taints mark. -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput) Value() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingLabel) string { return v.Value }).(pulumi.StringOutput) +// Tag pair list. +func (o GetClusterNativeNodePoolsNodePoolTagOutput) Tags() GetClusterNativeNodePoolsNodePoolTagTagArrayOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolTag) []GetClusterNativeNodePoolsNodePoolTagTag { return v.Tags }).(GetClusterNativeNodePoolsNodePoolTagTagArrayOutput) } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutput struct{ *pulumi.OutputState } +type GetClusterNativeNodePoolsNodePoolTagArrayOutput struct{ *pulumi.OutputState } -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSettingLabel)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterNativeNodePoolsNodePoolTag)(nil)).Elem() } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutput { +func (o GetClusterNativeNodePoolsNodePoolTagArrayOutput) ToGetClusterNativeNodePoolsNodePoolTagArrayOutput() GetClusterNativeNodePoolsNodePoolTagArrayOutput { return o } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutput { +func (o GetClusterNativeNodePoolsNodePoolTagArrayOutput) ToGetClusterNativeNodePoolsNodePoolTagArrayOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolTagArrayOutput { return o } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArrayOutput) Index(i pulumi.IntInput) GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterInstancesInstanceSetInstanceAdvancedSettingLabel { - return vs[0].([]GetClusterInstancesInstanceSetInstanceAdvancedSettingLabel)[vs[1].(int)] - }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelOutput) +func (o GetClusterNativeNodePoolsNodePoolTagArrayOutput) Index(i pulumi.IntInput) GetClusterNativeNodePoolsNodePoolTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterNativeNodePoolsNodePoolTag { + return vs[0].([]GetClusterNativeNodePoolsNodePoolTag)[vs[1].(int)] + }).(GetClusterNativeNodePoolsNodePoolTagOutput) } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingTaint struct { - // Effect of taints mark. - Effect string `pulumi:"effect"` - // Key of taints mark. +type GetClusterNativeNodePoolsNodePoolTagTag struct { + // Key of the taint. Key string `pulumi:"key"` - // Value of taints mark. + // Value of the taint. Value string `pulumi:"value"` } -// GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArgs and GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput values. -// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintInput` via: +// GetClusterNativeNodePoolsNodePoolTagTagInput is an input type that accepts GetClusterNativeNodePoolsNodePoolTagTagArgs and GetClusterNativeNodePoolsNodePoolTagTagOutput values. +// You can construct a concrete instance of `GetClusterNativeNodePoolsNodePoolTagTagInput` via: // -// GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArgs{...} -type GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintInput interface { +// GetClusterNativeNodePoolsNodePoolTagTagArgs{...} +type GetClusterNativeNodePoolsNodePoolTagTagInput interface { pulumi.Input - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput + ToGetClusterNativeNodePoolsNodePoolTagTagOutput() GetClusterNativeNodePoolsNodePoolTagTagOutput + ToGetClusterNativeNodePoolsNodePoolTagTagOutputWithContext(context.Context) GetClusterNativeNodePoolsNodePoolTagTagOutput } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArgs struct { - // Effect of taints mark. - Effect pulumi.StringInput `pulumi:"effect"` - // Key of taints mark. +type GetClusterNativeNodePoolsNodePoolTagTagArgs struct { + // Key of the taint. Key pulumi.StringInput `pulumi:"key"` - // Value of taints mark. + // Value of the taint. Value pulumi.StringInput `pulumi:"value"` } -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingTaint)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolTagTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolTagTag)(nil)).Elem() } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput { - return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutputWithContext(context.Background()) +func (i GetClusterNativeNodePoolsNodePoolTagTagArgs) ToGetClusterNativeNodePoolsNodePoolTagTagOutput() GetClusterNativeNodePoolsNodePoolTagTagOutput { + return i.ToGetClusterNativeNodePoolsNodePoolTagTagOutputWithContext(context.Background()) } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArgs) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput) +func (i GetClusterNativeNodePoolsNodePoolTagTagArgs) ToGetClusterNativeNodePoolsNodePoolTagTagOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolTagTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterNativeNodePoolsNodePoolTagTagOutput) } -// GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayInput is an input type that accepts GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArray and GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput values. -// You can construct a concrete instance of `GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayInput` via: +// GetClusterNativeNodePoolsNodePoolTagTagArrayInput is an input type that accepts GetClusterNativeNodePoolsNodePoolTagTagArray and GetClusterNativeNodePoolsNodePoolTagTagArrayOutput values. +// You can construct a concrete instance of `GetClusterNativeNodePoolsNodePoolTagTagArrayInput` via: // -// GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArray{ GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArgs{...} } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayInput interface { +// GetClusterNativeNodePoolsNodePoolTagTagArray{ GetClusterNativeNodePoolsNodePoolTagTagArgs{...} } +type GetClusterNativeNodePoolsNodePoolTagTagArrayInput interface { pulumi.Input - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput - ToGetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutputWithContext(context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput + ToGetClusterNativeNodePoolsNodePoolTagTagArrayOutput() GetClusterNativeNodePoolsNodePoolTagTagArrayOutput + ToGetClusterNativeNodePoolsNodePoolTagTagArrayOutputWithContext(context.Context) GetClusterNativeNodePoolsNodePoolTagTagArrayOutput } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArray []GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintInput +type GetClusterNativeNodePoolsNodePoolTagTagArray []GetClusterNativeNodePoolsNodePoolTagTagInput -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSettingTaint)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolTagTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterNativeNodePoolsNodePoolTagTag)(nil)).Elem() } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput { - return i.ToGetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutputWithContext(context.Background()) +func (i GetClusterNativeNodePoolsNodePoolTagTagArray) ToGetClusterNativeNodePoolsNodePoolTagTagArrayOutput() GetClusterNativeNodePoolsNodePoolTagTagArrayOutput { + return i.ToGetClusterNativeNodePoolsNodePoolTagTagArrayOutputWithContext(context.Background()) } -func (i GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArray) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput) +func (i GetClusterNativeNodePoolsNodePoolTagTagArray) ToGetClusterNativeNodePoolsNodePoolTagTagArrayOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolTagTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterNativeNodePoolsNodePoolTagTagArrayOutput) } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput struct{ *pulumi.OutputState } +type GetClusterNativeNodePoolsNodePoolTagTagOutput struct{ *pulumi.OutputState } -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingTaint)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolTagTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolTagTag)(nil)).Elem() } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput { +func (o GetClusterNativeNodePoolsNodePoolTagTagOutput) ToGetClusterNativeNodePoolsNodePoolTagTagOutput() GetClusterNativeNodePoolsNodePoolTagTagOutput { return o } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput { +func (o GetClusterNativeNodePoolsNodePoolTagTagOutput) ToGetClusterNativeNodePoolsNodePoolTagTagOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolTagTagOutput { return o } -// Effect of taints mark. -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput) Effect() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingTaint) string { return v.Effect }).(pulumi.StringOutput) -} - -// Key of taints mark. -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput) Key() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingTaint) string { return v.Key }).(pulumi.StringOutput) +// Key of the taint. +func (o GetClusterNativeNodePoolsNodePoolTagTagOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolTagTag) string { return v.Key }).(pulumi.StringOutput) } -// Value of taints mark. -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput) Value() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterInstancesInstanceSetInstanceAdvancedSettingTaint) string { return v.Value }).(pulumi.StringOutput) +// Value of the taint. +func (o GetClusterNativeNodePoolsNodePoolTagTagOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolTagTag) string { return v.Value }).(pulumi.StringOutput) } -type GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput struct{ *pulumi.OutputState } +type GetClusterNativeNodePoolsNodePoolTagTagArrayOutput struct{ *pulumi.OutputState } -func (GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterInstancesInstanceSetInstanceAdvancedSettingTaint)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolTagTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterNativeNodePoolsNodePoolTagTag)(nil)).Elem() } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput() GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput { +func (o GetClusterNativeNodePoolsNodePoolTagTagArrayOutput) ToGetClusterNativeNodePoolsNodePoolTagTagArrayOutput() GetClusterNativeNodePoolsNodePoolTagTagArrayOutput { return o } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput) ToGetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutputWithContext(ctx context.Context) GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput { +func (o GetClusterNativeNodePoolsNodePoolTagTagArrayOutput) ToGetClusterNativeNodePoolsNodePoolTagTagArrayOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolTagTagArrayOutput { return o } -func (o GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput) Index(i pulumi.IntInput) GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterInstancesInstanceSetInstanceAdvancedSettingTaint { - return vs[0].([]GetClusterInstancesInstanceSetInstanceAdvancedSettingTaint)[vs[1].(int)] - }).(GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintOutput) +func (o GetClusterNativeNodePoolsNodePoolTagTagArrayOutput) Index(i pulumi.IntInput) GetClusterNativeNodePoolsNodePoolTagTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterNativeNodePoolsNodePoolTagTag { + return vs[0].([]GetClusterNativeNodePoolsNodePoolTagTag)[vs[1].(int)] + }).(GetClusterNativeNodePoolsNodePoolTagTagOutput) } -type GetClusterLevelsList struct { - // Alias used for pass to cluster level arguments. - Alias string `pulumi:"alias"` - // Number of ConfigMaps. - ConfigMapCount int `pulumi:"configMapCount"` - // Number of CRDs. - CrdCount int `pulumi:"crdCount"` - // Indicates whether the current level enabled. - Enable bool `pulumi:"enable"` - // Level name. - Name string `pulumi:"name"` - // Number of nodes. - NodeCount int `pulumi:"nodeCount"` - // Number of others. - OtherCount int `pulumi:"otherCount"` - // Number of pods. - PodCount int `pulumi:"podCount"` +type GetClusterNativeNodePoolsNodePoolTaint struct { + // Effect of the taint. + Effect string `pulumi:"effect"` + // Key of the taint. + Key string `pulumi:"key"` + // Value of the taint. + Value string `pulumi:"value"` } -// GetClusterLevelsListInput is an input type that accepts GetClusterLevelsListArgs and GetClusterLevelsListOutput values. -// You can construct a concrete instance of `GetClusterLevelsListInput` via: +// GetClusterNativeNodePoolsNodePoolTaintInput is an input type that accepts GetClusterNativeNodePoolsNodePoolTaintArgs and GetClusterNativeNodePoolsNodePoolTaintOutput values. +// You can construct a concrete instance of `GetClusterNativeNodePoolsNodePoolTaintInput` via: // -// GetClusterLevelsListArgs{...} -type GetClusterLevelsListInput interface { +// GetClusterNativeNodePoolsNodePoolTaintArgs{...} +type GetClusterNativeNodePoolsNodePoolTaintInput interface { pulumi.Input - ToGetClusterLevelsListOutput() GetClusterLevelsListOutput - ToGetClusterLevelsListOutputWithContext(context.Context) GetClusterLevelsListOutput + ToGetClusterNativeNodePoolsNodePoolTaintOutput() GetClusterNativeNodePoolsNodePoolTaintOutput + ToGetClusterNativeNodePoolsNodePoolTaintOutputWithContext(context.Context) GetClusterNativeNodePoolsNodePoolTaintOutput } -type GetClusterLevelsListArgs struct { - // Alias used for pass to cluster level arguments. - Alias pulumi.StringInput `pulumi:"alias"` - // Number of ConfigMaps. - ConfigMapCount pulumi.IntInput `pulumi:"configMapCount"` - // Number of CRDs. - CrdCount pulumi.IntInput `pulumi:"crdCount"` - // Indicates whether the current level enabled. - Enable pulumi.BoolInput `pulumi:"enable"` - // Level name. - Name pulumi.StringInput `pulumi:"name"` - // Number of nodes. - NodeCount pulumi.IntInput `pulumi:"nodeCount"` - // Number of others. - OtherCount pulumi.IntInput `pulumi:"otherCount"` - // Number of pods. - PodCount pulumi.IntInput `pulumi:"podCount"` +type GetClusterNativeNodePoolsNodePoolTaintArgs struct { + // Effect of the taint. + Effect pulumi.StringInput `pulumi:"effect"` + // Key of the taint. + Key pulumi.StringInput `pulumi:"key"` + // Value of the taint. + Value pulumi.StringInput `pulumi:"value"` } -func (GetClusterLevelsListArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterLevelsList)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolTaintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolTaint)(nil)).Elem() } -func (i GetClusterLevelsListArgs) ToGetClusterLevelsListOutput() GetClusterLevelsListOutput { - return i.ToGetClusterLevelsListOutputWithContext(context.Background()) +func (i GetClusterNativeNodePoolsNodePoolTaintArgs) ToGetClusterNativeNodePoolsNodePoolTaintOutput() GetClusterNativeNodePoolsNodePoolTaintOutput { + return i.ToGetClusterNativeNodePoolsNodePoolTaintOutputWithContext(context.Background()) } -func (i GetClusterLevelsListArgs) ToGetClusterLevelsListOutputWithContext(ctx context.Context) GetClusterLevelsListOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterLevelsListOutput) +func (i GetClusterNativeNodePoolsNodePoolTaintArgs) ToGetClusterNativeNodePoolsNodePoolTaintOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolTaintOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterNativeNodePoolsNodePoolTaintOutput) } -// GetClusterLevelsListArrayInput is an input type that accepts GetClusterLevelsListArray and GetClusterLevelsListArrayOutput values. -// You can construct a concrete instance of `GetClusterLevelsListArrayInput` via: +// GetClusterNativeNodePoolsNodePoolTaintArrayInput is an input type that accepts GetClusterNativeNodePoolsNodePoolTaintArray and GetClusterNativeNodePoolsNodePoolTaintArrayOutput values. +// You can construct a concrete instance of `GetClusterNativeNodePoolsNodePoolTaintArrayInput` via: // -// GetClusterLevelsListArray{ GetClusterLevelsListArgs{...} } -type GetClusterLevelsListArrayInput interface { +// GetClusterNativeNodePoolsNodePoolTaintArray{ GetClusterNativeNodePoolsNodePoolTaintArgs{...} } +type GetClusterNativeNodePoolsNodePoolTaintArrayInput interface { pulumi.Input - ToGetClusterLevelsListArrayOutput() GetClusterLevelsListArrayOutput - ToGetClusterLevelsListArrayOutputWithContext(context.Context) GetClusterLevelsListArrayOutput + ToGetClusterNativeNodePoolsNodePoolTaintArrayOutput() GetClusterNativeNodePoolsNodePoolTaintArrayOutput + ToGetClusterNativeNodePoolsNodePoolTaintArrayOutputWithContext(context.Context) GetClusterNativeNodePoolsNodePoolTaintArrayOutput } -type GetClusterLevelsListArray []GetClusterLevelsListInput +type GetClusterNativeNodePoolsNodePoolTaintArray []GetClusterNativeNodePoolsNodePoolTaintInput -func (GetClusterLevelsListArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterLevelsList)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolTaintArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterNativeNodePoolsNodePoolTaint)(nil)).Elem() } -func (i GetClusterLevelsListArray) ToGetClusterLevelsListArrayOutput() GetClusterLevelsListArrayOutput { - return i.ToGetClusterLevelsListArrayOutputWithContext(context.Background()) +func (i GetClusterNativeNodePoolsNodePoolTaintArray) ToGetClusterNativeNodePoolsNodePoolTaintArrayOutput() GetClusterNativeNodePoolsNodePoolTaintArrayOutput { + return i.ToGetClusterNativeNodePoolsNodePoolTaintArrayOutputWithContext(context.Background()) } -func (i GetClusterLevelsListArray) ToGetClusterLevelsListArrayOutputWithContext(ctx context.Context) GetClusterLevelsListArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetClusterLevelsListArrayOutput) +func (i GetClusterNativeNodePoolsNodePoolTaintArray) ToGetClusterNativeNodePoolsNodePoolTaintArrayOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolTaintArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterNativeNodePoolsNodePoolTaintArrayOutput) } -type GetClusterLevelsListOutput struct{ *pulumi.OutputState } +type GetClusterNativeNodePoolsNodePoolTaintOutput struct{ *pulumi.OutputState } -func (GetClusterLevelsListOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetClusterLevelsList)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolTaintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolTaint)(nil)).Elem() } -func (o GetClusterLevelsListOutput) ToGetClusterLevelsListOutput() GetClusterLevelsListOutput { +func (o GetClusterNativeNodePoolsNodePoolTaintOutput) ToGetClusterNativeNodePoolsNodePoolTaintOutput() GetClusterNativeNodePoolsNodePoolTaintOutput { return o } -func (o GetClusterLevelsListOutput) ToGetClusterLevelsListOutputWithContext(ctx context.Context) GetClusterLevelsListOutput { +func (o GetClusterNativeNodePoolsNodePoolTaintOutput) ToGetClusterNativeNodePoolsNodePoolTaintOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolTaintOutput { return o } -// Alias used for pass to cluster level arguments. -func (o GetClusterLevelsListOutput) Alias() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterLevelsList) string { return v.Alias }).(pulumi.StringOutput) -} - -// Number of ConfigMaps. -func (o GetClusterLevelsListOutput) ConfigMapCount() pulumi.IntOutput { - return o.ApplyT(func(v GetClusterLevelsList) int { return v.ConfigMapCount }).(pulumi.IntOutput) -} - -// Number of CRDs. -func (o GetClusterLevelsListOutput) CrdCount() pulumi.IntOutput { - return o.ApplyT(func(v GetClusterLevelsList) int { return v.CrdCount }).(pulumi.IntOutput) -} - -// Indicates whether the current level enabled. -func (o GetClusterLevelsListOutput) Enable() pulumi.BoolOutput { - return o.ApplyT(func(v GetClusterLevelsList) bool { return v.Enable }).(pulumi.BoolOutput) -} - -// Level name. -func (o GetClusterLevelsListOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetClusterLevelsList) string { return v.Name }).(pulumi.StringOutput) -} - -// Number of nodes. -func (o GetClusterLevelsListOutput) NodeCount() pulumi.IntOutput { - return o.ApplyT(func(v GetClusterLevelsList) int { return v.NodeCount }).(pulumi.IntOutput) +// Effect of the taint. +func (o GetClusterNativeNodePoolsNodePoolTaintOutput) Effect() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolTaint) string { return v.Effect }).(pulumi.StringOutput) } -// Number of others. -func (o GetClusterLevelsListOutput) OtherCount() pulumi.IntOutput { - return o.ApplyT(func(v GetClusterLevelsList) int { return v.OtherCount }).(pulumi.IntOutput) +// Key of the taint. +func (o GetClusterNativeNodePoolsNodePoolTaintOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolTaint) string { return v.Key }).(pulumi.StringOutput) } -// Number of pods. -func (o GetClusterLevelsListOutput) PodCount() pulumi.IntOutput { - return o.ApplyT(func(v GetClusterLevelsList) int { return v.PodCount }).(pulumi.IntOutput) +// Value of the taint. +func (o GetClusterNativeNodePoolsNodePoolTaintOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterNativeNodePoolsNodePoolTaint) string { return v.Value }).(pulumi.StringOutput) } -type GetClusterLevelsListArrayOutput struct{ *pulumi.OutputState } +type GetClusterNativeNodePoolsNodePoolTaintArrayOutput struct{ *pulumi.OutputState } -func (GetClusterLevelsListArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetClusterLevelsList)(nil)).Elem() +func (GetClusterNativeNodePoolsNodePoolTaintArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterNativeNodePoolsNodePoolTaint)(nil)).Elem() } -func (o GetClusterLevelsListArrayOutput) ToGetClusterLevelsListArrayOutput() GetClusterLevelsListArrayOutput { +func (o GetClusterNativeNodePoolsNodePoolTaintArrayOutput) ToGetClusterNativeNodePoolsNodePoolTaintArrayOutput() GetClusterNativeNodePoolsNodePoolTaintArrayOutput { return o } -func (o GetClusterLevelsListArrayOutput) ToGetClusterLevelsListArrayOutputWithContext(ctx context.Context) GetClusterLevelsListArrayOutput { +func (o GetClusterNativeNodePoolsNodePoolTaintArrayOutput) ToGetClusterNativeNodePoolsNodePoolTaintArrayOutputWithContext(ctx context.Context) GetClusterNativeNodePoolsNodePoolTaintArrayOutput { return o } -func (o GetClusterLevelsListArrayOutput) Index(i pulumi.IntInput) GetClusterLevelsListOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterLevelsList { - return vs[0].([]GetClusterLevelsList)[vs[1].(int)] - }).(GetClusterLevelsListOutput) +func (o GetClusterNativeNodePoolsNodePoolTaintArrayOutput) Index(i pulumi.IntInput) GetClusterNativeNodePoolsNodePoolTaintOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterNativeNodePoolsNodePoolTaint { + return vs[0].([]GetClusterNativeNodePoolsNodePoolTaint)[vs[1].(int)] + }).(GetClusterNativeNodePoolsNodePoolTaintOutput) } type GetClusterNodePoolsFilter struct { @@ -11910,6 +16067,32 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ClusterWorkerInstancesListArrayInput)(nil)).Elem(), ClusterWorkerInstancesListArray{}) pulumi.RegisterInputType(reflect.TypeOf((*EncryptionProtectionKmsConfigurationInput)(nil)).Elem(), EncryptionProtectionKmsConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EncryptionProtectionKmsConfigurationPtrInput)(nil)).Elem(), EncryptionProtectionKmsConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NativeNodePoolAnnotationInput)(nil)).Elem(), NativeNodePoolAnnotationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NativeNodePoolAnnotationArrayInput)(nil)).Elem(), NativeNodePoolAnnotationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*NativeNodePoolLabelInput)(nil)).Elem(), NativeNodePoolLabelArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NativeNodePoolLabelArrayInput)(nil)).Elem(), NativeNodePoolLabelArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*NativeNodePoolNativeInput)(nil)).Elem(), NativeNodePoolNativeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NativeNodePoolNativePtrInput)(nil)).Elem(), NativeNodePoolNativeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NativeNodePoolNativeDataDiskInput)(nil)).Elem(), NativeNodePoolNativeDataDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NativeNodePoolNativeDataDiskArrayInput)(nil)).Elem(), NativeNodePoolNativeDataDiskArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*NativeNodePoolNativeInstanceChargePrepaidInput)(nil)).Elem(), NativeNodePoolNativeInstanceChargePrepaidArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NativeNodePoolNativeInstanceChargePrepaidPtrInput)(nil)).Elem(), NativeNodePoolNativeInstanceChargePrepaidArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NativeNodePoolNativeInternetAccessibleInput)(nil)).Elem(), NativeNodePoolNativeInternetAccessibleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NativeNodePoolNativeInternetAccessiblePtrInput)(nil)).Elem(), NativeNodePoolNativeInternetAccessibleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NativeNodePoolNativeLifecycleInput)(nil)).Elem(), NativeNodePoolNativeLifecycleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NativeNodePoolNativeLifecyclePtrInput)(nil)).Elem(), NativeNodePoolNativeLifecycleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NativeNodePoolNativeManagementInput)(nil)).Elem(), NativeNodePoolNativeManagementArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NativeNodePoolNativeManagementPtrInput)(nil)).Elem(), NativeNodePoolNativeManagementArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NativeNodePoolNativeScalingInput)(nil)).Elem(), NativeNodePoolNativeScalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NativeNodePoolNativeScalingPtrInput)(nil)).Elem(), NativeNodePoolNativeScalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NativeNodePoolNativeSystemDiskInput)(nil)).Elem(), NativeNodePoolNativeSystemDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NativeNodePoolNativeSystemDiskPtrInput)(nil)).Elem(), NativeNodePoolNativeSystemDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NativeNodePoolTagInput)(nil)).Elem(), NativeNodePoolTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NativeNodePoolTagArrayInput)(nil)).Elem(), NativeNodePoolTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*NativeNodePoolTagTagInput)(nil)).Elem(), NativeNodePoolTagTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NativeNodePoolTagTagArrayInput)(nil)).Elem(), NativeNodePoolTagTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*NativeNodePoolTaintInput)(nil)).Elem(), NativeNodePoolTaintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NativeNodePoolTaintArrayInput)(nil)).Elem(), NativeNodePoolTaintArray{}) pulumi.RegisterInputType(reflect.TypeOf((*NodePoolAutoScalingConfigInput)(nil)).Elem(), NodePoolAutoScalingConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*NodePoolAutoScalingConfigPtrInput)(nil)).Elem(), NodePoolAutoScalingConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*NodePoolAutoScalingConfigDataDiskInput)(nil)).Elem(), NodePoolAutoScalingConfigDataDiskArgs{}) @@ -11972,6 +16155,36 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayInput)(nil)).Elem(), GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetClusterLevelsListInput)(nil)).Elem(), GetClusterLevelsListArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetClusterLevelsListArrayInput)(nil)).Elem(), GetClusterLevelsListArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterNativeNodePoolsFilterInput)(nil)).Elem(), GetClusterNativeNodePoolsFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterNativeNodePoolsFilterArrayInput)(nil)).Elem(), GetClusterNativeNodePoolsFilterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolInput)(nil)).Elem(), GetClusterNativeNodePoolsNodePoolArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolArrayInput)(nil)).Elem(), GetClusterNativeNodePoolsNodePoolArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolAnnotationInput)(nil)).Elem(), GetClusterNativeNodePoolsNodePoolAnnotationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolAnnotationArrayInput)(nil)).Elem(), GetClusterNativeNodePoolsNodePoolAnnotationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolLabelInput)(nil)).Elem(), GetClusterNativeNodePoolsNodePoolLabelArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolLabelArrayInput)(nil)).Elem(), GetClusterNativeNodePoolsNodePoolLabelArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolNativeInput)(nil)).Elem(), GetClusterNativeNodePoolsNodePoolNativeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolNativeArrayInput)(nil)).Elem(), GetClusterNativeNodePoolsNodePoolNativeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolNativeDataDiskInput)(nil)).Elem(), GetClusterNativeNodePoolsNodePoolNativeDataDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolNativeDataDiskArrayInput)(nil)).Elem(), GetClusterNativeNodePoolsNodePoolNativeDataDiskArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidInput)(nil)).Elem(), GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArrayInput)(nil)).Elem(), GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleInput)(nil)).Elem(), GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArrayInput)(nil)).Elem(), GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolNativeLifecycleInput)(nil)).Elem(), GetClusterNativeNodePoolsNodePoolNativeLifecycleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolNativeLifecycleArrayInput)(nil)).Elem(), GetClusterNativeNodePoolsNodePoolNativeLifecycleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolNativeManagementInput)(nil)).Elem(), GetClusterNativeNodePoolsNodePoolNativeManagementArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolNativeManagementArrayInput)(nil)).Elem(), GetClusterNativeNodePoolsNodePoolNativeManagementArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolNativeScalingInput)(nil)).Elem(), GetClusterNativeNodePoolsNodePoolNativeScalingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolNativeScalingArrayInput)(nil)).Elem(), GetClusterNativeNodePoolsNodePoolNativeScalingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolNativeSystemDiskInput)(nil)).Elem(), GetClusterNativeNodePoolsNodePoolNativeSystemDiskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolNativeSystemDiskArrayInput)(nil)).Elem(), GetClusterNativeNodePoolsNodePoolNativeSystemDiskArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolTagInput)(nil)).Elem(), GetClusterNativeNodePoolsNodePoolTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolTagArrayInput)(nil)).Elem(), GetClusterNativeNodePoolsNodePoolTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolTagTagInput)(nil)).Elem(), GetClusterNativeNodePoolsNodePoolTagTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolTagTagArrayInput)(nil)).Elem(), GetClusterNativeNodePoolsNodePoolTagTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolTaintInput)(nil)).Elem(), GetClusterNativeNodePoolsNodePoolTaintArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterNativeNodePoolsNodePoolTaintArrayInput)(nil)).Elem(), GetClusterNativeNodePoolsNodePoolTaintArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetClusterNodePoolsFilterInput)(nil)).Elem(), GetClusterNodePoolsFilterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetClusterNodePoolsFilterArrayInput)(nil)).Elem(), GetClusterNodePoolsFilterArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetClusterNodePoolsNodePoolSetInput)(nil)).Elem(), GetClusterNodePoolsNodePoolSetArgs{}) @@ -12050,6 +16263,32 @@ func init() { pulumi.RegisterOutputType(ClusterWorkerInstancesListArrayOutput{}) pulumi.RegisterOutputType(EncryptionProtectionKmsConfigurationOutput{}) pulumi.RegisterOutputType(EncryptionProtectionKmsConfigurationPtrOutput{}) + pulumi.RegisterOutputType(NativeNodePoolAnnotationOutput{}) + pulumi.RegisterOutputType(NativeNodePoolAnnotationArrayOutput{}) + pulumi.RegisterOutputType(NativeNodePoolLabelOutput{}) + pulumi.RegisterOutputType(NativeNodePoolLabelArrayOutput{}) + pulumi.RegisterOutputType(NativeNodePoolNativeOutput{}) + pulumi.RegisterOutputType(NativeNodePoolNativePtrOutput{}) + pulumi.RegisterOutputType(NativeNodePoolNativeDataDiskOutput{}) + pulumi.RegisterOutputType(NativeNodePoolNativeDataDiskArrayOutput{}) + pulumi.RegisterOutputType(NativeNodePoolNativeInstanceChargePrepaidOutput{}) + pulumi.RegisterOutputType(NativeNodePoolNativeInstanceChargePrepaidPtrOutput{}) + pulumi.RegisterOutputType(NativeNodePoolNativeInternetAccessibleOutput{}) + pulumi.RegisterOutputType(NativeNodePoolNativeInternetAccessiblePtrOutput{}) + pulumi.RegisterOutputType(NativeNodePoolNativeLifecycleOutput{}) + pulumi.RegisterOutputType(NativeNodePoolNativeLifecyclePtrOutput{}) + pulumi.RegisterOutputType(NativeNodePoolNativeManagementOutput{}) + pulumi.RegisterOutputType(NativeNodePoolNativeManagementPtrOutput{}) + pulumi.RegisterOutputType(NativeNodePoolNativeScalingOutput{}) + pulumi.RegisterOutputType(NativeNodePoolNativeScalingPtrOutput{}) + pulumi.RegisterOutputType(NativeNodePoolNativeSystemDiskOutput{}) + pulumi.RegisterOutputType(NativeNodePoolNativeSystemDiskPtrOutput{}) + pulumi.RegisterOutputType(NativeNodePoolTagOutput{}) + pulumi.RegisterOutputType(NativeNodePoolTagArrayOutput{}) + pulumi.RegisterOutputType(NativeNodePoolTagTagOutput{}) + pulumi.RegisterOutputType(NativeNodePoolTagTagArrayOutput{}) + pulumi.RegisterOutputType(NativeNodePoolTaintOutput{}) + pulumi.RegisterOutputType(NativeNodePoolTaintArrayOutput{}) pulumi.RegisterOutputType(NodePoolAutoScalingConfigOutput{}) pulumi.RegisterOutputType(NodePoolAutoScalingConfigPtrOutput{}) pulumi.RegisterOutputType(NodePoolAutoScalingConfigDataDiskOutput{}) @@ -12112,6 +16351,36 @@ func init() { pulumi.RegisterOutputType(GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArrayOutput{}) pulumi.RegisterOutputType(GetClusterLevelsListOutput{}) pulumi.RegisterOutputType(GetClusterLevelsListArrayOutput{}) + pulumi.RegisterOutputType(GetClusterNativeNodePoolsFilterOutput{}) + pulumi.RegisterOutputType(GetClusterNativeNodePoolsFilterArrayOutput{}) + pulumi.RegisterOutputType(GetClusterNativeNodePoolsNodePoolOutput{}) + pulumi.RegisterOutputType(GetClusterNativeNodePoolsNodePoolArrayOutput{}) + pulumi.RegisterOutputType(GetClusterNativeNodePoolsNodePoolAnnotationOutput{}) + pulumi.RegisterOutputType(GetClusterNativeNodePoolsNodePoolAnnotationArrayOutput{}) + pulumi.RegisterOutputType(GetClusterNativeNodePoolsNodePoolLabelOutput{}) + pulumi.RegisterOutputType(GetClusterNativeNodePoolsNodePoolLabelArrayOutput{}) + pulumi.RegisterOutputType(GetClusterNativeNodePoolsNodePoolNativeOutput{}) + pulumi.RegisterOutputType(GetClusterNativeNodePoolsNodePoolNativeArrayOutput{}) + pulumi.RegisterOutputType(GetClusterNativeNodePoolsNodePoolNativeDataDiskOutput{}) + pulumi.RegisterOutputType(GetClusterNativeNodePoolsNodePoolNativeDataDiskArrayOutput{}) + pulumi.RegisterOutputType(GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidOutput{}) + pulumi.RegisterOutputType(GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArrayOutput{}) + pulumi.RegisterOutputType(GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleOutput{}) + pulumi.RegisterOutputType(GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArrayOutput{}) + pulumi.RegisterOutputType(GetClusterNativeNodePoolsNodePoolNativeLifecycleOutput{}) + pulumi.RegisterOutputType(GetClusterNativeNodePoolsNodePoolNativeLifecycleArrayOutput{}) + pulumi.RegisterOutputType(GetClusterNativeNodePoolsNodePoolNativeManagementOutput{}) + pulumi.RegisterOutputType(GetClusterNativeNodePoolsNodePoolNativeManagementArrayOutput{}) + pulumi.RegisterOutputType(GetClusterNativeNodePoolsNodePoolNativeScalingOutput{}) + pulumi.RegisterOutputType(GetClusterNativeNodePoolsNodePoolNativeScalingArrayOutput{}) + pulumi.RegisterOutputType(GetClusterNativeNodePoolsNodePoolNativeSystemDiskOutput{}) + pulumi.RegisterOutputType(GetClusterNativeNodePoolsNodePoolNativeSystemDiskArrayOutput{}) + pulumi.RegisterOutputType(GetClusterNativeNodePoolsNodePoolTagOutput{}) + pulumi.RegisterOutputType(GetClusterNativeNodePoolsNodePoolTagArrayOutput{}) + pulumi.RegisterOutputType(GetClusterNativeNodePoolsNodePoolTagTagOutput{}) + pulumi.RegisterOutputType(GetClusterNativeNodePoolsNodePoolTagTagArrayOutput{}) + pulumi.RegisterOutputType(GetClusterNativeNodePoolsNodePoolTaintOutput{}) + pulumi.RegisterOutputType(GetClusterNativeNodePoolsNodePoolTaintArrayOutput{}) pulumi.RegisterOutputType(GetClusterNodePoolsFilterOutput{}) pulumi.RegisterOutputType(GetClusterNodePoolsFilterArrayOutput{}) pulumi.RegisterOutputType(GetClusterNodePoolsNodePoolSetOutput{}) diff --git a/sdk/go/tencentcloud/kubernetes/scaleWorker.go b/sdk/go/tencentcloud/kubernetes/scaleWorker.go index bc94ca778..4f0ce20a4 100644 --- a/sdk/go/tencentcloud/kubernetes/scaleWorker.go +++ b/sdk/go/tencentcloud/kubernetes/scaleWorker.go @@ -155,6 +155,14 @@ import ( // // ``` // +// +// ## Import +// +// tke scale worker can be imported, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Kubernetes/scaleWorker:ScaleWorker test cls-xxx#ins-xxx +// ``` type ScaleWorker struct { pulumi.CustomResourceState diff --git a/sdk/go/tencentcloud/mongodb/init.go b/sdk/go/tencentcloud/mongodb/init.go index c73a789a9..bf3191285 100644 --- a/sdk/go/tencentcloud/mongodb/init.go +++ b/sdk/go/tencentcloud/mongodb/init.go @@ -29,6 +29,10 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &InstanceBackup{} case "tencentcloud:Mongodb/instanceBackupDownloadTask:InstanceBackupDownloadTask": r = &InstanceBackupDownloadTask{} + case "tencentcloud:Mongodb/instanceBackupRule:InstanceBackupRule": + r = &InstanceBackupRule{} + case "tencentcloud:Mongodb/instanceTransparentDataEncryption:InstanceTransparentDataEncryption": + r = &InstanceTransparentDataEncryption{} case "tencentcloud:Mongodb/shardingInstance:ShardingInstance": r = &ShardingInstance{} case "tencentcloud:Mongodb/standbyInstance:StandbyInstance": @@ -66,6 +70,16 @@ func init() { "Mongodb/instanceBackupDownloadTask", &module{version}, ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Mongodb/instanceBackupRule", + &module{version}, + ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Mongodb/instanceTransparentDataEncryption", + &module{version}, + ) pulumi.RegisterResourceModule( "tencentcloud", "Mongodb/shardingInstance", diff --git a/sdk/go/tencentcloud/mongodb/instanceBackupRule.go b/sdk/go/tencentcloud/mongodb/instanceBackupRule.go new file mode 100644 index 000000000..98de22eff --- /dev/null +++ b/sdk/go/tencentcloud/mongodb/instanceBackupRule.go @@ -0,0 +1,296 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package mongodb + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" +) + +// Provides a resource to create mongodb backup rule +// +// ## Import +// +// mongodb backup_rule can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Mongodb/instanceBackupRule:InstanceBackupRule backup_rule ${instanceId} +// ``` +type InstanceBackupRule struct { + pulumi.CustomResourceState + + // Set automatic backup method. Valid values: + // - 0: Logical backup; + // - 1: Physical backup; + // - 3: Snapshot backup (supported only in cloud disk version). + BackupMethod pulumi.IntOutput `pulumi:"backupMethod"` + // Specify the number of days to save backup data. The default is 7 days, and the support settings are 7, 30, 90, 180, 365. + BackupRetentionPeriod pulumi.IntOutput `pulumi:"backupRetentionPeriod"` + // Set the start time for automatic backup. The value range is: [0,23]. For example, setting this parameter to 2 means that backup starts at 02:00. + BackupTime pulumi.IntOutput `pulumi:"backupTime"` + // Instance id. + InstanceId pulumi.StringOutput `pulumi:"instanceId"` +} + +// NewInstanceBackupRule registers a new resource with the given unique name, arguments, and options. +func NewInstanceBackupRule(ctx *pulumi.Context, + name string, args *InstanceBackupRuleArgs, opts ...pulumi.ResourceOption) (*InstanceBackupRule, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.BackupMethod == nil { + return nil, errors.New("invalid value for required argument 'BackupMethod'") + } + if args.BackupTime == nil { + return nil, errors.New("invalid value for required argument 'BackupTime'") + } + if args.InstanceId == nil { + return nil, errors.New("invalid value for required argument 'InstanceId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource InstanceBackupRule + err := ctx.RegisterResource("tencentcloud:Mongodb/instanceBackupRule:InstanceBackupRule", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetInstanceBackupRule gets an existing InstanceBackupRule resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetInstanceBackupRule(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *InstanceBackupRuleState, opts ...pulumi.ResourceOption) (*InstanceBackupRule, error) { + var resource InstanceBackupRule + err := ctx.ReadResource("tencentcloud:Mongodb/instanceBackupRule:InstanceBackupRule", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering InstanceBackupRule resources. +type instanceBackupRuleState struct { + // Set automatic backup method. Valid values: + // - 0: Logical backup; + // - 1: Physical backup; + // - 3: Snapshot backup (supported only in cloud disk version). + BackupMethod *int `pulumi:"backupMethod"` + // Specify the number of days to save backup data. The default is 7 days, and the support settings are 7, 30, 90, 180, 365. + BackupRetentionPeriod *int `pulumi:"backupRetentionPeriod"` + // Set the start time for automatic backup. The value range is: [0,23]. For example, setting this parameter to 2 means that backup starts at 02:00. + BackupTime *int `pulumi:"backupTime"` + // Instance id. + InstanceId *string `pulumi:"instanceId"` +} + +type InstanceBackupRuleState struct { + // Set automatic backup method. Valid values: + // - 0: Logical backup; + // - 1: Physical backup; + // - 3: Snapshot backup (supported only in cloud disk version). + BackupMethod pulumi.IntPtrInput + // Specify the number of days to save backup data. The default is 7 days, and the support settings are 7, 30, 90, 180, 365. + BackupRetentionPeriod pulumi.IntPtrInput + // Set the start time for automatic backup. The value range is: [0,23]. For example, setting this parameter to 2 means that backup starts at 02:00. + BackupTime pulumi.IntPtrInput + // Instance id. + InstanceId pulumi.StringPtrInput +} + +func (InstanceBackupRuleState) ElementType() reflect.Type { + return reflect.TypeOf((*instanceBackupRuleState)(nil)).Elem() +} + +type instanceBackupRuleArgs struct { + // Set automatic backup method. Valid values: + // - 0: Logical backup; + // - 1: Physical backup; + // - 3: Snapshot backup (supported only in cloud disk version). + BackupMethod int `pulumi:"backupMethod"` + // Specify the number of days to save backup data. The default is 7 days, and the support settings are 7, 30, 90, 180, 365. + BackupRetentionPeriod *int `pulumi:"backupRetentionPeriod"` + // Set the start time for automatic backup. The value range is: [0,23]. For example, setting this parameter to 2 means that backup starts at 02:00. + BackupTime int `pulumi:"backupTime"` + // Instance id. + InstanceId string `pulumi:"instanceId"` +} + +// The set of arguments for constructing a InstanceBackupRule resource. +type InstanceBackupRuleArgs struct { + // Set automatic backup method. Valid values: + // - 0: Logical backup; + // - 1: Physical backup; + // - 3: Snapshot backup (supported only in cloud disk version). + BackupMethod pulumi.IntInput + // Specify the number of days to save backup data. The default is 7 days, and the support settings are 7, 30, 90, 180, 365. + BackupRetentionPeriod pulumi.IntPtrInput + // Set the start time for automatic backup. The value range is: [0,23]. For example, setting this parameter to 2 means that backup starts at 02:00. + BackupTime pulumi.IntInput + // Instance id. + InstanceId pulumi.StringInput +} + +func (InstanceBackupRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*instanceBackupRuleArgs)(nil)).Elem() +} + +type InstanceBackupRuleInput interface { + pulumi.Input + + ToInstanceBackupRuleOutput() InstanceBackupRuleOutput + ToInstanceBackupRuleOutputWithContext(ctx context.Context) InstanceBackupRuleOutput +} + +func (*InstanceBackupRule) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceBackupRule)(nil)).Elem() +} + +func (i *InstanceBackupRule) ToInstanceBackupRuleOutput() InstanceBackupRuleOutput { + return i.ToInstanceBackupRuleOutputWithContext(context.Background()) +} + +func (i *InstanceBackupRule) ToInstanceBackupRuleOutputWithContext(ctx context.Context) InstanceBackupRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceBackupRuleOutput) +} + +// InstanceBackupRuleArrayInput is an input type that accepts InstanceBackupRuleArray and InstanceBackupRuleArrayOutput values. +// You can construct a concrete instance of `InstanceBackupRuleArrayInput` via: +// +// InstanceBackupRuleArray{ InstanceBackupRuleArgs{...} } +type InstanceBackupRuleArrayInput interface { + pulumi.Input + + ToInstanceBackupRuleArrayOutput() InstanceBackupRuleArrayOutput + ToInstanceBackupRuleArrayOutputWithContext(context.Context) InstanceBackupRuleArrayOutput +} + +type InstanceBackupRuleArray []InstanceBackupRuleInput + +func (InstanceBackupRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*InstanceBackupRule)(nil)).Elem() +} + +func (i InstanceBackupRuleArray) ToInstanceBackupRuleArrayOutput() InstanceBackupRuleArrayOutput { + return i.ToInstanceBackupRuleArrayOutputWithContext(context.Background()) +} + +func (i InstanceBackupRuleArray) ToInstanceBackupRuleArrayOutputWithContext(ctx context.Context) InstanceBackupRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceBackupRuleArrayOutput) +} + +// InstanceBackupRuleMapInput is an input type that accepts InstanceBackupRuleMap and InstanceBackupRuleMapOutput values. +// You can construct a concrete instance of `InstanceBackupRuleMapInput` via: +// +// InstanceBackupRuleMap{ "key": InstanceBackupRuleArgs{...} } +type InstanceBackupRuleMapInput interface { + pulumi.Input + + ToInstanceBackupRuleMapOutput() InstanceBackupRuleMapOutput + ToInstanceBackupRuleMapOutputWithContext(context.Context) InstanceBackupRuleMapOutput +} + +type InstanceBackupRuleMap map[string]InstanceBackupRuleInput + +func (InstanceBackupRuleMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*InstanceBackupRule)(nil)).Elem() +} + +func (i InstanceBackupRuleMap) ToInstanceBackupRuleMapOutput() InstanceBackupRuleMapOutput { + return i.ToInstanceBackupRuleMapOutputWithContext(context.Background()) +} + +func (i InstanceBackupRuleMap) ToInstanceBackupRuleMapOutputWithContext(ctx context.Context) InstanceBackupRuleMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceBackupRuleMapOutput) +} + +type InstanceBackupRuleOutput struct{ *pulumi.OutputState } + +func (InstanceBackupRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceBackupRule)(nil)).Elem() +} + +func (o InstanceBackupRuleOutput) ToInstanceBackupRuleOutput() InstanceBackupRuleOutput { + return o +} + +func (o InstanceBackupRuleOutput) ToInstanceBackupRuleOutputWithContext(ctx context.Context) InstanceBackupRuleOutput { + return o +} + +// Set automatic backup method. Valid values: +// - 0: Logical backup; +// - 1: Physical backup; +// - 3: Snapshot backup (supported only in cloud disk version). +func (o InstanceBackupRuleOutput) BackupMethod() pulumi.IntOutput { + return o.ApplyT(func(v *InstanceBackupRule) pulumi.IntOutput { return v.BackupMethod }).(pulumi.IntOutput) +} + +// Specify the number of days to save backup data. The default is 7 days, and the support settings are 7, 30, 90, 180, 365. +func (o InstanceBackupRuleOutput) BackupRetentionPeriod() pulumi.IntOutput { + return o.ApplyT(func(v *InstanceBackupRule) pulumi.IntOutput { return v.BackupRetentionPeriod }).(pulumi.IntOutput) +} + +// Set the start time for automatic backup. The value range is: [0,23]. For example, setting this parameter to 2 means that backup starts at 02:00. +func (o InstanceBackupRuleOutput) BackupTime() pulumi.IntOutput { + return o.ApplyT(func(v *InstanceBackupRule) pulumi.IntOutput { return v.BackupTime }).(pulumi.IntOutput) +} + +// Instance id. +func (o InstanceBackupRuleOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *InstanceBackupRule) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) +} + +type InstanceBackupRuleArrayOutput struct{ *pulumi.OutputState } + +func (InstanceBackupRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*InstanceBackupRule)(nil)).Elem() +} + +func (o InstanceBackupRuleArrayOutput) ToInstanceBackupRuleArrayOutput() InstanceBackupRuleArrayOutput { + return o +} + +func (o InstanceBackupRuleArrayOutput) ToInstanceBackupRuleArrayOutputWithContext(ctx context.Context) InstanceBackupRuleArrayOutput { + return o +} + +func (o InstanceBackupRuleArrayOutput) Index(i pulumi.IntInput) InstanceBackupRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *InstanceBackupRule { + return vs[0].([]*InstanceBackupRule)[vs[1].(int)] + }).(InstanceBackupRuleOutput) +} + +type InstanceBackupRuleMapOutput struct{ *pulumi.OutputState } + +func (InstanceBackupRuleMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*InstanceBackupRule)(nil)).Elem() +} + +func (o InstanceBackupRuleMapOutput) ToInstanceBackupRuleMapOutput() InstanceBackupRuleMapOutput { + return o +} + +func (o InstanceBackupRuleMapOutput) ToInstanceBackupRuleMapOutputWithContext(ctx context.Context) InstanceBackupRuleMapOutput { + return o +} + +func (o InstanceBackupRuleMapOutput) MapIndex(k pulumi.StringInput) InstanceBackupRuleOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *InstanceBackupRule { + return vs[0].(map[string]*InstanceBackupRule)[vs[1].(string)] + }).(InstanceBackupRuleOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*InstanceBackupRuleInput)(nil)).Elem(), &InstanceBackupRule{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceBackupRuleArrayInput)(nil)).Elem(), InstanceBackupRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceBackupRuleMapInput)(nil)).Elem(), InstanceBackupRuleMap{}) + pulumi.RegisterOutputType(InstanceBackupRuleOutput{}) + pulumi.RegisterOutputType(InstanceBackupRuleArrayOutput{}) + pulumi.RegisterOutputType(InstanceBackupRuleMapOutput{}) +} diff --git a/sdk/go/tencentcloud/mongodb/instanceTransparentDataEncryption.go b/sdk/go/tencentcloud/mongodb/instanceTransparentDataEncryption.go new file mode 100644 index 000000000..986885e6e --- /dev/null +++ b/sdk/go/tencentcloud/mongodb/instanceTransparentDataEncryption.go @@ -0,0 +1,329 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package mongodb + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" +) + +// Provides a resource to enable mongodb transparent data encryption +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Mongodb" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Mongodb.NewInstanceTransparentDataEncryption(ctx, "encryption", &Mongodb.InstanceTransparentDataEncryptionArgs{ +// InstanceId: pulumi.String("cmgo-xxxxxx"), +// KmsRegion: pulumi.String("ap-guangzhou"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// mongodb transparent data encryption can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Mongodb/instanceTransparentDataEncryption:InstanceTransparentDataEncryption encryption ${instanceId} +// ``` +type InstanceTransparentDataEncryption struct { + pulumi.CustomResourceState + + // Instance ID, for example: cmgo-p8vn ***. Currently supported general versions include: 4.4 and 5.0, but the cloud disk version is not currently supported. + InstanceId pulumi.StringOutput `pulumi:"instanceId"` + // Key ID. If this parameter is not set and the specific key ID is not specified, Tencent Cloud will automatically generate + // the key and this key will be beyond the control of Terraform. + KeyId pulumi.StringPtrOutput `pulumi:"keyId"` + // List of bound keys. + KeyInfoLists InstanceTransparentDataEncryptionKeyInfoListArrayOutput `pulumi:"keyInfoLists"` + // The region where the Key Management Service (KMS) serves, such as ap-shanghai. + KmsRegion pulumi.StringOutput `pulumi:"kmsRegion"` + // Represents whether transparent encryption is turned on. Valid values: + // - close: Not opened; + // - open: It has been opened. + TransparentDataEncryptionStatus pulumi.StringOutput `pulumi:"transparentDataEncryptionStatus"` +} + +// NewInstanceTransparentDataEncryption registers a new resource with the given unique name, arguments, and options. +func NewInstanceTransparentDataEncryption(ctx *pulumi.Context, + name string, args *InstanceTransparentDataEncryptionArgs, opts ...pulumi.ResourceOption) (*InstanceTransparentDataEncryption, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.InstanceId == nil { + return nil, errors.New("invalid value for required argument 'InstanceId'") + } + if args.KmsRegion == nil { + return nil, errors.New("invalid value for required argument 'KmsRegion'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource InstanceTransparentDataEncryption + err := ctx.RegisterResource("tencentcloud:Mongodb/instanceTransparentDataEncryption:InstanceTransparentDataEncryption", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetInstanceTransparentDataEncryption gets an existing InstanceTransparentDataEncryption resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetInstanceTransparentDataEncryption(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *InstanceTransparentDataEncryptionState, opts ...pulumi.ResourceOption) (*InstanceTransparentDataEncryption, error) { + var resource InstanceTransparentDataEncryption + err := ctx.ReadResource("tencentcloud:Mongodb/instanceTransparentDataEncryption:InstanceTransparentDataEncryption", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering InstanceTransparentDataEncryption resources. +type instanceTransparentDataEncryptionState struct { + // Instance ID, for example: cmgo-p8vn ***. Currently supported general versions include: 4.4 and 5.0, but the cloud disk version is not currently supported. + InstanceId *string `pulumi:"instanceId"` + // Key ID. If this parameter is not set and the specific key ID is not specified, Tencent Cloud will automatically generate + // the key and this key will be beyond the control of Terraform. + KeyId *string `pulumi:"keyId"` + // List of bound keys. + KeyInfoLists []InstanceTransparentDataEncryptionKeyInfoList `pulumi:"keyInfoLists"` + // The region where the Key Management Service (KMS) serves, such as ap-shanghai. + KmsRegion *string `pulumi:"kmsRegion"` + // Represents whether transparent encryption is turned on. Valid values: + // - close: Not opened; + // - open: It has been opened. + TransparentDataEncryptionStatus *string `pulumi:"transparentDataEncryptionStatus"` +} + +type InstanceTransparentDataEncryptionState struct { + // Instance ID, for example: cmgo-p8vn ***. Currently supported general versions include: 4.4 and 5.0, but the cloud disk version is not currently supported. + InstanceId pulumi.StringPtrInput + // Key ID. If this parameter is not set and the specific key ID is not specified, Tencent Cloud will automatically generate + // the key and this key will be beyond the control of Terraform. + KeyId pulumi.StringPtrInput + // List of bound keys. + KeyInfoLists InstanceTransparentDataEncryptionKeyInfoListArrayInput + // The region where the Key Management Service (KMS) serves, such as ap-shanghai. + KmsRegion pulumi.StringPtrInput + // Represents whether transparent encryption is turned on. Valid values: + // - close: Not opened; + // - open: It has been opened. + TransparentDataEncryptionStatus pulumi.StringPtrInput +} + +func (InstanceTransparentDataEncryptionState) ElementType() reflect.Type { + return reflect.TypeOf((*instanceTransparentDataEncryptionState)(nil)).Elem() +} + +type instanceTransparentDataEncryptionArgs struct { + // Instance ID, for example: cmgo-p8vn ***. Currently supported general versions include: 4.4 and 5.0, but the cloud disk version is not currently supported. + InstanceId string `pulumi:"instanceId"` + // Key ID. If this parameter is not set and the specific key ID is not specified, Tencent Cloud will automatically generate + // the key and this key will be beyond the control of Terraform. + KeyId *string `pulumi:"keyId"` + // The region where the Key Management Service (KMS) serves, such as ap-shanghai. + KmsRegion string `pulumi:"kmsRegion"` +} + +// The set of arguments for constructing a InstanceTransparentDataEncryption resource. +type InstanceTransparentDataEncryptionArgs struct { + // Instance ID, for example: cmgo-p8vn ***. Currently supported general versions include: 4.4 and 5.0, but the cloud disk version is not currently supported. + InstanceId pulumi.StringInput + // Key ID. If this parameter is not set and the specific key ID is not specified, Tencent Cloud will automatically generate + // the key and this key will be beyond the control of Terraform. + KeyId pulumi.StringPtrInput + // The region where the Key Management Service (KMS) serves, such as ap-shanghai. + KmsRegion pulumi.StringInput +} + +func (InstanceTransparentDataEncryptionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*instanceTransparentDataEncryptionArgs)(nil)).Elem() +} + +type InstanceTransparentDataEncryptionInput interface { + pulumi.Input + + ToInstanceTransparentDataEncryptionOutput() InstanceTransparentDataEncryptionOutput + ToInstanceTransparentDataEncryptionOutputWithContext(ctx context.Context) InstanceTransparentDataEncryptionOutput +} + +func (*InstanceTransparentDataEncryption) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceTransparentDataEncryption)(nil)).Elem() +} + +func (i *InstanceTransparentDataEncryption) ToInstanceTransparentDataEncryptionOutput() InstanceTransparentDataEncryptionOutput { + return i.ToInstanceTransparentDataEncryptionOutputWithContext(context.Background()) +} + +func (i *InstanceTransparentDataEncryption) ToInstanceTransparentDataEncryptionOutputWithContext(ctx context.Context) InstanceTransparentDataEncryptionOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceTransparentDataEncryptionOutput) +} + +// InstanceTransparentDataEncryptionArrayInput is an input type that accepts InstanceTransparentDataEncryptionArray and InstanceTransparentDataEncryptionArrayOutput values. +// You can construct a concrete instance of `InstanceTransparentDataEncryptionArrayInput` via: +// +// InstanceTransparentDataEncryptionArray{ InstanceTransparentDataEncryptionArgs{...} } +type InstanceTransparentDataEncryptionArrayInput interface { + pulumi.Input + + ToInstanceTransparentDataEncryptionArrayOutput() InstanceTransparentDataEncryptionArrayOutput + ToInstanceTransparentDataEncryptionArrayOutputWithContext(context.Context) InstanceTransparentDataEncryptionArrayOutput +} + +type InstanceTransparentDataEncryptionArray []InstanceTransparentDataEncryptionInput + +func (InstanceTransparentDataEncryptionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*InstanceTransparentDataEncryption)(nil)).Elem() +} + +func (i InstanceTransparentDataEncryptionArray) ToInstanceTransparentDataEncryptionArrayOutput() InstanceTransparentDataEncryptionArrayOutput { + return i.ToInstanceTransparentDataEncryptionArrayOutputWithContext(context.Background()) +} + +func (i InstanceTransparentDataEncryptionArray) ToInstanceTransparentDataEncryptionArrayOutputWithContext(ctx context.Context) InstanceTransparentDataEncryptionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceTransparentDataEncryptionArrayOutput) +} + +// InstanceTransparentDataEncryptionMapInput is an input type that accepts InstanceTransparentDataEncryptionMap and InstanceTransparentDataEncryptionMapOutput values. +// You can construct a concrete instance of `InstanceTransparentDataEncryptionMapInput` via: +// +// InstanceTransparentDataEncryptionMap{ "key": InstanceTransparentDataEncryptionArgs{...} } +type InstanceTransparentDataEncryptionMapInput interface { + pulumi.Input + + ToInstanceTransparentDataEncryptionMapOutput() InstanceTransparentDataEncryptionMapOutput + ToInstanceTransparentDataEncryptionMapOutputWithContext(context.Context) InstanceTransparentDataEncryptionMapOutput +} + +type InstanceTransparentDataEncryptionMap map[string]InstanceTransparentDataEncryptionInput + +func (InstanceTransparentDataEncryptionMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*InstanceTransparentDataEncryption)(nil)).Elem() +} + +func (i InstanceTransparentDataEncryptionMap) ToInstanceTransparentDataEncryptionMapOutput() InstanceTransparentDataEncryptionMapOutput { + return i.ToInstanceTransparentDataEncryptionMapOutputWithContext(context.Background()) +} + +func (i InstanceTransparentDataEncryptionMap) ToInstanceTransparentDataEncryptionMapOutputWithContext(ctx context.Context) InstanceTransparentDataEncryptionMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceTransparentDataEncryptionMapOutput) +} + +type InstanceTransparentDataEncryptionOutput struct{ *pulumi.OutputState } + +func (InstanceTransparentDataEncryptionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceTransparentDataEncryption)(nil)).Elem() +} + +func (o InstanceTransparentDataEncryptionOutput) ToInstanceTransparentDataEncryptionOutput() InstanceTransparentDataEncryptionOutput { + return o +} + +func (o InstanceTransparentDataEncryptionOutput) ToInstanceTransparentDataEncryptionOutputWithContext(ctx context.Context) InstanceTransparentDataEncryptionOutput { + return o +} + +// Instance ID, for example: cmgo-p8vn ***. Currently supported general versions include: 4.4 and 5.0, but the cloud disk version is not currently supported. +func (o InstanceTransparentDataEncryptionOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *InstanceTransparentDataEncryption) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) +} + +// Key ID. If this parameter is not set and the specific key ID is not specified, Tencent Cloud will automatically generate +// the key and this key will be beyond the control of Terraform. +func (o InstanceTransparentDataEncryptionOutput) KeyId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceTransparentDataEncryption) pulumi.StringPtrOutput { return v.KeyId }).(pulumi.StringPtrOutput) +} + +// List of bound keys. +func (o InstanceTransparentDataEncryptionOutput) KeyInfoLists() InstanceTransparentDataEncryptionKeyInfoListArrayOutput { + return o.ApplyT(func(v *InstanceTransparentDataEncryption) InstanceTransparentDataEncryptionKeyInfoListArrayOutput { + return v.KeyInfoLists + }).(InstanceTransparentDataEncryptionKeyInfoListArrayOutput) +} + +// The region where the Key Management Service (KMS) serves, such as ap-shanghai. +func (o InstanceTransparentDataEncryptionOutput) KmsRegion() pulumi.StringOutput { + return o.ApplyT(func(v *InstanceTransparentDataEncryption) pulumi.StringOutput { return v.KmsRegion }).(pulumi.StringOutput) +} + +// Represents whether transparent encryption is turned on. Valid values: +// - close: Not opened; +// - open: It has been opened. +func (o InstanceTransparentDataEncryptionOutput) TransparentDataEncryptionStatus() pulumi.StringOutput { + return o.ApplyT(func(v *InstanceTransparentDataEncryption) pulumi.StringOutput { + return v.TransparentDataEncryptionStatus + }).(pulumi.StringOutput) +} + +type InstanceTransparentDataEncryptionArrayOutput struct{ *pulumi.OutputState } + +func (InstanceTransparentDataEncryptionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*InstanceTransparentDataEncryption)(nil)).Elem() +} + +func (o InstanceTransparentDataEncryptionArrayOutput) ToInstanceTransparentDataEncryptionArrayOutput() InstanceTransparentDataEncryptionArrayOutput { + return o +} + +func (o InstanceTransparentDataEncryptionArrayOutput) ToInstanceTransparentDataEncryptionArrayOutputWithContext(ctx context.Context) InstanceTransparentDataEncryptionArrayOutput { + return o +} + +func (o InstanceTransparentDataEncryptionArrayOutput) Index(i pulumi.IntInput) InstanceTransparentDataEncryptionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *InstanceTransparentDataEncryption { + return vs[0].([]*InstanceTransparentDataEncryption)[vs[1].(int)] + }).(InstanceTransparentDataEncryptionOutput) +} + +type InstanceTransparentDataEncryptionMapOutput struct{ *pulumi.OutputState } + +func (InstanceTransparentDataEncryptionMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*InstanceTransparentDataEncryption)(nil)).Elem() +} + +func (o InstanceTransparentDataEncryptionMapOutput) ToInstanceTransparentDataEncryptionMapOutput() InstanceTransparentDataEncryptionMapOutput { + return o +} + +func (o InstanceTransparentDataEncryptionMapOutput) ToInstanceTransparentDataEncryptionMapOutputWithContext(ctx context.Context) InstanceTransparentDataEncryptionMapOutput { + return o +} + +func (o InstanceTransparentDataEncryptionMapOutput) MapIndex(k pulumi.StringInput) InstanceTransparentDataEncryptionOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *InstanceTransparentDataEncryption { + return vs[0].(map[string]*InstanceTransparentDataEncryption)[vs[1].(string)] + }).(InstanceTransparentDataEncryptionOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*InstanceTransparentDataEncryptionInput)(nil)).Elem(), &InstanceTransparentDataEncryption{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceTransparentDataEncryptionArrayInput)(nil)).Elem(), InstanceTransparentDataEncryptionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceTransparentDataEncryptionMapInput)(nil)).Elem(), InstanceTransparentDataEncryptionMap{}) + pulumi.RegisterOutputType(InstanceTransparentDataEncryptionOutput{}) + pulumi.RegisterOutputType(InstanceTransparentDataEncryptionArrayOutput{}) + pulumi.RegisterOutputType(InstanceTransparentDataEncryptionMapOutput{}) +} diff --git a/sdk/go/tencentcloud/mongodb/pulumiTypes.go b/sdk/go/tencentcloud/mongodb/pulumiTypes.go index ebd235fbc..19d25663a 100644 --- a/sdk/go/tencentcloud/mongodb/pulumiTypes.go +++ b/sdk/go/tencentcloud/mongodb/pulumiTypes.go @@ -573,6 +573,148 @@ func (o InstanceStandbyInstanceListArrayOutput) Index(i pulumi.IntInput) Instanc }).(InstanceStandbyInstanceListOutput) } +type InstanceTransparentDataEncryptionKeyInfoList struct { + // Instance and key binding time. + CreateTime *string `pulumi:"createTime"` + // Master Key ID. + KeyId *string `pulumi:"keyId"` + // Master key name. + KeyName *string `pulumi:"keyName"` + // Key origin. + KeyOrigin *string `pulumi:"keyOrigin"` + // Purpose of the key. + KeyUsage *string `pulumi:"keyUsage"` + // Key status. + Status *string `pulumi:"status"` +} + +// InstanceTransparentDataEncryptionKeyInfoListInput is an input type that accepts InstanceTransparentDataEncryptionKeyInfoListArgs and InstanceTransparentDataEncryptionKeyInfoListOutput values. +// You can construct a concrete instance of `InstanceTransparentDataEncryptionKeyInfoListInput` via: +// +// InstanceTransparentDataEncryptionKeyInfoListArgs{...} +type InstanceTransparentDataEncryptionKeyInfoListInput interface { + pulumi.Input + + ToInstanceTransparentDataEncryptionKeyInfoListOutput() InstanceTransparentDataEncryptionKeyInfoListOutput + ToInstanceTransparentDataEncryptionKeyInfoListOutputWithContext(context.Context) InstanceTransparentDataEncryptionKeyInfoListOutput +} + +type InstanceTransparentDataEncryptionKeyInfoListArgs struct { + // Instance and key binding time. + CreateTime pulumi.StringPtrInput `pulumi:"createTime"` + // Master Key ID. + KeyId pulumi.StringPtrInput `pulumi:"keyId"` + // Master key name. + KeyName pulumi.StringPtrInput `pulumi:"keyName"` + // Key origin. + KeyOrigin pulumi.StringPtrInput `pulumi:"keyOrigin"` + // Purpose of the key. + KeyUsage pulumi.StringPtrInput `pulumi:"keyUsage"` + // Key status. + Status pulumi.StringPtrInput `pulumi:"status"` +} + +func (InstanceTransparentDataEncryptionKeyInfoListArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceTransparentDataEncryptionKeyInfoList)(nil)).Elem() +} + +func (i InstanceTransparentDataEncryptionKeyInfoListArgs) ToInstanceTransparentDataEncryptionKeyInfoListOutput() InstanceTransparentDataEncryptionKeyInfoListOutput { + return i.ToInstanceTransparentDataEncryptionKeyInfoListOutputWithContext(context.Background()) +} + +func (i InstanceTransparentDataEncryptionKeyInfoListArgs) ToInstanceTransparentDataEncryptionKeyInfoListOutputWithContext(ctx context.Context) InstanceTransparentDataEncryptionKeyInfoListOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceTransparentDataEncryptionKeyInfoListOutput) +} + +// InstanceTransparentDataEncryptionKeyInfoListArrayInput is an input type that accepts InstanceTransparentDataEncryptionKeyInfoListArray and InstanceTransparentDataEncryptionKeyInfoListArrayOutput values. +// You can construct a concrete instance of `InstanceTransparentDataEncryptionKeyInfoListArrayInput` via: +// +// InstanceTransparentDataEncryptionKeyInfoListArray{ InstanceTransparentDataEncryptionKeyInfoListArgs{...} } +type InstanceTransparentDataEncryptionKeyInfoListArrayInput interface { + pulumi.Input + + ToInstanceTransparentDataEncryptionKeyInfoListArrayOutput() InstanceTransparentDataEncryptionKeyInfoListArrayOutput + ToInstanceTransparentDataEncryptionKeyInfoListArrayOutputWithContext(context.Context) InstanceTransparentDataEncryptionKeyInfoListArrayOutput +} + +type InstanceTransparentDataEncryptionKeyInfoListArray []InstanceTransparentDataEncryptionKeyInfoListInput + +func (InstanceTransparentDataEncryptionKeyInfoListArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]InstanceTransparentDataEncryptionKeyInfoList)(nil)).Elem() +} + +func (i InstanceTransparentDataEncryptionKeyInfoListArray) ToInstanceTransparentDataEncryptionKeyInfoListArrayOutput() InstanceTransparentDataEncryptionKeyInfoListArrayOutput { + return i.ToInstanceTransparentDataEncryptionKeyInfoListArrayOutputWithContext(context.Background()) +} + +func (i InstanceTransparentDataEncryptionKeyInfoListArray) ToInstanceTransparentDataEncryptionKeyInfoListArrayOutputWithContext(ctx context.Context) InstanceTransparentDataEncryptionKeyInfoListArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceTransparentDataEncryptionKeyInfoListArrayOutput) +} + +type InstanceTransparentDataEncryptionKeyInfoListOutput struct{ *pulumi.OutputState } + +func (InstanceTransparentDataEncryptionKeyInfoListOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceTransparentDataEncryptionKeyInfoList)(nil)).Elem() +} + +func (o InstanceTransparentDataEncryptionKeyInfoListOutput) ToInstanceTransparentDataEncryptionKeyInfoListOutput() InstanceTransparentDataEncryptionKeyInfoListOutput { + return o +} + +func (o InstanceTransparentDataEncryptionKeyInfoListOutput) ToInstanceTransparentDataEncryptionKeyInfoListOutputWithContext(ctx context.Context) InstanceTransparentDataEncryptionKeyInfoListOutput { + return o +} + +// Instance and key binding time. +func (o InstanceTransparentDataEncryptionKeyInfoListOutput) CreateTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceTransparentDataEncryptionKeyInfoList) *string { return v.CreateTime }).(pulumi.StringPtrOutput) +} + +// Master Key ID. +func (o InstanceTransparentDataEncryptionKeyInfoListOutput) KeyId() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceTransparentDataEncryptionKeyInfoList) *string { return v.KeyId }).(pulumi.StringPtrOutput) +} + +// Master key name. +func (o InstanceTransparentDataEncryptionKeyInfoListOutput) KeyName() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceTransparentDataEncryptionKeyInfoList) *string { return v.KeyName }).(pulumi.StringPtrOutput) +} + +// Key origin. +func (o InstanceTransparentDataEncryptionKeyInfoListOutput) KeyOrigin() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceTransparentDataEncryptionKeyInfoList) *string { return v.KeyOrigin }).(pulumi.StringPtrOutput) +} + +// Purpose of the key. +func (o InstanceTransparentDataEncryptionKeyInfoListOutput) KeyUsage() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceTransparentDataEncryptionKeyInfoList) *string { return v.KeyUsage }).(pulumi.StringPtrOutput) +} + +// Key status. +func (o InstanceTransparentDataEncryptionKeyInfoListOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceTransparentDataEncryptionKeyInfoList) *string { return v.Status }).(pulumi.StringPtrOutput) +} + +type InstanceTransparentDataEncryptionKeyInfoListArrayOutput struct{ *pulumi.OutputState } + +func (InstanceTransparentDataEncryptionKeyInfoListArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]InstanceTransparentDataEncryptionKeyInfoList)(nil)).Elem() +} + +func (o InstanceTransparentDataEncryptionKeyInfoListArrayOutput) ToInstanceTransparentDataEncryptionKeyInfoListArrayOutput() InstanceTransparentDataEncryptionKeyInfoListArrayOutput { + return o +} + +func (o InstanceTransparentDataEncryptionKeyInfoListArrayOutput) ToInstanceTransparentDataEncryptionKeyInfoListArrayOutputWithContext(ctx context.Context) InstanceTransparentDataEncryptionKeyInfoListArrayOutput { + return o +} + +func (o InstanceTransparentDataEncryptionKeyInfoListArrayOutput) Index(i pulumi.IntInput) InstanceTransparentDataEncryptionKeyInfoListOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) InstanceTransparentDataEncryptionKeyInfoList { + return vs[0].([]InstanceTransparentDataEncryptionKeyInfoList)[vs[1].(int)] + }).(InstanceTransparentDataEncryptionKeyInfoListOutput) +} + type GetInstanceBackupsBackupList struct { // Remark of backup. BackupDesc string `pulumi:"backupDesc"` @@ -2141,6 +2283,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*InstanceRemoveNodeListArrayInput)(nil)).Elem(), InstanceRemoveNodeListArray{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceStandbyInstanceListInput)(nil)).Elem(), InstanceStandbyInstanceListArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceStandbyInstanceListArrayInput)(nil)).Elem(), InstanceStandbyInstanceListArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceTransparentDataEncryptionKeyInfoListInput)(nil)).Elem(), InstanceTransparentDataEncryptionKeyInfoListArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceTransparentDataEncryptionKeyInfoListArrayInput)(nil)).Elem(), InstanceTransparentDataEncryptionKeyInfoListArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetInstanceBackupsBackupListInput)(nil)).Elem(), GetInstanceBackupsBackupListArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetInstanceBackupsBackupListArrayInput)(nil)).Elem(), GetInstanceBackupsBackupListArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetInstanceConnectionsClientInput)(nil)).Elem(), GetInstanceConnectionsClientArgs{}) @@ -2169,6 +2313,8 @@ func init() { pulumi.RegisterOutputType(InstanceRemoveNodeListArrayOutput{}) pulumi.RegisterOutputType(InstanceStandbyInstanceListOutput{}) pulumi.RegisterOutputType(InstanceStandbyInstanceListArrayOutput{}) + pulumi.RegisterOutputType(InstanceTransparentDataEncryptionKeyInfoListOutput{}) + pulumi.RegisterOutputType(InstanceTransparentDataEncryptionKeyInfoListArrayOutput{}) pulumi.RegisterOutputType(GetInstanceBackupsBackupListOutput{}) pulumi.RegisterOutputType(GetInstanceBackupsBackupListArrayOutput{}) pulumi.RegisterOutputType(GetInstanceConnectionsClientOutput{}) diff --git a/sdk/go/tencentcloud/postgresql/instance.go b/sdk/go/tencentcloud/postgresql/instance.go index f7add734e..c0fc6be17 100644 --- a/sdk/go/tencentcloud/postgresql/instance.go +++ b/sdk/go/tencentcloud/postgresql/instance.go @@ -15,6 +15,7 @@ import ( // Use this resource to create postgresql instance. // // > **Note:** To update the charge type, please update the `chargeType` and specify the `period` for the charging period. It only supports updating from `POSTPAID_BY_HOUR` to `PREPAID`, and the `period` field only valid in that upgrading case. +// **Note:** If no values are set for the two parameters: `dbMajorVersion` and `engineVersion`, then `engineVersion` is set to `10.4` by default. Suggest using parameter `dbMajorVersion` to create an instance // // ## Example Usage // @@ -35,7 +36,7 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // cfg := config.New(ctx, "") -// availabilityZone := "ap-guangzhou-1" +// availabilityZone := "ap-guangzhou-3" // if param := cfg.Get("availabilityZone"); param != "" { // availabilityZone = param // } @@ -57,16 +58,18 @@ import ( // return err // } // // create postgresql -// _, err = Postgresql.NewInstance(ctx, "foo", &Postgresql.InstanceArgs{ +// _, err = Postgresql.NewInstance(ctx, "example", &Postgresql.InstanceArgs{ // AvailabilityZone: pulumi.String(availabilityZone), // ChargeType: pulumi.String("POSTPAID_BY_HOUR"), // VpcId: vpc.ID(), // SubnetId: subnet.ID(), -// EngineVersion: pulumi.String("10.4"), +// DbMajorVersion: pulumi.String("10"), +// EngineVersion: pulumi.String("10.23"), // RootUser: pulumi.String("root123"), // RootPassword: pulumi.String("Root123$"), // Charset: pulumi.String("UTF8"), // ProjectId: pulumi.Int(0), +// Cpu: pulumi.Int(1), // Memory: pulumi.Int(2), // Storage: pulumi.Int(10), // Tags: pulumi.Map{ @@ -128,12 +131,12 @@ import ( // return err // } // // create postgresql -// _, err = Postgresql.NewInstance(ctx, "foo", &Postgresql.InstanceArgs{ +// _, err = Postgresql.NewInstance(ctx, "example", &Postgresql.InstanceArgs{ // AvailabilityZone: pulumi.String(availabilityZone), // ChargeType: pulumi.String("POSTPAID_BY_HOUR"), // VpcId: vpc.ID(), // SubnetId: subnet.ID(), -// EngineVersion: pulumi.String("10.4"), +// DbMajorVersion: pulumi.String("10"), // RootUser: pulumi.String("root123"), // RootPassword: pulumi.String("Root123$"), // Charset: pulumi.String("UTF8"), @@ -173,39 +176,46 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" // "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Postgresql" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Postgresql.NewInstance(ctx, "pg", &Postgresql.InstanceArgs{ -// AvailabilityZone: pulumi.String("ap-guangzhou-6"), +// cfg := config.New(ctx, "") +// availabilityZone := "ap-guangzhou-6" +// if param := cfg.Get("availabilityZone"); param != "" { +// availabilityZone = param +// } +// _, err := Postgresql.NewInstance(ctx, "example", &Postgresql.InstanceArgs{ +// AvailabilityZone: pulumi.String(availabilityZone), +// ChargeType: pulumi.String("POSTPAID_BY_HOUR"), +// VpcId: pulumi.String("vpc-86v957zb"), +// SubnetId: pulumi.String("subnet-enm92y0m"), +// DbMajorVersion: pulumi.String("11"), +// EngineVersion: pulumi.String("11.12"), +// DbKernelVersion: pulumi.String("v11.12_r1.3"), +// NeedSupportTde: pulumi.Int(1), +// KmsKeyId: pulumi.String("788c606a-c7b7-11ec-82d1-5254001e5c4e"), +// KmsRegion: pulumi.String("ap-guangzhou"), +// RootPassword: pulumi.String("Root123$"), +// Charset: pulumi.String("LATIN1"), +// ProjectId: pulumi.Int(0), +// Memory: pulumi.Int(4), +// Storage: pulumi.Int(100), // BackupPlan: &postgresql.InstanceBackupPlanArgs{ +// MinBackupStartTime: pulumi.String("00:10:11"), +// MaxBackupStartTime: pulumi.String("01:10:11"), +// BaseBackupRetentionPeriod: pulumi.Int(7), // BackupPeriods: pulumi.StringArray{ // pulumi.String("tuesday"), // pulumi.String("wednesday"), // }, -// BaseBackupRetentionPeriod: pulumi.Int(7), -// MaxBackupStartTime: pulumi.String("01:10:11"), -// MinBackupStartTime: pulumi.String("00:10:11"), // }, -// ChargeType: pulumi.String("POSTPAID_BY_HOUR"), -// Charset: pulumi.String("LATIN1"), -// DbKernelVersion: pulumi.String("v11.12_r1.3"), -// EngineVersion: pulumi.String("11.12"), -// KmsKeyId: pulumi.String("788c606a-c7b7-11ec-82d1-5254001e5c4e"), -// KmsRegion: pulumi.String("ap-guangzhou"), -// Memory: pulumi.Int(4), -// NeedSupportTde: pulumi.Int(1), -// ProjectId: pulumi.Int(0), -// RootPassword: pulumi.String("xxxxxxxxxx"), -// Storage: pulumi.Int(100), -// SubnetId: pulumi.String("subnet-enm92y0m"), // Tags: pulumi.Map{ // "tf": pulumi.Any("test"), // }, -// VpcId: pulumi.String("vpc-86v957zb"), // }) // if err != nil { // return err @@ -226,24 +236,30 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" // "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Postgresql" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Postgresql.NewInstance(ctx, "test", &Postgresql.InstanceArgs{ -// AvailabilityZone: pulumi.Any(data.Tencentcloud_availability_zones_by_product.Zone.Zones[5].Name), +// cfg := config.New(ctx, "") +// availabilityZone := "ap-guangzhou-6" +// if param := cfg.Get("availabilityZone"); param != "" { +// availabilityZone = param +// } +// _, err := Postgresql.NewInstance(ctx, "example", &Postgresql.InstanceArgs{ +// AvailabilityZone: pulumi.String(availabilityZone), // ChargeType: pulumi.String("POSTPAID_BY_HOUR"), -// VpcId: pulumi.Any(local.Vpc_id), -// SubnetId: pulumi.Any(local.Subnet_id), +// VpcId: pulumi.String("vpc-86v957zb"), +// SubnetId: pulumi.String("subnet-enm92y0m"), // EngineVersion: pulumi.String("13.3"), -// RootPassword: pulumi.String("*"), +// RootPassword: pulumi.String("Root123$"), // Charset: pulumi.String("LATIN1"), // ProjectId: pulumi.Int(0), // PublicAccessSwitch: pulumi.Bool(false), // SecurityGroups: pulumi.StringArray{ -// local.Sg_id, +// pulumi.String("sg-cm7fbbf3"), // }, // Memory: pulumi.Int(4), // Storage: pulumi.Int(250), @@ -259,7 +275,7 @@ import ( // }, // DbKernelVersion: pulumi.String("v13.3_r1.4"), // Tags: pulumi.Map{ -// "tf": pulumi.Any("teest"), +// "tf": pulumi.Any("test"), // }, // }) // if err != nil { @@ -277,7 +293,7 @@ import ( // postgresql instance can be imported using the id, e.g. // // ```sh -// $ pulumi import tencentcloud:Postgresql/instance:Instance foo postgres-cda1iex1 +// $ pulumi import tencentcloud:Postgresql/instance:Instance example postgres-cda1iex1 // ``` type Instance struct { pulumi.CustomResourceState @@ -300,16 +316,16 @@ type Instance struct { CreateTime pulumi.StringOutput `pulumi:"createTime"` // PostgreSQL kernel version number. If it is specified, an instance running kernel DBKernelVersion will be created. It supports updating the minor kernel version immediately. DbKernelVersion pulumi.StringOutput `pulumi:"dbKernelVersion"` - // PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. + // PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. DbMajorVersion pulumi.StringOutput `pulumi:"dbMajorVersion"` - // `dbMajorVesion` will be deprecated, use `dbMajorVersion` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. + // `dbMajorVesion` will be deprecated, use `dbMajorVersion` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. // // Deprecated: `dbMajorVesion` will be deprecated, use `dbMajorVersion` instead. DbMajorVesion pulumi.StringOutput `pulumi:"dbMajorVesion"` // Specify instance node info for disaster migration. DbNodeSets InstanceDbNodeSetArrayOutput `pulumi:"dbNodeSets"` - // Version of the postgresql database engine. Valid values: `10.4`, `11.8`, `12.4`. - EngineVersion pulumi.StringPtrOutput `pulumi:"engineVersion"` + // Version of the postgresql database engine. Valid values: `10.4`, `10.17`, `10.23`, `11.8`, `11.12`, `11.22`, `12.4`, `12.7`, `12.18`, `13.3`, `14.2`, `14.11`, `15.1`, `16.0`. + EngineVersion pulumi.StringOutput `pulumi:"engineVersion"` // KeyId of the custom key. KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"` // Region of the custom key. @@ -431,15 +447,15 @@ type instanceState struct { CreateTime *string `pulumi:"createTime"` // PostgreSQL kernel version number. If it is specified, an instance running kernel DBKernelVersion will be created. It supports updating the minor kernel version immediately. DbKernelVersion *string `pulumi:"dbKernelVersion"` - // PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. + // PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. DbMajorVersion *string `pulumi:"dbMajorVersion"` - // `dbMajorVesion` will be deprecated, use `dbMajorVersion` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. + // `dbMajorVesion` will be deprecated, use `dbMajorVersion` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. // // Deprecated: `dbMajorVesion` will be deprecated, use `dbMajorVersion` instead. DbMajorVesion *string `pulumi:"dbMajorVesion"` // Specify instance node info for disaster migration. DbNodeSets []InstanceDbNodeSet `pulumi:"dbNodeSets"` - // Version of the postgresql database engine. Valid values: `10.4`, `11.8`, `12.4`. + // Version of the postgresql database engine. Valid values: `10.4`, `10.17`, `10.23`, `11.8`, `11.12`, `11.22`, `12.4`, `12.7`, `12.18`, `13.3`, `14.2`, `14.11`, `15.1`, `16.0`. EngineVersion *string `pulumi:"engineVersion"` // KeyId of the custom key. KmsKeyId *string `pulumi:"kmsKeyId"` @@ -508,15 +524,15 @@ type InstanceState struct { CreateTime pulumi.StringPtrInput // PostgreSQL kernel version number. If it is specified, an instance running kernel DBKernelVersion will be created. It supports updating the minor kernel version immediately. DbKernelVersion pulumi.StringPtrInput - // PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. + // PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. DbMajorVersion pulumi.StringPtrInput - // `dbMajorVesion` will be deprecated, use `dbMajorVersion` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. + // `dbMajorVesion` will be deprecated, use `dbMajorVersion` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. // // Deprecated: `dbMajorVesion` will be deprecated, use `dbMajorVersion` instead. DbMajorVesion pulumi.StringPtrInput // Specify instance node info for disaster migration. DbNodeSets InstanceDbNodeSetArrayInput - // Version of the postgresql database engine. Valid values: `10.4`, `11.8`, `12.4`. + // Version of the postgresql database engine. Valid values: `10.4`, `10.17`, `10.23`, `11.8`, `11.12`, `11.22`, `12.4`, `12.7`, `12.18`, `13.3`, `14.2`, `14.11`, `15.1`, `16.0`. EngineVersion pulumi.StringPtrInput // KeyId of the custom key. KmsKeyId pulumi.StringPtrInput @@ -587,15 +603,15 @@ type instanceArgs struct { Cpu *int `pulumi:"cpu"` // PostgreSQL kernel version number. If it is specified, an instance running kernel DBKernelVersion will be created. It supports updating the minor kernel version immediately. DbKernelVersion *string `pulumi:"dbKernelVersion"` - // PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. + // PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. DbMajorVersion *string `pulumi:"dbMajorVersion"` - // `dbMajorVesion` will be deprecated, use `dbMajorVersion` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. + // `dbMajorVesion` will be deprecated, use `dbMajorVersion` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. // // Deprecated: `dbMajorVesion` will be deprecated, use `dbMajorVersion` instead. DbMajorVesion *string `pulumi:"dbMajorVesion"` // Specify instance node info for disaster migration. DbNodeSets []InstanceDbNodeSet `pulumi:"dbNodeSets"` - // Version of the postgresql database engine. Valid values: `10.4`, `11.8`, `12.4`. + // Version of the postgresql database engine. Valid values: `10.4`, `10.17`, `10.23`, `11.8`, `11.12`, `11.22`, `12.4`, `12.7`, `12.18`, `13.3`, `14.2`, `14.11`, `15.1`, `16.0`. EngineVersion *string `pulumi:"engineVersion"` // KeyId of the custom key. KmsKeyId *string `pulumi:"kmsKeyId"` @@ -653,15 +669,15 @@ type InstanceArgs struct { Cpu pulumi.IntPtrInput // PostgreSQL kernel version number. If it is specified, an instance running kernel DBKernelVersion will be created. It supports updating the minor kernel version immediately. DbKernelVersion pulumi.StringPtrInput - // PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. + // PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. DbMajorVersion pulumi.StringPtrInput - // `dbMajorVesion` will be deprecated, use `dbMajorVersion` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. + // `dbMajorVesion` will be deprecated, use `dbMajorVersion` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. // // Deprecated: `dbMajorVesion` will be deprecated, use `dbMajorVersion` instead. DbMajorVesion pulumi.StringPtrInput // Specify instance node info for disaster migration. DbNodeSets InstanceDbNodeSetArrayInput - // Version of the postgresql database engine. Valid values: `10.4`, `11.8`, `12.4`. + // Version of the postgresql database engine. Valid values: `10.4`, `10.17`, `10.23`, `11.8`, `11.12`, `11.22`, `12.4`, `12.7`, `12.18`, `13.3`, `14.2`, `14.11`, `15.1`, `16.0`. EngineVersion pulumi.StringPtrInput // KeyId of the custom key. KmsKeyId pulumi.StringPtrInput @@ -833,12 +849,12 @@ func (o InstanceOutput) DbKernelVersion() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.DbKernelVersion }).(pulumi.StringOutput) } -// PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. +// PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. func (o InstanceOutput) DbMajorVersion() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.DbMajorVersion }).(pulumi.StringOutput) } -// `dbMajorVesion` will be deprecated, use `dbMajorVersion` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. +// `dbMajorVesion` will be deprecated, use `dbMajorVersion` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. // // Deprecated: `dbMajorVesion` will be deprecated, use `dbMajorVersion` instead. func (o InstanceOutput) DbMajorVesion() pulumi.StringOutput { @@ -850,9 +866,9 @@ func (o InstanceOutput) DbNodeSets() InstanceDbNodeSetArrayOutput { return o.ApplyT(func(v *Instance) InstanceDbNodeSetArrayOutput { return v.DbNodeSets }).(InstanceDbNodeSetArrayOutput) } -// Version of the postgresql database engine. Valid values: `10.4`, `11.8`, `12.4`. -func (o InstanceOutput) EngineVersion() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.EngineVersion }).(pulumi.StringPtrOutput) +// Version of the postgresql database engine. Valid values: `10.4`, `10.17`, `10.23`, `11.8`, `11.12`, `11.22`, `12.4`, `12.7`, `12.18`, `13.3`, `14.2`, `14.11`, `15.1`, `16.0`. +func (o InstanceOutput) EngineVersion() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.EngineVersion }).(pulumi.StringOutput) } // KeyId of the custom key. diff --git a/sdk/go/tencentcloud/ssl/freeCertificate.go b/sdk/go/tencentcloud/ssl/freeCertificate.go index d22f1b5f9..274f54d5b 100644 --- a/sdk/go/tencentcloud/ssl/freeCertificate.go +++ b/sdk/go/tencentcloud/ssl/freeCertificate.go @@ -97,7 +97,7 @@ type FreeCertificate struct { InsertTime pulumi.StringOutput `pulumi:"insertTime"` // Specify old certificate ID, used for re-apply. OldCertificateId pulumi.StringPtrOutput `pulumi:"oldCertificateId"` - // Type of package. Only support `"2"` (TrustAsia TLS RSA CA). + // Type of package. Only support `"83"` (TrustAsia TLS RSA CA). PackageType pulumi.StringPtrOutput `pulumi:"packageType"` // Product zh name. ProductZhName pulumi.StringOutput `pulumi:"productZhName"` @@ -111,7 +111,7 @@ type FreeCertificate struct { StatusMsg pulumi.StringOutput `pulumi:"statusMsg"` // Certificate status name. StatusName pulumi.StringOutput `pulumi:"statusName"` - // Specify validity period in month, only support `"12"` months for now. + // Specify validity period in month, only support `"3"` months for now. ValidityPeriod pulumi.StringPtrOutput `pulumi:"validityPeriod"` // Vulnerability status. VulnerabilityStatus pulumi.StringOutput `pulumi:"vulnerabilityStatus"` @@ -192,7 +192,7 @@ type freeCertificateState struct { InsertTime *string `pulumi:"insertTime"` // Specify old certificate ID, used for re-apply. OldCertificateId *string `pulumi:"oldCertificateId"` - // Type of package. Only support `"2"` (TrustAsia TLS RSA CA). + // Type of package. Only support `"83"` (TrustAsia TLS RSA CA). PackageType *string `pulumi:"packageType"` // Product zh name. ProductZhName *string `pulumi:"productZhName"` @@ -206,7 +206,7 @@ type freeCertificateState struct { StatusMsg *string `pulumi:"statusMsg"` // Certificate status name. StatusName *string `pulumi:"statusName"` - // Specify validity period in month, only support `"12"` months for now. + // Specify validity period in month, only support `"3"` months for now. ValidityPeriod *string `pulumi:"validityPeriod"` // Vulnerability status. VulnerabilityStatus *string `pulumi:"vulnerabilityStatus"` @@ -245,7 +245,7 @@ type FreeCertificateState struct { InsertTime pulumi.StringPtrInput // Specify old certificate ID, used for re-apply. OldCertificateId pulumi.StringPtrInput - // Type of package. Only support `"2"` (TrustAsia TLS RSA CA). + // Type of package. Only support `"83"` (TrustAsia TLS RSA CA). PackageType pulumi.StringPtrInput // Product zh name. ProductZhName pulumi.StringPtrInput @@ -259,7 +259,7 @@ type FreeCertificateState struct { StatusMsg pulumi.StringPtrInput // Certificate status name. StatusName pulumi.StringPtrInput - // Specify validity period in month, only support `"12"` months for now. + // Specify validity period in month, only support `"3"` months for now. ValidityPeriod pulumi.StringPtrInput // Vulnerability status. VulnerabilityStatus pulumi.StringPtrInput @@ -288,11 +288,11 @@ type freeCertificateArgs struct { DvAuthMethod string `pulumi:"dvAuthMethod"` // Specify old certificate ID, used for re-apply. OldCertificateId *string `pulumi:"oldCertificateId"` - // Type of package. Only support `"2"` (TrustAsia TLS RSA CA). + // Type of package. Only support `"83"` (TrustAsia TLS RSA CA). PackageType *string `pulumi:"packageType"` // ID of projects which this certification belong to. ProjectId *int `pulumi:"projectId"` - // Specify validity period in month, only support `"12"` months for now. + // Specify validity period in month, only support `"3"` months for now. ValidityPeriod *string `pulumi:"validityPeriod"` } @@ -316,11 +316,11 @@ type FreeCertificateArgs struct { DvAuthMethod pulumi.StringInput // Specify old certificate ID, used for re-apply. OldCertificateId pulumi.StringPtrInput - // Type of package. Only support `"2"` (TrustAsia TLS RSA CA). + // Type of package. Only support `"83"` (TrustAsia TLS RSA CA). PackageType pulumi.StringPtrInput // ID of projects which this certification belong to. ProjectId pulumi.IntPtrInput - // Specify validity period in month, only support `"12"` months for now. + // Specify validity period in month, only support `"3"` months for now. ValidityPeriod pulumi.StringPtrInput } @@ -491,7 +491,7 @@ func (o FreeCertificateOutput) OldCertificateId() pulumi.StringPtrOutput { return o.ApplyT(func(v *FreeCertificate) pulumi.StringPtrOutput { return v.OldCertificateId }).(pulumi.StringPtrOutput) } -// Type of package. Only support `"2"` (TrustAsia TLS RSA CA). +// Type of package. Only support `"83"` (TrustAsia TLS RSA CA). func (o FreeCertificateOutput) PackageType() pulumi.StringPtrOutput { return o.ApplyT(func(v *FreeCertificate) pulumi.StringPtrOutput { return v.PackageType }).(pulumi.StringPtrOutput) } @@ -526,7 +526,7 @@ func (o FreeCertificateOutput) StatusName() pulumi.StringOutput { return o.ApplyT(func(v *FreeCertificate) pulumi.StringOutput { return v.StatusName }).(pulumi.StringOutput) } -// Specify validity period in month, only support `"12"` months for now. +// Specify validity period in month, only support `"3"` months for now. func (o FreeCertificateOutput) ValidityPeriod() pulumi.StringPtrOutput { return o.ApplyT(func(v *FreeCertificate) pulumi.StringPtrOutput { return v.ValidityPeriod }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/tencentcloud/tdmq/instance.go b/sdk/go/tencentcloud/tdmq/instance.go index 6955c4c0e..c5f9e73e8 100644 --- a/sdk/go/tencentcloud/tdmq/instance.go +++ b/sdk/go/tencentcloud/tdmq/instance.go @@ -29,9 +29,9 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Tdmq.NewInstance(ctx, "foo", &Tdmq.InstanceArgs{ -// ClusterName: pulumi.String("example"), -// Remark: pulumi.String("this is description."), +// _, err := Tdmq.NewInstance(ctx, "example", &Tdmq.InstanceArgs{ +// ClusterName: pulumi.String("tf_example"), +// Remark: pulumi.String("remark."), // Tags: pulumi.Map{ // "createdBy": pulumi.Any("terraform"), // }, @@ -51,7 +51,7 @@ import ( // Tdmq instance can be imported, e.g. // // ```sh -// $ pulumi import tencentcloud:Tdmq/instance:Instance test tdmq_id +// $ pulumi import tencentcloud:Tdmq/instance:Instance example pulsar-78bwjaj8epxv // ``` type Instance struct { pulumi.CustomResourceState diff --git a/sdk/go/tencentcloud/tdmq/namespace.go b/sdk/go/tencentcloud/tdmq/namespace.go index ae2567903..9054ec404 100644 --- a/sdk/go/tencentcloud/tdmq/namespace.go +++ b/sdk/go/tencentcloud/tdmq/namespace.go @@ -12,7 +12,7 @@ import ( "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" ) -// Provide a resource to create a tdmq namespace. +// Provide a resource to create a TDMQ namespace. // // ## Example Usage // @@ -64,7 +64,7 @@ import ( // Tdmq namespace can be imported, e.g. // // ```sh -// $ pulumi import tencentcloud:Tdmq/namespace:Namespace test namespace_id +// $ pulumi import tencentcloud:Tdmq/namespace:Namespace example tf_example#pulsar-78bwjaj8epxv // ``` type Namespace struct { pulumi.CustomResourceState diff --git a/sdk/go/tencentcloud/tdmq/namespaceRoleAttachment.go b/sdk/go/tencentcloud/tdmq/namespaceRoleAttachment.go index 33c96e0b2..a419db66f 100644 --- a/sdk/go/tencentcloud/tdmq/namespaceRoleAttachment.go +++ b/sdk/go/tencentcloud/tdmq/namespaceRoleAttachment.go @@ -12,7 +12,7 @@ import ( "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" ) -// Provide a resource to create a TDMQ role. +// Provide a resource to create a TDMQ environment role. // // ## Example Usage // diff --git a/sdk/go/tencentcloud/tdmq/role.go b/sdk/go/tencentcloud/tdmq/role.go index 6f9261d6f..7112af669 100644 --- a/sdk/go/tencentcloud/tdmq/role.go +++ b/sdk/go/tencentcloud/tdmq/role.go @@ -40,7 +40,7 @@ import ( // return err // } // _, err = Tdmq.NewRole(ctx, "exampleRole", &Tdmq.RoleArgs{ -// RoleName: pulumi.String("tf_example"), +// RoleName: pulumi.String("role_example"), // ClusterId: exampleInstance.ID(), // Remark: pulumi.String("remark."), // }) @@ -53,14 +53,6 @@ import ( // // ``` // -// -// ## Import -// -// Tdmq instance can be imported, e.g. -// -// ```sh -// $ pulumi import tencentcloud:Tdmq/role:Role test tdmq_id -// ``` type Role struct { pulumi.CustomResourceState diff --git a/sdk/go/tencentcloud/tdmq/topic.go b/sdk/go/tencentcloud/tdmq/topic.go index 8ae13163b..fc6975b9a 100644 --- a/sdk/go/tencentcloud/tdmq/topic.go +++ b/sdk/go/tencentcloud/tdmq/topic.go @@ -69,14 +69,6 @@ import ( // // ``` // -// -// ## Import -// -// Tdmq Topic can be imported, e.g. -// -// ```sh -// $ pulumi import tencentcloud:Tdmq/topic:Topic test topic_id -// ``` type Topic struct { pulumi.CustomResourceState diff --git a/sdk/go/tencentcloud/teo/accelerationDomain.go b/sdk/go/tencentcloud/teo/accelerationDomain.go index 907f35823..a548e3531 100644 --- a/sdk/go/tencentcloud/teo/accelerationDomain.go +++ b/sdk/go/tencentcloud/teo/accelerationDomain.go @@ -61,8 +61,16 @@ type AccelerationDomain struct { Cname pulumi.StringOutput `pulumi:"cname"` // Accelerated domain name. DomainName pulumi.StringOutput `pulumi:"domainName"` + // HTTP back-to-origin port, the value is 1-65535, effective when OriginProtocol=FOLLOW/HTTP, if not filled in, the default value is 80. + HttpOriginPort pulumi.IntOutput `pulumi:"httpOriginPort"` + // HTTPS back-to-origin port. The value range is 1-65535. It takes effect when OriginProtocol=FOLLOW/HTTPS. If it is not filled in, the default value is 443. + HttpsOriginPort pulumi.IntOutput `pulumi:"httpsOriginPort"` + // IPv6 status, the value is: `follow`: follow the site IPv6 configuration; `on`: on; `off`: off. If not filled in, the default is: `follow`. + Ipv6Status pulumi.StringOutput `pulumi:"ipv6Status"` // Details of the origin. OriginInfo AccelerationDomainOriginInfoOutput `pulumi:"originInfo"` + // Origin return protocol, possible values are: `FOLLOW`: protocol follow; `HTTP`: HTTP protocol back to source; `HTTPS`: HTTPS protocol back to source. If not filled in, the default is: `FOLLOW`. + OriginProtocol pulumi.StringOutput `pulumi:"originProtocol"` // Accelerated domain name status, the values are: `online`: enabled; `offline`: disabled. Status pulumi.StringPtrOutput `pulumi:"status"` // ID of the site related with the accelerated domain name. @@ -112,8 +120,16 @@ type accelerationDomainState struct { Cname *string `pulumi:"cname"` // Accelerated domain name. DomainName *string `pulumi:"domainName"` + // HTTP back-to-origin port, the value is 1-65535, effective when OriginProtocol=FOLLOW/HTTP, if not filled in, the default value is 80. + HttpOriginPort *int `pulumi:"httpOriginPort"` + // HTTPS back-to-origin port. The value range is 1-65535. It takes effect when OriginProtocol=FOLLOW/HTTPS. If it is not filled in, the default value is 443. + HttpsOriginPort *int `pulumi:"httpsOriginPort"` + // IPv6 status, the value is: `follow`: follow the site IPv6 configuration; `on`: on; `off`: off. If not filled in, the default is: `follow`. + Ipv6Status *string `pulumi:"ipv6Status"` // Details of the origin. OriginInfo *AccelerationDomainOriginInfo `pulumi:"originInfo"` + // Origin return protocol, possible values are: `FOLLOW`: protocol follow; `HTTP`: HTTP protocol back to source; `HTTPS`: HTTPS protocol back to source. If not filled in, the default is: `FOLLOW`. + OriginProtocol *string `pulumi:"originProtocol"` // Accelerated domain name status, the values are: `online`: enabled; `offline`: disabled. Status *string `pulumi:"status"` // ID of the site related with the accelerated domain name. @@ -125,8 +141,16 @@ type AccelerationDomainState struct { Cname pulumi.StringPtrInput // Accelerated domain name. DomainName pulumi.StringPtrInput + // HTTP back-to-origin port, the value is 1-65535, effective when OriginProtocol=FOLLOW/HTTP, if not filled in, the default value is 80. + HttpOriginPort pulumi.IntPtrInput + // HTTPS back-to-origin port. The value range is 1-65535. It takes effect when OriginProtocol=FOLLOW/HTTPS. If it is not filled in, the default value is 443. + HttpsOriginPort pulumi.IntPtrInput + // IPv6 status, the value is: `follow`: follow the site IPv6 configuration; `on`: on; `off`: off. If not filled in, the default is: `follow`. + Ipv6Status pulumi.StringPtrInput // Details of the origin. OriginInfo AccelerationDomainOriginInfoPtrInput + // Origin return protocol, possible values are: `FOLLOW`: protocol follow; `HTTP`: HTTP protocol back to source; `HTTPS`: HTTPS protocol back to source. If not filled in, the default is: `FOLLOW`. + OriginProtocol pulumi.StringPtrInput // Accelerated domain name status, the values are: `online`: enabled; `offline`: disabled. Status pulumi.StringPtrInput // ID of the site related with the accelerated domain name. @@ -140,8 +164,16 @@ func (AccelerationDomainState) ElementType() reflect.Type { type accelerationDomainArgs struct { // Accelerated domain name. DomainName string `pulumi:"domainName"` + // HTTP back-to-origin port, the value is 1-65535, effective when OriginProtocol=FOLLOW/HTTP, if not filled in, the default value is 80. + HttpOriginPort *int `pulumi:"httpOriginPort"` + // HTTPS back-to-origin port. The value range is 1-65535. It takes effect when OriginProtocol=FOLLOW/HTTPS. If it is not filled in, the default value is 443. + HttpsOriginPort *int `pulumi:"httpsOriginPort"` + // IPv6 status, the value is: `follow`: follow the site IPv6 configuration; `on`: on; `off`: off. If not filled in, the default is: `follow`. + Ipv6Status *string `pulumi:"ipv6Status"` // Details of the origin. OriginInfo AccelerationDomainOriginInfo `pulumi:"originInfo"` + // Origin return protocol, possible values are: `FOLLOW`: protocol follow; `HTTP`: HTTP protocol back to source; `HTTPS`: HTTPS protocol back to source. If not filled in, the default is: `FOLLOW`. + OriginProtocol *string `pulumi:"originProtocol"` // Accelerated domain name status, the values are: `online`: enabled; `offline`: disabled. Status *string `pulumi:"status"` // ID of the site related with the accelerated domain name. @@ -152,8 +184,16 @@ type accelerationDomainArgs struct { type AccelerationDomainArgs struct { // Accelerated domain name. DomainName pulumi.StringInput + // HTTP back-to-origin port, the value is 1-65535, effective when OriginProtocol=FOLLOW/HTTP, if not filled in, the default value is 80. + HttpOriginPort pulumi.IntPtrInput + // HTTPS back-to-origin port. The value range is 1-65535. It takes effect when OriginProtocol=FOLLOW/HTTPS. If it is not filled in, the default value is 443. + HttpsOriginPort pulumi.IntPtrInput + // IPv6 status, the value is: `follow`: follow the site IPv6 configuration; `on`: on; `off`: off. If not filled in, the default is: `follow`. + Ipv6Status pulumi.StringPtrInput // Details of the origin. OriginInfo AccelerationDomainOriginInfoInput + // Origin return protocol, possible values are: `FOLLOW`: protocol follow; `HTTP`: HTTP protocol back to source; `HTTPS`: HTTPS protocol back to source. If not filled in, the default is: `FOLLOW`. + OriginProtocol pulumi.StringPtrInput // Accelerated domain name status, the values are: `online`: enabled; `offline`: disabled. Status pulumi.StringPtrInput // ID of the site related with the accelerated domain name. @@ -257,11 +297,31 @@ func (o AccelerationDomainOutput) DomainName() pulumi.StringOutput { return o.ApplyT(func(v *AccelerationDomain) pulumi.StringOutput { return v.DomainName }).(pulumi.StringOutput) } +// HTTP back-to-origin port, the value is 1-65535, effective when OriginProtocol=FOLLOW/HTTP, if not filled in, the default value is 80. +func (o AccelerationDomainOutput) HttpOriginPort() pulumi.IntOutput { + return o.ApplyT(func(v *AccelerationDomain) pulumi.IntOutput { return v.HttpOriginPort }).(pulumi.IntOutput) +} + +// HTTPS back-to-origin port. The value range is 1-65535. It takes effect when OriginProtocol=FOLLOW/HTTPS. If it is not filled in, the default value is 443. +func (o AccelerationDomainOutput) HttpsOriginPort() pulumi.IntOutput { + return o.ApplyT(func(v *AccelerationDomain) pulumi.IntOutput { return v.HttpsOriginPort }).(pulumi.IntOutput) +} + +// IPv6 status, the value is: `follow`: follow the site IPv6 configuration; `on`: on; `off`: off. If not filled in, the default is: `follow`. +func (o AccelerationDomainOutput) Ipv6Status() pulumi.StringOutput { + return o.ApplyT(func(v *AccelerationDomain) pulumi.StringOutput { return v.Ipv6Status }).(pulumi.StringOutput) +} + // Details of the origin. func (o AccelerationDomainOutput) OriginInfo() AccelerationDomainOriginInfoOutput { return o.ApplyT(func(v *AccelerationDomain) AccelerationDomainOriginInfoOutput { return v.OriginInfo }).(AccelerationDomainOriginInfoOutput) } +// Origin return protocol, possible values are: `FOLLOW`: protocol follow; `HTTP`: HTTP protocol back to source; `HTTPS`: HTTPS protocol back to source. If not filled in, the default is: `FOLLOW`. +func (o AccelerationDomainOutput) OriginProtocol() pulumi.StringOutput { + return o.ApplyT(func(v *AccelerationDomain) pulumi.StringOutput { return v.OriginProtocol }).(pulumi.StringOutput) +} + // Accelerated domain name status, the values are: `online`: enabled; `offline`: disabled. func (o AccelerationDomainOutput) Status() pulumi.StringPtrOutput { return o.ApplyT(func(v *AccelerationDomain) pulumi.StringPtrOutput { return v.Status }).(pulumi.StringPtrOutput) diff --git a/sdk/go/tencentcloud/teo/init.go b/sdk/go/tencentcloud/teo/init.go index 0dec71fb3..8b9f8598c 100644 --- a/sdk/go/tencentcloud/teo/init.go +++ b/sdk/go/tencentcloud/teo/init.go @@ -35,6 +35,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &OriginGroup{} case "tencentcloud:Teo/ownershipVerify:OwnershipVerify": r = &OwnershipVerify{} + case "tencentcloud:Teo/realtimeLogDelivery:RealtimeLogDelivery": + r = &RealtimeLogDelivery{} case "tencentcloud:Teo/ruleEngine:RuleEngine": r = &RuleEngine{} case "tencentcloud:Teo/zone:Zone": @@ -89,6 +91,11 @@ func init() { "Teo/ownershipVerify", &module{version}, ) + pulumi.RegisterResourceModule( + "tencentcloud", + "Teo/realtimeLogDelivery", + &module{version}, + ) pulumi.RegisterResourceModule( "tencentcloud", "Teo/ruleEngine", diff --git a/sdk/go/tencentcloud/teo/pulumiTypes.go b/sdk/go/tencentcloud/teo/pulumiTypes.go index ec61d93fa..1223f42fc 100644 --- a/sdk/go/tencentcloud/teo/pulumiTypes.go +++ b/sdk/go/tencentcloud/teo/pulumiTypes.go @@ -1160,6 +1160,1339 @@ func (o OriginGroupReferenceArrayOutput) Index(i pulumi.IntInput) OriginGroupRef }).(OriginGroupReferenceOutput) } +type RealtimeLogDeliveryCls struct { + // Tencent Cloud CLS log set ID. + LogSetId string `pulumi:"logSetId"` + // The region where the Tencent Cloud CLS log set is located. + LogSetRegion string `pulumi:"logSetRegion"` + // Tencent Cloud CLS log topic ID. + TopicId string `pulumi:"topicId"` +} + +// RealtimeLogDeliveryClsInput is an input type that accepts RealtimeLogDeliveryClsArgs and RealtimeLogDeliveryClsOutput values. +// You can construct a concrete instance of `RealtimeLogDeliveryClsInput` via: +// +// RealtimeLogDeliveryClsArgs{...} +type RealtimeLogDeliveryClsInput interface { + pulumi.Input + + ToRealtimeLogDeliveryClsOutput() RealtimeLogDeliveryClsOutput + ToRealtimeLogDeliveryClsOutputWithContext(context.Context) RealtimeLogDeliveryClsOutput +} + +type RealtimeLogDeliveryClsArgs struct { + // Tencent Cloud CLS log set ID. + LogSetId pulumi.StringInput `pulumi:"logSetId"` + // The region where the Tencent Cloud CLS log set is located. + LogSetRegion pulumi.StringInput `pulumi:"logSetRegion"` + // Tencent Cloud CLS log topic ID. + TopicId pulumi.StringInput `pulumi:"topicId"` +} + +func (RealtimeLogDeliveryClsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RealtimeLogDeliveryCls)(nil)).Elem() +} + +func (i RealtimeLogDeliveryClsArgs) ToRealtimeLogDeliveryClsOutput() RealtimeLogDeliveryClsOutput { + return i.ToRealtimeLogDeliveryClsOutputWithContext(context.Background()) +} + +func (i RealtimeLogDeliveryClsArgs) ToRealtimeLogDeliveryClsOutputWithContext(ctx context.Context) RealtimeLogDeliveryClsOutput { + return pulumi.ToOutputWithContext(ctx, i).(RealtimeLogDeliveryClsOutput) +} + +func (i RealtimeLogDeliveryClsArgs) ToRealtimeLogDeliveryClsPtrOutput() RealtimeLogDeliveryClsPtrOutput { + return i.ToRealtimeLogDeliveryClsPtrOutputWithContext(context.Background()) +} + +func (i RealtimeLogDeliveryClsArgs) ToRealtimeLogDeliveryClsPtrOutputWithContext(ctx context.Context) RealtimeLogDeliveryClsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RealtimeLogDeliveryClsOutput).ToRealtimeLogDeliveryClsPtrOutputWithContext(ctx) +} + +// RealtimeLogDeliveryClsPtrInput is an input type that accepts RealtimeLogDeliveryClsArgs, RealtimeLogDeliveryClsPtr and RealtimeLogDeliveryClsPtrOutput values. +// You can construct a concrete instance of `RealtimeLogDeliveryClsPtrInput` via: +// +// RealtimeLogDeliveryClsArgs{...} +// +// or: +// +// nil +type RealtimeLogDeliveryClsPtrInput interface { + pulumi.Input + + ToRealtimeLogDeliveryClsPtrOutput() RealtimeLogDeliveryClsPtrOutput + ToRealtimeLogDeliveryClsPtrOutputWithContext(context.Context) RealtimeLogDeliveryClsPtrOutput +} + +type realtimeLogDeliveryClsPtrType RealtimeLogDeliveryClsArgs + +func RealtimeLogDeliveryClsPtr(v *RealtimeLogDeliveryClsArgs) RealtimeLogDeliveryClsPtrInput { + return (*realtimeLogDeliveryClsPtrType)(v) +} + +func (*realtimeLogDeliveryClsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RealtimeLogDeliveryCls)(nil)).Elem() +} + +func (i *realtimeLogDeliveryClsPtrType) ToRealtimeLogDeliveryClsPtrOutput() RealtimeLogDeliveryClsPtrOutput { + return i.ToRealtimeLogDeliveryClsPtrOutputWithContext(context.Background()) +} + +func (i *realtimeLogDeliveryClsPtrType) ToRealtimeLogDeliveryClsPtrOutputWithContext(ctx context.Context) RealtimeLogDeliveryClsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RealtimeLogDeliveryClsPtrOutput) +} + +type RealtimeLogDeliveryClsOutput struct{ *pulumi.OutputState } + +func (RealtimeLogDeliveryClsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RealtimeLogDeliveryCls)(nil)).Elem() +} + +func (o RealtimeLogDeliveryClsOutput) ToRealtimeLogDeliveryClsOutput() RealtimeLogDeliveryClsOutput { + return o +} + +func (o RealtimeLogDeliveryClsOutput) ToRealtimeLogDeliveryClsOutputWithContext(ctx context.Context) RealtimeLogDeliveryClsOutput { + return o +} + +func (o RealtimeLogDeliveryClsOutput) ToRealtimeLogDeliveryClsPtrOutput() RealtimeLogDeliveryClsPtrOutput { + return o.ToRealtimeLogDeliveryClsPtrOutputWithContext(context.Background()) +} + +func (o RealtimeLogDeliveryClsOutput) ToRealtimeLogDeliveryClsPtrOutputWithContext(ctx context.Context) RealtimeLogDeliveryClsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RealtimeLogDeliveryCls) *RealtimeLogDeliveryCls { + return &v + }).(RealtimeLogDeliveryClsPtrOutput) +} + +// Tencent Cloud CLS log set ID. +func (o RealtimeLogDeliveryClsOutput) LogSetId() pulumi.StringOutput { + return o.ApplyT(func(v RealtimeLogDeliveryCls) string { return v.LogSetId }).(pulumi.StringOutput) +} + +// The region where the Tencent Cloud CLS log set is located. +func (o RealtimeLogDeliveryClsOutput) LogSetRegion() pulumi.StringOutput { + return o.ApplyT(func(v RealtimeLogDeliveryCls) string { return v.LogSetRegion }).(pulumi.StringOutput) +} + +// Tencent Cloud CLS log topic ID. +func (o RealtimeLogDeliveryClsOutput) TopicId() pulumi.StringOutput { + return o.ApplyT(func(v RealtimeLogDeliveryCls) string { return v.TopicId }).(pulumi.StringOutput) +} + +type RealtimeLogDeliveryClsPtrOutput struct{ *pulumi.OutputState } + +func (RealtimeLogDeliveryClsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RealtimeLogDeliveryCls)(nil)).Elem() +} + +func (o RealtimeLogDeliveryClsPtrOutput) ToRealtimeLogDeliveryClsPtrOutput() RealtimeLogDeliveryClsPtrOutput { + return o +} + +func (o RealtimeLogDeliveryClsPtrOutput) ToRealtimeLogDeliveryClsPtrOutputWithContext(ctx context.Context) RealtimeLogDeliveryClsPtrOutput { + return o +} + +func (o RealtimeLogDeliveryClsPtrOutput) Elem() RealtimeLogDeliveryClsOutput { + return o.ApplyT(func(v *RealtimeLogDeliveryCls) RealtimeLogDeliveryCls { + if v != nil { + return *v + } + var ret RealtimeLogDeliveryCls + return ret + }).(RealtimeLogDeliveryClsOutput) +} + +// Tencent Cloud CLS log set ID. +func (o RealtimeLogDeliveryClsPtrOutput) LogSetId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RealtimeLogDeliveryCls) *string { + if v == nil { + return nil + } + return &v.LogSetId + }).(pulumi.StringPtrOutput) +} + +// The region where the Tencent Cloud CLS log set is located. +func (o RealtimeLogDeliveryClsPtrOutput) LogSetRegion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RealtimeLogDeliveryCls) *string { + if v == nil { + return nil + } + return &v.LogSetRegion + }).(pulumi.StringPtrOutput) +} + +// Tencent Cloud CLS log topic ID. +func (o RealtimeLogDeliveryClsPtrOutput) TopicId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RealtimeLogDeliveryCls) *string { + if v == nil { + return nil + } + return &v.TopicId + }).(pulumi.StringPtrOutput) +} + +type RealtimeLogDeliveryCustomEndpoint struct { + // Fill in a custom SecretId to generate an encrypted signature. This parameter is required if the source site requires authentication. + AccessId *string `pulumi:"accessId"` + // Fill in the custom SecretKey to generate the encrypted signature. This parameter is required if the source site requires authentication. + AccessKey *string `pulumi:"accessKey"` + // Data compression type, the possible values are: `gzip`: use gzip compression. If it is not filled in, compression is not enabled. + CompressType *string `pulumi:"compressType"` + // The custom request header carried when delivering logs. If the header name you fill in is the default header carried by EdgeOne log push, such as Content-Type, then the header value you fill in will overwrite the default value. The header value references a single variable ${batchSize} to obtain the number of logs included in each POST request. + Headers []RealtimeLogDeliveryCustomEndpointHeader `pulumi:"headers"` + // When sending logs via POST request, the application layer protocol type used can be: `http`: HTTP protocol; `https`: HTTPS protocol. If not filled in, the protocol type will be parsed according to the filled in URL address. + Protocol *string `pulumi:"protocol"` + // The custom HTTP interface address for real-time log delivery. Currently, only HTTP/HTTPS protocols are supported. + Url string `pulumi:"url"` +} + +// RealtimeLogDeliveryCustomEndpointInput is an input type that accepts RealtimeLogDeliveryCustomEndpointArgs and RealtimeLogDeliveryCustomEndpointOutput values. +// You can construct a concrete instance of `RealtimeLogDeliveryCustomEndpointInput` via: +// +// RealtimeLogDeliveryCustomEndpointArgs{...} +type RealtimeLogDeliveryCustomEndpointInput interface { + pulumi.Input + + ToRealtimeLogDeliveryCustomEndpointOutput() RealtimeLogDeliveryCustomEndpointOutput + ToRealtimeLogDeliveryCustomEndpointOutputWithContext(context.Context) RealtimeLogDeliveryCustomEndpointOutput +} + +type RealtimeLogDeliveryCustomEndpointArgs struct { + // Fill in a custom SecretId to generate an encrypted signature. This parameter is required if the source site requires authentication. + AccessId pulumi.StringPtrInput `pulumi:"accessId"` + // Fill in the custom SecretKey to generate the encrypted signature. This parameter is required if the source site requires authentication. + AccessKey pulumi.StringPtrInput `pulumi:"accessKey"` + // Data compression type, the possible values are: `gzip`: use gzip compression. If it is not filled in, compression is not enabled. + CompressType pulumi.StringPtrInput `pulumi:"compressType"` + // The custom request header carried when delivering logs. If the header name you fill in is the default header carried by EdgeOne log push, such as Content-Type, then the header value you fill in will overwrite the default value. The header value references a single variable ${batchSize} to obtain the number of logs included in each POST request. + Headers RealtimeLogDeliveryCustomEndpointHeaderArrayInput `pulumi:"headers"` + // When sending logs via POST request, the application layer protocol type used can be: `http`: HTTP protocol; `https`: HTTPS protocol. If not filled in, the protocol type will be parsed according to the filled in URL address. + Protocol pulumi.StringPtrInput `pulumi:"protocol"` + // The custom HTTP interface address for real-time log delivery. Currently, only HTTP/HTTPS protocols are supported. + Url pulumi.StringInput `pulumi:"url"` +} + +func (RealtimeLogDeliveryCustomEndpointArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RealtimeLogDeliveryCustomEndpoint)(nil)).Elem() +} + +func (i RealtimeLogDeliveryCustomEndpointArgs) ToRealtimeLogDeliveryCustomEndpointOutput() RealtimeLogDeliveryCustomEndpointOutput { + return i.ToRealtimeLogDeliveryCustomEndpointOutputWithContext(context.Background()) +} + +func (i RealtimeLogDeliveryCustomEndpointArgs) ToRealtimeLogDeliveryCustomEndpointOutputWithContext(ctx context.Context) RealtimeLogDeliveryCustomEndpointOutput { + return pulumi.ToOutputWithContext(ctx, i).(RealtimeLogDeliveryCustomEndpointOutput) +} + +func (i RealtimeLogDeliveryCustomEndpointArgs) ToRealtimeLogDeliveryCustomEndpointPtrOutput() RealtimeLogDeliveryCustomEndpointPtrOutput { + return i.ToRealtimeLogDeliveryCustomEndpointPtrOutputWithContext(context.Background()) +} + +func (i RealtimeLogDeliveryCustomEndpointArgs) ToRealtimeLogDeliveryCustomEndpointPtrOutputWithContext(ctx context.Context) RealtimeLogDeliveryCustomEndpointPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RealtimeLogDeliveryCustomEndpointOutput).ToRealtimeLogDeliveryCustomEndpointPtrOutputWithContext(ctx) +} + +// RealtimeLogDeliveryCustomEndpointPtrInput is an input type that accepts RealtimeLogDeliveryCustomEndpointArgs, RealtimeLogDeliveryCustomEndpointPtr and RealtimeLogDeliveryCustomEndpointPtrOutput values. +// You can construct a concrete instance of `RealtimeLogDeliveryCustomEndpointPtrInput` via: +// +// RealtimeLogDeliveryCustomEndpointArgs{...} +// +// or: +// +// nil +type RealtimeLogDeliveryCustomEndpointPtrInput interface { + pulumi.Input + + ToRealtimeLogDeliveryCustomEndpointPtrOutput() RealtimeLogDeliveryCustomEndpointPtrOutput + ToRealtimeLogDeliveryCustomEndpointPtrOutputWithContext(context.Context) RealtimeLogDeliveryCustomEndpointPtrOutput +} + +type realtimeLogDeliveryCustomEndpointPtrType RealtimeLogDeliveryCustomEndpointArgs + +func RealtimeLogDeliveryCustomEndpointPtr(v *RealtimeLogDeliveryCustomEndpointArgs) RealtimeLogDeliveryCustomEndpointPtrInput { + return (*realtimeLogDeliveryCustomEndpointPtrType)(v) +} + +func (*realtimeLogDeliveryCustomEndpointPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RealtimeLogDeliveryCustomEndpoint)(nil)).Elem() +} + +func (i *realtimeLogDeliveryCustomEndpointPtrType) ToRealtimeLogDeliveryCustomEndpointPtrOutput() RealtimeLogDeliveryCustomEndpointPtrOutput { + return i.ToRealtimeLogDeliveryCustomEndpointPtrOutputWithContext(context.Background()) +} + +func (i *realtimeLogDeliveryCustomEndpointPtrType) ToRealtimeLogDeliveryCustomEndpointPtrOutputWithContext(ctx context.Context) RealtimeLogDeliveryCustomEndpointPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RealtimeLogDeliveryCustomEndpointPtrOutput) +} + +type RealtimeLogDeliveryCustomEndpointOutput struct{ *pulumi.OutputState } + +func (RealtimeLogDeliveryCustomEndpointOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RealtimeLogDeliveryCustomEndpoint)(nil)).Elem() +} + +func (o RealtimeLogDeliveryCustomEndpointOutput) ToRealtimeLogDeliveryCustomEndpointOutput() RealtimeLogDeliveryCustomEndpointOutput { + return o +} + +func (o RealtimeLogDeliveryCustomEndpointOutput) ToRealtimeLogDeliveryCustomEndpointOutputWithContext(ctx context.Context) RealtimeLogDeliveryCustomEndpointOutput { + return o +} + +func (o RealtimeLogDeliveryCustomEndpointOutput) ToRealtimeLogDeliveryCustomEndpointPtrOutput() RealtimeLogDeliveryCustomEndpointPtrOutput { + return o.ToRealtimeLogDeliveryCustomEndpointPtrOutputWithContext(context.Background()) +} + +func (o RealtimeLogDeliveryCustomEndpointOutput) ToRealtimeLogDeliveryCustomEndpointPtrOutputWithContext(ctx context.Context) RealtimeLogDeliveryCustomEndpointPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RealtimeLogDeliveryCustomEndpoint) *RealtimeLogDeliveryCustomEndpoint { + return &v + }).(RealtimeLogDeliveryCustomEndpointPtrOutput) +} + +// Fill in a custom SecretId to generate an encrypted signature. This parameter is required if the source site requires authentication. +func (o RealtimeLogDeliveryCustomEndpointOutput) AccessId() pulumi.StringPtrOutput { + return o.ApplyT(func(v RealtimeLogDeliveryCustomEndpoint) *string { return v.AccessId }).(pulumi.StringPtrOutput) +} + +// Fill in the custom SecretKey to generate the encrypted signature. This parameter is required if the source site requires authentication. +func (o RealtimeLogDeliveryCustomEndpointOutput) AccessKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v RealtimeLogDeliveryCustomEndpoint) *string { return v.AccessKey }).(pulumi.StringPtrOutput) +} + +// Data compression type, the possible values are: `gzip`: use gzip compression. If it is not filled in, compression is not enabled. +func (o RealtimeLogDeliveryCustomEndpointOutput) CompressType() pulumi.StringPtrOutput { + return o.ApplyT(func(v RealtimeLogDeliveryCustomEndpoint) *string { return v.CompressType }).(pulumi.StringPtrOutput) +} + +// The custom request header carried when delivering logs. If the header name you fill in is the default header carried by EdgeOne log push, such as Content-Type, then the header value you fill in will overwrite the default value. The header value references a single variable ${batchSize} to obtain the number of logs included in each POST request. +func (o RealtimeLogDeliveryCustomEndpointOutput) Headers() RealtimeLogDeliveryCustomEndpointHeaderArrayOutput { + return o.ApplyT(func(v RealtimeLogDeliveryCustomEndpoint) []RealtimeLogDeliveryCustomEndpointHeader { return v.Headers }).(RealtimeLogDeliveryCustomEndpointHeaderArrayOutput) +} + +// When sending logs via POST request, the application layer protocol type used can be: `http`: HTTP protocol; `https`: HTTPS protocol. If not filled in, the protocol type will be parsed according to the filled in URL address. +func (o RealtimeLogDeliveryCustomEndpointOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v RealtimeLogDeliveryCustomEndpoint) *string { return v.Protocol }).(pulumi.StringPtrOutput) +} + +// The custom HTTP interface address for real-time log delivery. Currently, only HTTP/HTTPS protocols are supported. +func (o RealtimeLogDeliveryCustomEndpointOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v RealtimeLogDeliveryCustomEndpoint) string { return v.Url }).(pulumi.StringOutput) +} + +type RealtimeLogDeliveryCustomEndpointPtrOutput struct{ *pulumi.OutputState } + +func (RealtimeLogDeliveryCustomEndpointPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RealtimeLogDeliveryCustomEndpoint)(nil)).Elem() +} + +func (o RealtimeLogDeliveryCustomEndpointPtrOutput) ToRealtimeLogDeliveryCustomEndpointPtrOutput() RealtimeLogDeliveryCustomEndpointPtrOutput { + return o +} + +func (o RealtimeLogDeliveryCustomEndpointPtrOutput) ToRealtimeLogDeliveryCustomEndpointPtrOutputWithContext(ctx context.Context) RealtimeLogDeliveryCustomEndpointPtrOutput { + return o +} + +func (o RealtimeLogDeliveryCustomEndpointPtrOutput) Elem() RealtimeLogDeliveryCustomEndpointOutput { + return o.ApplyT(func(v *RealtimeLogDeliveryCustomEndpoint) RealtimeLogDeliveryCustomEndpoint { + if v != nil { + return *v + } + var ret RealtimeLogDeliveryCustomEndpoint + return ret + }).(RealtimeLogDeliveryCustomEndpointOutput) +} + +// Fill in a custom SecretId to generate an encrypted signature. This parameter is required if the source site requires authentication. +func (o RealtimeLogDeliveryCustomEndpointPtrOutput) AccessId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RealtimeLogDeliveryCustomEndpoint) *string { + if v == nil { + return nil + } + return v.AccessId + }).(pulumi.StringPtrOutput) +} + +// Fill in the custom SecretKey to generate the encrypted signature. This parameter is required if the source site requires authentication. +func (o RealtimeLogDeliveryCustomEndpointPtrOutput) AccessKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RealtimeLogDeliveryCustomEndpoint) *string { + if v == nil { + return nil + } + return v.AccessKey + }).(pulumi.StringPtrOutput) +} + +// Data compression type, the possible values are: `gzip`: use gzip compression. If it is not filled in, compression is not enabled. +func (o RealtimeLogDeliveryCustomEndpointPtrOutput) CompressType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RealtimeLogDeliveryCustomEndpoint) *string { + if v == nil { + return nil + } + return v.CompressType + }).(pulumi.StringPtrOutput) +} + +// The custom request header carried when delivering logs. If the header name you fill in is the default header carried by EdgeOne log push, such as Content-Type, then the header value you fill in will overwrite the default value. The header value references a single variable ${batchSize} to obtain the number of logs included in each POST request. +func (o RealtimeLogDeliveryCustomEndpointPtrOutput) Headers() RealtimeLogDeliveryCustomEndpointHeaderArrayOutput { + return o.ApplyT(func(v *RealtimeLogDeliveryCustomEndpoint) []RealtimeLogDeliveryCustomEndpointHeader { + if v == nil { + return nil + } + return v.Headers + }).(RealtimeLogDeliveryCustomEndpointHeaderArrayOutput) +} + +// When sending logs via POST request, the application layer protocol type used can be: `http`: HTTP protocol; `https`: HTTPS protocol. If not filled in, the protocol type will be parsed according to the filled in URL address. +func (o RealtimeLogDeliveryCustomEndpointPtrOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RealtimeLogDeliveryCustomEndpoint) *string { + if v == nil { + return nil + } + return v.Protocol + }).(pulumi.StringPtrOutput) +} + +// The custom HTTP interface address for real-time log delivery. Currently, only HTTP/HTTPS protocols are supported. +func (o RealtimeLogDeliveryCustomEndpointPtrOutput) Url() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RealtimeLogDeliveryCustomEndpoint) *string { + if v == nil { + return nil + } + return &v.Url + }).(pulumi.StringPtrOutput) +} + +type RealtimeLogDeliveryCustomEndpointHeader struct { + // HTTP header name. + Name string `pulumi:"name"` + // HTTP header value. + Value string `pulumi:"value"` +} + +// RealtimeLogDeliveryCustomEndpointHeaderInput is an input type that accepts RealtimeLogDeliveryCustomEndpointHeaderArgs and RealtimeLogDeliveryCustomEndpointHeaderOutput values. +// You can construct a concrete instance of `RealtimeLogDeliveryCustomEndpointHeaderInput` via: +// +// RealtimeLogDeliveryCustomEndpointHeaderArgs{...} +type RealtimeLogDeliveryCustomEndpointHeaderInput interface { + pulumi.Input + + ToRealtimeLogDeliveryCustomEndpointHeaderOutput() RealtimeLogDeliveryCustomEndpointHeaderOutput + ToRealtimeLogDeliveryCustomEndpointHeaderOutputWithContext(context.Context) RealtimeLogDeliveryCustomEndpointHeaderOutput +} + +type RealtimeLogDeliveryCustomEndpointHeaderArgs struct { + // HTTP header name. + Name pulumi.StringInput `pulumi:"name"` + // HTTP header value. + Value pulumi.StringInput `pulumi:"value"` +} + +func (RealtimeLogDeliveryCustomEndpointHeaderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RealtimeLogDeliveryCustomEndpointHeader)(nil)).Elem() +} + +func (i RealtimeLogDeliveryCustomEndpointHeaderArgs) ToRealtimeLogDeliveryCustomEndpointHeaderOutput() RealtimeLogDeliveryCustomEndpointHeaderOutput { + return i.ToRealtimeLogDeliveryCustomEndpointHeaderOutputWithContext(context.Background()) +} + +func (i RealtimeLogDeliveryCustomEndpointHeaderArgs) ToRealtimeLogDeliveryCustomEndpointHeaderOutputWithContext(ctx context.Context) RealtimeLogDeliveryCustomEndpointHeaderOutput { + return pulumi.ToOutputWithContext(ctx, i).(RealtimeLogDeliveryCustomEndpointHeaderOutput) +} + +// RealtimeLogDeliveryCustomEndpointHeaderArrayInput is an input type that accepts RealtimeLogDeliveryCustomEndpointHeaderArray and RealtimeLogDeliveryCustomEndpointHeaderArrayOutput values. +// You can construct a concrete instance of `RealtimeLogDeliveryCustomEndpointHeaderArrayInput` via: +// +// RealtimeLogDeliveryCustomEndpointHeaderArray{ RealtimeLogDeliveryCustomEndpointHeaderArgs{...} } +type RealtimeLogDeliveryCustomEndpointHeaderArrayInput interface { + pulumi.Input + + ToRealtimeLogDeliveryCustomEndpointHeaderArrayOutput() RealtimeLogDeliveryCustomEndpointHeaderArrayOutput + ToRealtimeLogDeliveryCustomEndpointHeaderArrayOutputWithContext(context.Context) RealtimeLogDeliveryCustomEndpointHeaderArrayOutput +} + +type RealtimeLogDeliveryCustomEndpointHeaderArray []RealtimeLogDeliveryCustomEndpointHeaderInput + +func (RealtimeLogDeliveryCustomEndpointHeaderArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RealtimeLogDeliveryCustomEndpointHeader)(nil)).Elem() +} + +func (i RealtimeLogDeliveryCustomEndpointHeaderArray) ToRealtimeLogDeliveryCustomEndpointHeaderArrayOutput() RealtimeLogDeliveryCustomEndpointHeaderArrayOutput { + return i.ToRealtimeLogDeliveryCustomEndpointHeaderArrayOutputWithContext(context.Background()) +} + +func (i RealtimeLogDeliveryCustomEndpointHeaderArray) ToRealtimeLogDeliveryCustomEndpointHeaderArrayOutputWithContext(ctx context.Context) RealtimeLogDeliveryCustomEndpointHeaderArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RealtimeLogDeliveryCustomEndpointHeaderArrayOutput) +} + +type RealtimeLogDeliveryCustomEndpointHeaderOutput struct{ *pulumi.OutputState } + +func (RealtimeLogDeliveryCustomEndpointHeaderOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RealtimeLogDeliveryCustomEndpointHeader)(nil)).Elem() +} + +func (o RealtimeLogDeliveryCustomEndpointHeaderOutput) ToRealtimeLogDeliveryCustomEndpointHeaderOutput() RealtimeLogDeliveryCustomEndpointHeaderOutput { + return o +} + +func (o RealtimeLogDeliveryCustomEndpointHeaderOutput) ToRealtimeLogDeliveryCustomEndpointHeaderOutputWithContext(ctx context.Context) RealtimeLogDeliveryCustomEndpointHeaderOutput { + return o +} + +// HTTP header name. +func (o RealtimeLogDeliveryCustomEndpointHeaderOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v RealtimeLogDeliveryCustomEndpointHeader) string { return v.Name }).(pulumi.StringOutput) +} + +// HTTP header value. +func (o RealtimeLogDeliveryCustomEndpointHeaderOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v RealtimeLogDeliveryCustomEndpointHeader) string { return v.Value }).(pulumi.StringOutput) +} + +type RealtimeLogDeliveryCustomEndpointHeaderArrayOutput struct{ *pulumi.OutputState } + +func (RealtimeLogDeliveryCustomEndpointHeaderArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RealtimeLogDeliveryCustomEndpointHeader)(nil)).Elem() +} + +func (o RealtimeLogDeliveryCustomEndpointHeaderArrayOutput) ToRealtimeLogDeliveryCustomEndpointHeaderArrayOutput() RealtimeLogDeliveryCustomEndpointHeaderArrayOutput { + return o +} + +func (o RealtimeLogDeliveryCustomEndpointHeaderArrayOutput) ToRealtimeLogDeliveryCustomEndpointHeaderArrayOutputWithContext(ctx context.Context) RealtimeLogDeliveryCustomEndpointHeaderArrayOutput { + return o +} + +func (o RealtimeLogDeliveryCustomEndpointHeaderArrayOutput) Index(i pulumi.IntInput) RealtimeLogDeliveryCustomEndpointHeaderOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RealtimeLogDeliveryCustomEndpointHeader { + return vs[0].([]RealtimeLogDeliveryCustomEndpointHeader)[vs[1].(int)] + }).(RealtimeLogDeliveryCustomEndpointHeaderOutput) +} + +type RealtimeLogDeliveryCustomField struct { + // Whether to deliver this field. If left blank, this field will not be delivered. + Enabled *bool `pulumi:"enabled"` + // Extract data from the specified location in the HTTP request and response. The values are: `ReqHeader`: extract the specified field value from the HTTP request header; `RspHeader`: extract the specified field value from the HTTP response header; `Cookie`: extract the specified field value from the Cookie. + Name string `pulumi:"name"` + // The name of the parameter whose value needs to be extracted, for example: Accept-Language. + Value string `pulumi:"value"` +} + +// RealtimeLogDeliveryCustomFieldInput is an input type that accepts RealtimeLogDeliveryCustomFieldArgs and RealtimeLogDeliveryCustomFieldOutput values. +// You can construct a concrete instance of `RealtimeLogDeliveryCustomFieldInput` via: +// +// RealtimeLogDeliveryCustomFieldArgs{...} +type RealtimeLogDeliveryCustomFieldInput interface { + pulumi.Input + + ToRealtimeLogDeliveryCustomFieldOutput() RealtimeLogDeliveryCustomFieldOutput + ToRealtimeLogDeliveryCustomFieldOutputWithContext(context.Context) RealtimeLogDeliveryCustomFieldOutput +} + +type RealtimeLogDeliveryCustomFieldArgs struct { + // Whether to deliver this field. If left blank, this field will not be delivered. + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` + // Extract data from the specified location in the HTTP request and response. The values are: `ReqHeader`: extract the specified field value from the HTTP request header; `RspHeader`: extract the specified field value from the HTTP response header; `Cookie`: extract the specified field value from the Cookie. + Name pulumi.StringInput `pulumi:"name"` + // The name of the parameter whose value needs to be extracted, for example: Accept-Language. + Value pulumi.StringInput `pulumi:"value"` +} + +func (RealtimeLogDeliveryCustomFieldArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RealtimeLogDeliveryCustomField)(nil)).Elem() +} + +func (i RealtimeLogDeliveryCustomFieldArgs) ToRealtimeLogDeliveryCustomFieldOutput() RealtimeLogDeliveryCustomFieldOutput { + return i.ToRealtimeLogDeliveryCustomFieldOutputWithContext(context.Background()) +} + +func (i RealtimeLogDeliveryCustomFieldArgs) ToRealtimeLogDeliveryCustomFieldOutputWithContext(ctx context.Context) RealtimeLogDeliveryCustomFieldOutput { + return pulumi.ToOutputWithContext(ctx, i).(RealtimeLogDeliveryCustomFieldOutput) +} + +// RealtimeLogDeliveryCustomFieldArrayInput is an input type that accepts RealtimeLogDeliveryCustomFieldArray and RealtimeLogDeliveryCustomFieldArrayOutput values. +// You can construct a concrete instance of `RealtimeLogDeliveryCustomFieldArrayInput` via: +// +// RealtimeLogDeliveryCustomFieldArray{ RealtimeLogDeliveryCustomFieldArgs{...} } +type RealtimeLogDeliveryCustomFieldArrayInput interface { + pulumi.Input + + ToRealtimeLogDeliveryCustomFieldArrayOutput() RealtimeLogDeliveryCustomFieldArrayOutput + ToRealtimeLogDeliveryCustomFieldArrayOutputWithContext(context.Context) RealtimeLogDeliveryCustomFieldArrayOutput +} + +type RealtimeLogDeliveryCustomFieldArray []RealtimeLogDeliveryCustomFieldInput + +func (RealtimeLogDeliveryCustomFieldArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RealtimeLogDeliveryCustomField)(nil)).Elem() +} + +func (i RealtimeLogDeliveryCustomFieldArray) ToRealtimeLogDeliveryCustomFieldArrayOutput() RealtimeLogDeliveryCustomFieldArrayOutput { + return i.ToRealtimeLogDeliveryCustomFieldArrayOutputWithContext(context.Background()) +} + +func (i RealtimeLogDeliveryCustomFieldArray) ToRealtimeLogDeliveryCustomFieldArrayOutputWithContext(ctx context.Context) RealtimeLogDeliveryCustomFieldArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RealtimeLogDeliveryCustomFieldArrayOutput) +} + +type RealtimeLogDeliveryCustomFieldOutput struct{ *pulumi.OutputState } + +func (RealtimeLogDeliveryCustomFieldOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RealtimeLogDeliveryCustomField)(nil)).Elem() +} + +func (o RealtimeLogDeliveryCustomFieldOutput) ToRealtimeLogDeliveryCustomFieldOutput() RealtimeLogDeliveryCustomFieldOutput { + return o +} + +func (o RealtimeLogDeliveryCustomFieldOutput) ToRealtimeLogDeliveryCustomFieldOutputWithContext(ctx context.Context) RealtimeLogDeliveryCustomFieldOutput { + return o +} + +// Whether to deliver this field. If left blank, this field will not be delivered. +func (o RealtimeLogDeliveryCustomFieldOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v RealtimeLogDeliveryCustomField) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +} + +// Extract data from the specified location in the HTTP request and response. The values are: `ReqHeader`: extract the specified field value from the HTTP request header; `RspHeader`: extract the specified field value from the HTTP response header; `Cookie`: extract the specified field value from the Cookie. +func (o RealtimeLogDeliveryCustomFieldOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v RealtimeLogDeliveryCustomField) string { return v.Name }).(pulumi.StringOutput) +} + +// The name of the parameter whose value needs to be extracted, for example: Accept-Language. +func (o RealtimeLogDeliveryCustomFieldOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v RealtimeLogDeliveryCustomField) string { return v.Value }).(pulumi.StringOutput) +} + +type RealtimeLogDeliveryCustomFieldArrayOutput struct{ *pulumi.OutputState } + +func (RealtimeLogDeliveryCustomFieldArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RealtimeLogDeliveryCustomField)(nil)).Elem() +} + +func (o RealtimeLogDeliveryCustomFieldArrayOutput) ToRealtimeLogDeliveryCustomFieldArrayOutput() RealtimeLogDeliveryCustomFieldArrayOutput { + return o +} + +func (o RealtimeLogDeliveryCustomFieldArrayOutput) ToRealtimeLogDeliveryCustomFieldArrayOutputWithContext(ctx context.Context) RealtimeLogDeliveryCustomFieldArrayOutput { + return o +} + +func (o RealtimeLogDeliveryCustomFieldArrayOutput) Index(i pulumi.IntInput) RealtimeLogDeliveryCustomFieldOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RealtimeLogDeliveryCustomField { + return vs[0].([]RealtimeLogDeliveryCustomField)[vs[1].(int)] + }).(RealtimeLogDeliveryCustomFieldOutput) +} + +type RealtimeLogDeliveryDeliveryCondition struct { + // Log filtering conditions, the detailed filtering conditions are as follows: - `EdgeResponseStatusCode`: filter according to the status code returned by the EdgeOne node to the client. Supported operators: `equal`, `great`, `less`, `greatEqual`, `lessEqual`; Value range: any integer greater than or equal to 0; - `OriginResponseStatusCode`: filter according to the origin response status code. Supported operators: `equal`, `great`, `less`, `greatEqual`, `lessEqual`; Value range: any integer greater than or equal to -1; - `SecurityAction`: filter according to the final disposal action after the request hits the security rule. Supported operators: `equal`; Optional options are as follows: `-`: unknown/miss; `Monitor`: observe; `JSChallenge`: JavaScript challenge; `Deny`: intercept; `Allow`: allow; `BlockIP`: IP ban; `Redirect`: redirect; `ReturnCustomPage`: return to a custom page; `ManagedChallenge`: managed challenge; `Silence`: silent; `LongDelay`: respond after a long wait; `ShortDelay`: respond after a short wait; -`SecurityModule`: filter according to the name of the security module that finally handles the request. Supported operators: `equal`; Optional options: `-`: unknown/missed; `CustomRule`: Web Protection - Custom Rules; `RateLimitingCustomRule`: Web Protection - Rate Limiting Rules; `ManagedRule`: Web Protection - Managed Rules; `L7DDoS`: Web Protection - CC Attack Protection; `BotManagement`: Bot Management - Bot Basic Management; `BotClientReputation`: Bot Management - Client Profile Analysis; `BotBehaviorAnalysis`: Bot Management - Bot Intelligent Analysis; `BotCustomRule`: Bot Management - Custom Bot Rules; `BotActiveDetection`: Bot Management - Active Feature Recognition. + Conditions []RealtimeLogDeliveryDeliveryConditionCondition `pulumi:"conditions"` +} + +// RealtimeLogDeliveryDeliveryConditionInput is an input type that accepts RealtimeLogDeliveryDeliveryConditionArgs and RealtimeLogDeliveryDeliveryConditionOutput values. +// You can construct a concrete instance of `RealtimeLogDeliveryDeliveryConditionInput` via: +// +// RealtimeLogDeliveryDeliveryConditionArgs{...} +type RealtimeLogDeliveryDeliveryConditionInput interface { + pulumi.Input + + ToRealtimeLogDeliveryDeliveryConditionOutput() RealtimeLogDeliveryDeliveryConditionOutput + ToRealtimeLogDeliveryDeliveryConditionOutputWithContext(context.Context) RealtimeLogDeliveryDeliveryConditionOutput +} + +type RealtimeLogDeliveryDeliveryConditionArgs struct { + // Log filtering conditions, the detailed filtering conditions are as follows: - `EdgeResponseStatusCode`: filter according to the status code returned by the EdgeOne node to the client. Supported operators: `equal`, `great`, `less`, `greatEqual`, `lessEqual`; Value range: any integer greater than or equal to 0; - `OriginResponseStatusCode`: filter according to the origin response status code. Supported operators: `equal`, `great`, `less`, `greatEqual`, `lessEqual`; Value range: any integer greater than or equal to -1; - `SecurityAction`: filter according to the final disposal action after the request hits the security rule. Supported operators: `equal`; Optional options are as follows: `-`: unknown/miss; `Monitor`: observe; `JSChallenge`: JavaScript challenge; `Deny`: intercept; `Allow`: allow; `BlockIP`: IP ban; `Redirect`: redirect; `ReturnCustomPage`: return to a custom page; `ManagedChallenge`: managed challenge; `Silence`: silent; `LongDelay`: respond after a long wait; `ShortDelay`: respond after a short wait; -`SecurityModule`: filter according to the name of the security module that finally handles the request. Supported operators: `equal`; Optional options: `-`: unknown/missed; `CustomRule`: Web Protection - Custom Rules; `RateLimitingCustomRule`: Web Protection - Rate Limiting Rules; `ManagedRule`: Web Protection - Managed Rules; `L7DDoS`: Web Protection - CC Attack Protection; `BotManagement`: Bot Management - Bot Basic Management; `BotClientReputation`: Bot Management - Client Profile Analysis; `BotBehaviorAnalysis`: Bot Management - Bot Intelligent Analysis; `BotCustomRule`: Bot Management - Custom Bot Rules; `BotActiveDetection`: Bot Management - Active Feature Recognition. + Conditions RealtimeLogDeliveryDeliveryConditionConditionArrayInput `pulumi:"conditions"` +} + +func (RealtimeLogDeliveryDeliveryConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RealtimeLogDeliveryDeliveryCondition)(nil)).Elem() +} + +func (i RealtimeLogDeliveryDeliveryConditionArgs) ToRealtimeLogDeliveryDeliveryConditionOutput() RealtimeLogDeliveryDeliveryConditionOutput { + return i.ToRealtimeLogDeliveryDeliveryConditionOutputWithContext(context.Background()) +} + +func (i RealtimeLogDeliveryDeliveryConditionArgs) ToRealtimeLogDeliveryDeliveryConditionOutputWithContext(ctx context.Context) RealtimeLogDeliveryDeliveryConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(RealtimeLogDeliveryDeliveryConditionOutput) +} + +// RealtimeLogDeliveryDeliveryConditionArrayInput is an input type that accepts RealtimeLogDeliveryDeliveryConditionArray and RealtimeLogDeliveryDeliveryConditionArrayOutput values. +// You can construct a concrete instance of `RealtimeLogDeliveryDeliveryConditionArrayInput` via: +// +// RealtimeLogDeliveryDeliveryConditionArray{ RealtimeLogDeliveryDeliveryConditionArgs{...} } +type RealtimeLogDeliveryDeliveryConditionArrayInput interface { + pulumi.Input + + ToRealtimeLogDeliveryDeliveryConditionArrayOutput() RealtimeLogDeliveryDeliveryConditionArrayOutput + ToRealtimeLogDeliveryDeliveryConditionArrayOutputWithContext(context.Context) RealtimeLogDeliveryDeliveryConditionArrayOutput +} + +type RealtimeLogDeliveryDeliveryConditionArray []RealtimeLogDeliveryDeliveryConditionInput + +func (RealtimeLogDeliveryDeliveryConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RealtimeLogDeliveryDeliveryCondition)(nil)).Elem() +} + +func (i RealtimeLogDeliveryDeliveryConditionArray) ToRealtimeLogDeliveryDeliveryConditionArrayOutput() RealtimeLogDeliveryDeliveryConditionArrayOutput { + return i.ToRealtimeLogDeliveryDeliveryConditionArrayOutputWithContext(context.Background()) +} + +func (i RealtimeLogDeliveryDeliveryConditionArray) ToRealtimeLogDeliveryDeliveryConditionArrayOutputWithContext(ctx context.Context) RealtimeLogDeliveryDeliveryConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RealtimeLogDeliveryDeliveryConditionArrayOutput) +} + +type RealtimeLogDeliveryDeliveryConditionOutput struct{ *pulumi.OutputState } + +func (RealtimeLogDeliveryDeliveryConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RealtimeLogDeliveryDeliveryCondition)(nil)).Elem() +} + +func (o RealtimeLogDeliveryDeliveryConditionOutput) ToRealtimeLogDeliveryDeliveryConditionOutput() RealtimeLogDeliveryDeliveryConditionOutput { + return o +} + +func (o RealtimeLogDeliveryDeliveryConditionOutput) ToRealtimeLogDeliveryDeliveryConditionOutputWithContext(ctx context.Context) RealtimeLogDeliveryDeliveryConditionOutput { + return o +} + +// Log filtering conditions, the detailed filtering conditions are as follows: - `EdgeResponseStatusCode`: filter according to the status code returned by the EdgeOne node to the client. Supported operators: `equal`, `great`, `less`, `greatEqual`, `lessEqual`; Value range: any integer greater than or equal to 0; - `OriginResponseStatusCode`: filter according to the origin response status code. Supported operators: `equal`, `great`, `less`, `greatEqual`, `lessEqual`; Value range: any integer greater than or equal to -1; - `SecurityAction`: filter according to the final disposal action after the request hits the security rule. Supported operators: `equal`; Optional options are as follows: `-`: unknown/miss; `Monitor`: observe; `JSChallenge`: JavaScript challenge; `Deny`: intercept; `Allow`: allow; `BlockIP`: IP ban; `Redirect`: redirect; `ReturnCustomPage`: return to a custom page; `ManagedChallenge`: managed challenge; `Silence`: silent; `LongDelay`: respond after a long wait; `ShortDelay`: respond after a short wait; -`SecurityModule`: filter according to the name of the security module that finally handles the request. Supported operators: `equal`; Optional options: `-`: unknown/missed; `CustomRule`: Web Protection - Custom Rules; `RateLimitingCustomRule`: Web Protection - Rate Limiting Rules; `ManagedRule`: Web Protection - Managed Rules; `L7DDoS`: Web Protection - CC Attack Protection; `BotManagement`: Bot Management - Bot Basic Management; `BotClientReputation`: Bot Management - Client Profile Analysis; `BotBehaviorAnalysis`: Bot Management - Bot Intelligent Analysis; `BotCustomRule`: Bot Management - Custom Bot Rules; `BotActiveDetection`: Bot Management - Active Feature Recognition. +func (o RealtimeLogDeliveryDeliveryConditionOutput) Conditions() RealtimeLogDeliveryDeliveryConditionConditionArrayOutput { + return o.ApplyT(func(v RealtimeLogDeliveryDeliveryCondition) []RealtimeLogDeliveryDeliveryConditionCondition { + return v.Conditions + }).(RealtimeLogDeliveryDeliveryConditionConditionArrayOutput) +} + +type RealtimeLogDeliveryDeliveryConditionArrayOutput struct{ *pulumi.OutputState } + +func (RealtimeLogDeliveryDeliveryConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RealtimeLogDeliveryDeliveryCondition)(nil)).Elem() +} + +func (o RealtimeLogDeliveryDeliveryConditionArrayOutput) ToRealtimeLogDeliveryDeliveryConditionArrayOutput() RealtimeLogDeliveryDeliveryConditionArrayOutput { + return o +} + +func (o RealtimeLogDeliveryDeliveryConditionArrayOutput) ToRealtimeLogDeliveryDeliveryConditionArrayOutputWithContext(ctx context.Context) RealtimeLogDeliveryDeliveryConditionArrayOutput { + return o +} + +func (o RealtimeLogDeliveryDeliveryConditionArrayOutput) Index(i pulumi.IntInput) RealtimeLogDeliveryDeliveryConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RealtimeLogDeliveryDeliveryCondition { + return vs[0].([]RealtimeLogDeliveryDeliveryCondition)[vs[1].(int)] + }).(RealtimeLogDeliveryDeliveryConditionOutput) +} + +type RealtimeLogDeliveryDeliveryConditionCondition struct { + // The key of the filter condition. + Key string `pulumi:"key"` + // Query condition operator, operation types are: `equals`: equal; `notEquals`: not equal; `include`: include; `notInclude`: not include; `startWith`: start with value; `notStartWith`: not start with value; `endWith`: end with value; `notEndWith`: not end with value. + Operator string `pulumi:"operator"` + // The value of the filter condition. + Values []string `pulumi:"values"` +} + +// RealtimeLogDeliveryDeliveryConditionConditionInput is an input type that accepts RealtimeLogDeliveryDeliveryConditionConditionArgs and RealtimeLogDeliveryDeliveryConditionConditionOutput values. +// You can construct a concrete instance of `RealtimeLogDeliveryDeliveryConditionConditionInput` via: +// +// RealtimeLogDeliveryDeliveryConditionConditionArgs{...} +type RealtimeLogDeliveryDeliveryConditionConditionInput interface { + pulumi.Input + + ToRealtimeLogDeliveryDeliveryConditionConditionOutput() RealtimeLogDeliveryDeliveryConditionConditionOutput + ToRealtimeLogDeliveryDeliveryConditionConditionOutputWithContext(context.Context) RealtimeLogDeliveryDeliveryConditionConditionOutput +} + +type RealtimeLogDeliveryDeliveryConditionConditionArgs struct { + // The key of the filter condition. + Key pulumi.StringInput `pulumi:"key"` + // Query condition operator, operation types are: `equals`: equal; `notEquals`: not equal; `include`: include; `notInclude`: not include; `startWith`: start with value; `notStartWith`: not start with value; `endWith`: end with value; `notEndWith`: not end with value. + Operator pulumi.StringInput `pulumi:"operator"` + // The value of the filter condition. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (RealtimeLogDeliveryDeliveryConditionConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RealtimeLogDeliveryDeliveryConditionCondition)(nil)).Elem() +} + +func (i RealtimeLogDeliveryDeliveryConditionConditionArgs) ToRealtimeLogDeliveryDeliveryConditionConditionOutput() RealtimeLogDeliveryDeliveryConditionConditionOutput { + return i.ToRealtimeLogDeliveryDeliveryConditionConditionOutputWithContext(context.Background()) +} + +func (i RealtimeLogDeliveryDeliveryConditionConditionArgs) ToRealtimeLogDeliveryDeliveryConditionConditionOutputWithContext(ctx context.Context) RealtimeLogDeliveryDeliveryConditionConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(RealtimeLogDeliveryDeliveryConditionConditionOutput) +} + +// RealtimeLogDeliveryDeliveryConditionConditionArrayInput is an input type that accepts RealtimeLogDeliveryDeliveryConditionConditionArray and RealtimeLogDeliveryDeliveryConditionConditionArrayOutput values. +// You can construct a concrete instance of `RealtimeLogDeliveryDeliveryConditionConditionArrayInput` via: +// +// RealtimeLogDeliveryDeliveryConditionConditionArray{ RealtimeLogDeliveryDeliveryConditionConditionArgs{...} } +type RealtimeLogDeliveryDeliveryConditionConditionArrayInput interface { + pulumi.Input + + ToRealtimeLogDeliveryDeliveryConditionConditionArrayOutput() RealtimeLogDeliveryDeliveryConditionConditionArrayOutput + ToRealtimeLogDeliveryDeliveryConditionConditionArrayOutputWithContext(context.Context) RealtimeLogDeliveryDeliveryConditionConditionArrayOutput +} + +type RealtimeLogDeliveryDeliveryConditionConditionArray []RealtimeLogDeliveryDeliveryConditionConditionInput + +func (RealtimeLogDeliveryDeliveryConditionConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RealtimeLogDeliveryDeliveryConditionCondition)(nil)).Elem() +} + +func (i RealtimeLogDeliveryDeliveryConditionConditionArray) ToRealtimeLogDeliveryDeliveryConditionConditionArrayOutput() RealtimeLogDeliveryDeliveryConditionConditionArrayOutput { + return i.ToRealtimeLogDeliveryDeliveryConditionConditionArrayOutputWithContext(context.Background()) +} + +func (i RealtimeLogDeliveryDeliveryConditionConditionArray) ToRealtimeLogDeliveryDeliveryConditionConditionArrayOutputWithContext(ctx context.Context) RealtimeLogDeliveryDeliveryConditionConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RealtimeLogDeliveryDeliveryConditionConditionArrayOutput) +} + +type RealtimeLogDeliveryDeliveryConditionConditionOutput struct{ *pulumi.OutputState } + +func (RealtimeLogDeliveryDeliveryConditionConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RealtimeLogDeliveryDeliveryConditionCondition)(nil)).Elem() +} + +func (o RealtimeLogDeliveryDeliveryConditionConditionOutput) ToRealtimeLogDeliveryDeliveryConditionConditionOutput() RealtimeLogDeliveryDeliveryConditionConditionOutput { + return o +} + +func (o RealtimeLogDeliveryDeliveryConditionConditionOutput) ToRealtimeLogDeliveryDeliveryConditionConditionOutputWithContext(ctx context.Context) RealtimeLogDeliveryDeliveryConditionConditionOutput { + return o +} + +// The key of the filter condition. +func (o RealtimeLogDeliveryDeliveryConditionConditionOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v RealtimeLogDeliveryDeliveryConditionCondition) string { return v.Key }).(pulumi.StringOutput) +} + +// Query condition operator, operation types are: `equals`: equal; `notEquals`: not equal; `include`: include; `notInclude`: not include; `startWith`: start with value; `notStartWith`: not start with value; `endWith`: end with value; `notEndWith`: not end with value. +func (o RealtimeLogDeliveryDeliveryConditionConditionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v RealtimeLogDeliveryDeliveryConditionCondition) string { return v.Operator }).(pulumi.StringOutput) +} + +// The value of the filter condition. +func (o RealtimeLogDeliveryDeliveryConditionConditionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v RealtimeLogDeliveryDeliveryConditionCondition) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type RealtimeLogDeliveryDeliveryConditionConditionArrayOutput struct{ *pulumi.OutputState } + +func (RealtimeLogDeliveryDeliveryConditionConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RealtimeLogDeliveryDeliveryConditionCondition)(nil)).Elem() +} + +func (o RealtimeLogDeliveryDeliveryConditionConditionArrayOutput) ToRealtimeLogDeliveryDeliveryConditionConditionArrayOutput() RealtimeLogDeliveryDeliveryConditionConditionArrayOutput { + return o +} + +func (o RealtimeLogDeliveryDeliveryConditionConditionArrayOutput) ToRealtimeLogDeliveryDeliveryConditionConditionArrayOutputWithContext(ctx context.Context) RealtimeLogDeliveryDeliveryConditionConditionArrayOutput { + return o +} + +func (o RealtimeLogDeliveryDeliveryConditionConditionArrayOutput) Index(i pulumi.IntInput) RealtimeLogDeliveryDeliveryConditionConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RealtimeLogDeliveryDeliveryConditionCondition { + return vs[0].([]RealtimeLogDeliveryDeliveryConditionCondition)[vs[1].(int)] + }).(RealtimeLogDeliveryDeliveryConditionConditionOutput) +} + +type RealtimeLogDeliveryLogFormat struct { + // A string to be added before each log delivery batch. Each log delivery batch may contain multiple log records. + BatchPrefix *string `pulumi:"batchPrefix"` + // A string to append after each log delivery batch. + BatchSuffix *string `pulumi:"batchSuffix"` + // In a single log record, a string is inserted between fields as a separator. The possible values are: ` `: tab character; `,`: comma; `;`: semicolon. + FieldDelimiter *string `pulumi:"fieldDelimiter"` + // The default output format type for log delivery. The possible values are: `json`: Use the default log output format JSON Lines. The fields in a single log are presented as key-value pairs; `csv`: Use the default log output format csv. Only field values are presented in a single log, without field names. + FormatType string `pulumi:"formatType"` + // The string inserted between log records as a separator. The possible values are: ``: newline character; ` `: tab character; `,`: comma. + RecordDelimiter *string `pulumi:"recordDelimiter"` + // A string to prepend to each log record. + RecordPrefix *string `pulumi:"recordPrefix"` + // A string to append to each log record. + // + // The `s3` object supports the following: + RecordSuffix *string `pulumi:"recordSuffix"` +} + +// RealtimeLogDeliveryLogFormatInput is an input type that accepts RealtimeLogDeliveryLogFormatArgs and RealtimeLogDeliveryLogFormatOutput values. +// You can construct a concrete instance of `RealtimeLogDeliveryLogFormatInput` via: +// +// RealtimeLogDeliveryLogFormatArgs{...} +type RealtimeLogDeliveryLogFormatInput interface { + pulumi.Input + + ToRealtimeLogDeliveryLogFormatOutput() RealtimeLogDeliveryLogFormatOutput + ToRealtimeLogDeliveryLogFormatOutputWithContext(context.Context) RealtimeLogDeliveryLogFormatOutput +} + +type RealtimeLogDeliveryLogFormatArgs struct { + // A string to be added before each log delivery batch. Each log delivery batch may contain multiple log records. + BatchPrefix pulumi.StringPtrInput `pulumi:"batchPrefix"` + // A string to append after each log delivery batch. + BatchSuffix pulumi.StringPtrInput `pulumi:"batchSuffix"` + // In a single log record, a string is inserted between fields as a separator. The possible values are: ` `: tab character; `,`: comma; `;`: semicolon. + FieldDelimiter pulumi.StringPtrInput `pulumi:"fieldDelimiter"` + // The default output format type for log delivery. The possible values are: `json`: Use the default log output format JSON Lines. The fields in a single log are presented as key-value pairs; `csv`: Use the default log output format csv. Only field values are presented in a single log, without field names. + FormatType pulumi.StringInput `pulumi:"formatType"` + // The string inserted between log records as a separator. The possible values are: ``: newline character; ` `: tab character; `,`: comma. + RecordDelimiter pulumi.StringPtrInput `pulumi:"recordDelimiter"` + // A string to prepend to each log record. + RecordPrefix pulumi.StringPtrInput `pulumi:"recordPrefix"` + // A string to append to each log record. + // + // The `s3` object supports the following: + RecordSuffix pulumi.StringPtrInput `pulumi:"recordSuffix"` +} + +func (RealtimeLogDeliveryLogFormatArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RealtimeLogDeliveryLogFormat)(nil)).Elem() +} + +func (i RealtimeLogDeliveryLogFormatArgs) ToRealtimeLogDeliveryLogFormatOutput() RealtimeLogDeliveryLogFormatOutput { + return i.ToRealtimeLogDeliveryLogFormatOutputWithContext(context.Background()) +} + +func (i RealtimeLogDeliveryLogFormatArgs) ToRealtimeLogDeliveryLogFormatOutputWithContext(ctx context.Context) RealtimeLogDeliveryLogFormatOutput { + return pulumi.ToOutputWithContext(ctx, i).(RealtimeLogDeliveryLogFormatOutput) +} + +func (i RealtimeLogDeliveryLogFormatArgs) ToRealtimeLogDeliveryLogFormatPtrOutput() RealtimeLogDeliveryLogFormatPtrOutput { + return i.ToRealtimeLogDeliveryLogFormatPtrOutputWithContext(context.Background()) +} + +func (i RealtimeLogDeliveryLogFormatArgs) ToRealtimeLogDeliveryLogFormatPtrOutputWithContext(ctx context.Context) RealtimeLogDeliveryLogFormatPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RealtimeLogDeliveryLogFormatOutput).ToRealtimeLogDeliveryLogFormatPtrOutputWithContext(ctx) +} + +// RealtimeLogDeliveryLogFormatPtrInput is an input type that accepts RealtimeLogDeliveryLogFormatArgs, RealtimeLogDeliveryLogFormatPtr and RealtimeLogDeliveryLogFormatPtrOutput values. +// You can construct a concrete instance of `RealtimeLogDeliveryLogFormatPtrInput` via: +// +// RealtimeLogDeliveryLogFormatArgs{...} +// +// or: +// +// nil +type RealtimeLogDeliveryLogFormatPtrInput interface { + pulumi.Input + + ToRealtimeLogDeliveryLogFormatPtrOutput() RealtimeLogDeliveryLogFormatPtrOutput + ToRealtimeLogDeliveryLogFormatPtrOutputWithContext(context.Context) RealtimeLogDeliveryLogFormatPtrOutput +} + +type realtimeLogDeliveryLogFormatPtrType RealtimeLogDeliveryLogFormatArgs + +func RealtimeLogDeliveryLogFormatPtr(v *RealtimeLogDeliveryLogFormatArgs) RealtimeLogDeliveryLogFormatPtrInput { + return (*realtimeLogDeliveryLogFormatPtrType)(v) +} + +func (*realtimeLogDeliveryLogFormatPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RealtimeLogDeliveryLogFormat)(nil)).Elem() +} + +func (i *realtimeLogDeliveryLogFormatPtrType) ToRealtimeLogDeliveryLogFormatPtrOutput() RealtimeLogDeliveryLogFormatPtrOutput { + return i.ToRealtimeLogDeliveryLogFormatPtrOutputWithContext(context.Background()) +} + +func (i *realtimeLogDeliveryLogFormatPtrType) ToRealtimeLogDeliveryLogFormatPtrOutputWithContext(ctx context.Context) RealtimeLogDeliveryLogFormatPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RealtimeLogDeliveryLogFormatPtrOutput) +} + +type RealtimeLogDeliveryLogFormatOutput struct{ *pulumi.OutputState } + +func (RealtimeLogDeliveryLogFormatOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RealtimeLogDeliveryLogFormat)(nil)).Elem() +} + +func (o RealtimeLogDeliveryLogFormatOutput) ToRealtimeLogDeliveryLogFormatOutput() RealtimeLogDeliveryLogFormatOutput { + return o +} + +func (o RealtimeLogDeliveryLogFormatOutput) ToRealtimeLogDeliveryLogFormatOutputWithContext(ctx context.Context) RealtimeLogDeliveryLogFormatOutput { + return o +} + +func (o RealtimeLogDeliveryLogFormatOutput) ToRealtimeLogDeliveryLogFormatPtrOutput() RealtimeLogDeliveryLogFormatPtrOutput { + return o.ToRealtimeLogDeliveryLogFormatPtrOutputWithContext(context.Background()) +} + +func (o RealtimeLogDeliveryLogFormatOutput) ToRealtimeLogDeliveryLogFormatPtrOutputWithContext(ctx context.Context) RealtimeLogDeliveryLogFormatPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RealtimeLogDeliveryLogFormat) *RealtimeLogDeliveryLogFormat { + return &v + }).(RealtimeLogDeliveryLogFormatPtrOutput) +} + +// A string to be added before each log delivery batch. Each log delivery batch may contain multiple log records. +func (o RealtimeLogDeliveryLogFormatOutput) BatchPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v RealtimeLogDeliveryLogFormat) *string { return v.BatchPrefix }).(pulumi.StringPtrOutput) +} + +// A string to append after each log delivery batch. +func (o RealtimeLogDeliveryLogFormatOutput) BatchSuffix() pulumi.StringPtrOutput { + return o.ApplyT(func(v RealtimeLogDeliveryLogFormat) *string { return v.BatchSuffix }).(pulumi.StringPtrOutput) +} + +// In a single log record, a string is inserted between fields as a separator. The possible values are: ` `: tab character; `,`: comma; `;`: semicolon. +func (o RealtimeLogDeliveryLogFormatOutput) FieldDelimiter() pulumi.StringPtrOutput { + return o.ApplyT(func(v RealtimeLogDeliveryLogFormat) *string { return v.FieldDelimiter }).(pulumi.StringPtrOutput) +} + +// The default output format type for log delivery. The possible values are: `json`: Use the default log output format JSON Lines. The fields in a single log are presented as key-value pairs; `csv`: Use the default log output format csv. Only field values are presented in a single log, without field names. +func (o RealtimeLogDeliveryLogFormatOutput) FormatType() pulumi.StringOutput { + return o.ApplyT(func(v RealtimeLogDeliveryLogFormat) string { return v.FormatType }).(pulumi.StringOutput) +} + +// The string inserted between log records as a separator. The possible values are: “: newline character; ` `: tab character; `,`: comma. +func (o RealtimeLogDeliveryLogFormatOutput) RecordDelimiter() pulumi.StringPtrOutput { + return o.ApplyT(func(v RealtimeLogDeliveryLogFormat) *string { return v.RecordDelimiter }).(pulumi.StringPtrOutput) +} + +// A string to prepend to each log record. +func (o RealtimeLogDeliveryLogFormatOutput) RecordPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v RealtimeLogDeliveryLogFormat) *string { return v.RecordPrefix }).(pulumi.StringPtrOutput) +} + +// A string to append to each log record. +// +// The `s3` object supports the following: +func (o RealtimeLogDeliveryLogFormatOutput) RecordSuffix() pulumi.StringPtrOutput { + return o.ApplyT(func(v RealtimeLogDeliveryLogFormat) *string { return v.RecordSuffix }).(pulumi.StringPtrOutput) +} + +type RealtimeLogDeliveryLogFormatPtrOutput struct{ *pulumi.OutputState } + +func (RealtimeLogDeliveryLogFormatPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RealtimeLogDeliveryLogFormat)(nil)).Elem() +} + +func (o RealtimeLogDeliveryLogFormatPtrOutput) ToRealtimeLogDeliveryLogFormatPtrOutput() RealtimeLogDeliveryLogFormatPtrOutput { + return o +} + +func (o RealtimeLogDeliveryLogFormatPtrOutput) ToRealtimeLogDeliveryLogFormatPtrOutputWithContext(ctx context.Context) RealtimeLogDeliveryLogFormatPtrOutput { + return o +} + +func (o RealtimeLogDeliveryLogFormatPtrOutput) Elem() RealtimeLogDeliveryLogFormatOutput { + return o.ApplyT(func(v *RealtimeLogDeliveryLogFormat) RealtimeLogDeliveryLogFormat { + if v != nil { + return *v + } + var ret RealtimeLogDeliveryLogFormat + return ret + }).(RealtimeLogDeliveryLogFormatOutput) +} + +// A string to be added before each log delivery batch. Each log delivery batch may contain multiple log records. +func (o RealtimeLogDeliveryLogFormatPtrOutput) BatchPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RealtimeLogDeliveryLogFormat) *string { + if v == nil { + return nil + } + return v.BatchPrefix + }).(pulumi.StringPtrOutput) +} + +// A string to append after each log delivery batch. +func (o RealtimeLogDeliveryLogFormatPtrOutput) BatchSuffix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RealtimeLogDeliveryLogFormat) *string { + if v == nil { + return nil + } + return v.BatchSuffix + }).(pulumi.StringPtrOutput) +} + +// In a single log record, a string is inserted between fields as a separator. The possible values are: ` `: tab character; `,`: comma; `;`: semicolon. +func (o RealtimeLogDeliveryLogFormatPtrOutput) FieldDelimiter() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RealtimeLogDeliveryLogFormat) *string { + if v == nil { + return nil + } + return v.FieldDelimiter + }).(pulumi.StringPtrOutput) +} + +// The default output format type for log delivery. The possible values are: `json`: Use the default log output format JSON Lines. The fields in a single log are presented as key-value pairs; `csv`: Use the default log output format csv. Only field values are presented in a single log, without field names. +func (o RealtimeLogDeliveryLogFormatPtrOutput) FormatType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RealtimeLogDeliveryLogFormat) *string { + if v == nil { + return nil + } + return &v.FormatType + }).(pulumi.StringPtrOutput) +} + +// The string inserted between log records as a separator. The possible values are: “: newline character; ` `: tab character; `,`: comma. +func (o RealtimeLogDeliveryLogFormatPtrOutput) RecordDelimiter() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RealtimeLogDeliveryLogFormat) *string { + if v == nil { + return nil + } + return v.RecordDelimiter + }).(pulumi.StringPtrOutput) +} + +// A string to prepend to each log record. +func (o RealtimeLogDeliveryLogFormatPtrOutput) RecordPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RealtimeLogDeliveryLogFormat) *string { + if v == nil { + return nil + } + return v.RecordPrefix + }).(pulumi.StringPtrOutput) +} + +// A string to append to each log record. +// +// The `s3` object supports the following: +func (o RealtimeLogDeliveryLogFormatPtrOutput) RecordSuffix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RealtimeLogDeliveryLogFormat) *string { + if v == nil { + return nil + } + return v.RecordSuffix + }).(pulumi.StringPtrOutput) +} + +type RealtimeLogDeliveryS3 struct { + // Fill in a custom SecretId to generate an encrypted signature. This parameter is required if the source site requires authentication. + AccessId string `pulumi:"accessId"` + // Fill in the custom SecretKey to generate the encrypted signature. This parameter is required if the source site requires authentication. + AccessKey string `pulumi:"accessKey"` + // Bucket name and log storage directory, for example: `your_bucket_name/EO-logs/`. If this directory does not exist in the bucket, it will be created automatically. + Bucket string `pulumi:"bucket"` + // Data compression type, the possible values are: `gzip`: use gzip compression. If it is not filled in, compression is not enabled. + CompressType *string `pulumi:"compressType"` + // URLs that do not include bucket names or paths, for example: `https://storage.googleapis.com`, `https://s3.ap-northeast-2.amazonaws.com`, `https://cos.ap-nanjing.myqcloud.com`. + Endpoint string `pulumi:"endpoint"` + // The region where the bucket is located, for example: ap-northeast-2. + Region string `pulumi:"region"` +} + +// RealtimeLogDeliveryS3Input is an input type that accepts RealtimeLogDeliveryS3Args and RealtimeLogDeliveryS3Output values. +// You can construct a concrete instance of `RealtimeLogDeliveryS3Input` via: +// +// RealtimeLogDeliveryS3Args{...} +type RealtimeLogDeliveryS3Input interface { + pulumi.Input + + ToRealtimeLogDeliveryS3Output() RealtimeLogDeliveryS3Output + ToRealtimeLogDeliveryS3OutputWithContext(context.Context) RealtimeLogDeliveryS3Output +} + +type RealtimeLogDeliveryS3Args struct { + // Fill in a custom SecretId to generate an encrypted signature. This parameter is required if the source site requires authentication. + AccessId pulumi.StringInput `pulumi:"accessId"` + // Fill in the custom SecretKey to generate the encrypted signature. This parameter is required if the source site requires authentication. + AccessKey pulumi.StringInput `pulumi:"accessKey"` + // Bucket name and log storage directory, for example: `your_bucket_name/EO-logs/`. If this directory does not exist in the bucket, it will be created automatically. + Bucket pulumi.StringInput `pulumi:"bucket"` + // Data compression type, the possible values are: `gzip`: use gzip compression. If it is not filled in, compression is not enabled. + CompressType pulumi.StringPtrInput `pulumi:"compressType"` + // URLs that do not include bucket names or paths, for example: `https://storage.googleapis.com`, `https://s3.ap-northeast-2.amazonaws.com`, `https://cos.ap-nanjing.myqcloud.com`. + Endpoint pulumi.StringInput `pulumi:"endpoint"` + // The region where the bucket is located, for example: ap-northeast-2. + Region pulumi.StringInput `pulumi:"region"` +} + +func (RealtimeLogDeliveryS3Args) ElementType() reflect.Type { + return reflect.TypeOf((*RealtimeLogDeliveryS3)(nil)).Elem() +} + +func (i RealtimeLogDeliveryS3Args) ToRealtimeLogDeliveryS3Output() RealtimeLogDeliveryS3Output { + return i.ToRealtimeLogDeliveryS3OutputWithContext(context.Background()) +} + +func (i RealtimeLogDeliveryS3Args) ToRealtimeLogDeliveryS3OutputWithContext(ctx context.Context) RealtimeLogDeliveryS3Output { + return pulumi.ToOutputWithContext(ctx, i).(RealtimeLogDeliveryS3Output) +} + +func (i RealtimeLogDeliveryS3Args) ToRealtimeLogDeliveryS3PtrOutput() RealtimeLogDeliveryS3PtrOutput { + return i.ToRealtimeLogDeliveryS3PtrOutputWithContext(context.Background()) +} + +func (i RealtimeLogDeliveryS3Args) ToRealtimeLogDeliveryS3PtrOutputWithContext(ctx context.Context) RealtimeLogDeliveryS3PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RealtimeLogDeliveryS3Output).ToRealtimeLogDeliveryS3PtrOutputWithContext(ctx) +} + +// RealtimeLogDeliveryS3PtrInput is an input type that accepts RealtimeLogDeliveryS3Args, RealtimeLogDeliveryS3Ptr and RealtimeLogDeliveryS3PtrOutput values. +// You can construct a concrete instance of `RealtimeLogDeliveryS3PtrInput` via: +// +// RealtimeLogDeliveryS3Args{...} +// +// or: +// +// nil +type RealtimeLogDeliveryS3PtrInput interface { + pulumi.Input + + ToRealtimeLogDeliveryS3PtrOutput() RealtimeLogDeliveryS3PtrOutput + ToRealtimeLogDeliveryS3PtrOutputWithContext(context.Context) RealtimeLogDeliveryS3PtrOutput +} + +type realtimeLogDeliveryS3PtrType RealtimeLogDeliveryS3Args + +func RealtimeLogDeliveryS3Ptr(v *RealtimeLogDeliveryS3Args) RealtimeLogDeliveryS3PtrInput { + return (*realtimeLogDeliveryS3PtrType)(v) +} + +func (*realtimeLogDeliveryS3PtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RealtimeLogDeliveryS3)(nil)).Elem() +} + +func (i *realtimeLogDeliveryS3PtrType) ToRealtimeLogDeliveryS3PtrOutput() RealtimeLogDeliveryS3PtrOutput { + return i.ToRealtimeLogDeliveryS3PtrOutputWithContext(context.Background()) +} + +func (i *realtimeLogDeliveryS3PtrType) ToRealtimeLogDeliveryS3PtrOutputWithContext(ctx context.Context) RealtimeLogDeliveryS3PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RealtimeLogDeliveryS3PtrOutput) +} + +type RealtimeLogDeliveryS3Output struct{ *pulumi.OutputState } + +func (RealtimeLogDeliveryS3Output) ElementType() reflect.Type { + return reflect.TypeOf((*RealtimeLogDeliveryS3)(nil)).Elem() +} + +func (o RealtimeLogDeliveryS3Output) ToRealtimeLogDeliveryS3Output() RealtimeLogDeliveryS3Output { + return o +} + +func (o RealtimeLogDeliveryS3Output) ToRealtimeLogDeliveryS3OutputWithContext(ctx context.Context) RealtimeLogDeliveryS3Output { + return o +} + +func (o RealtimeLogDeliveryS3Output) ToRealtimeLogDeliveryS3PtrOutput() RealtimeLogDeliveryS3PtrOutput { + return o.ToRealtimeLogDeliveryS3PtrOutputWithContext(context.Background()) +} + +func (o RealtimeLogDeliveryS3Output) ToRealtimeLogDeliveryS3PtrOutputWithContext(ctx context.Context) RealtimeLogDeliveryS3PtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RealtimeLogDeliveryS3) *RealtimeLogDeliveryS3 { + return &v + }).(RealtimeLogDeliveryS3PtrOutput) +} + +// Fill in a custom SecretId to generate an encrypted signature. This parameter is required if the source site requires authentication. +func (o RealtimeLogDeliveryS3Output) AccessId() pulumi.StringOutput { + return o.ApplyT(func(v RealtimeLogDeliveryS3) string { return v.AccessId }).(pulumi.StringOutput) +} + +// Fill in the custom SecretKey to generate the encrypted signature. This parameter is required if the source site requires authentication. +func (o RealtimeLogDeliveryS3Output) AccessKey() pulumi.StringOutput { + return o.ApplyT(func(v RealtimeLogDeliveryS3) string { return v.AccessKey }).(pulumi.StringOutput) +} + +// Bucket name and log storage directory, for example: `your_bucket_name/EO-logs/`. If this directory does not exist in the bucket, it will be created automatically. +func (o RealtimeLogDeliveryS3Output) Bucket() pulumi.StringOutput { + return o.ApplyT(func(v RealtimeLogDeliveryS3) string { return v.Bucket }).(pulumi.StringOutput) +} + +// Data compression type, the possible values are: `gzip`: use gzip compression. If it is not filled in, compression is not enabled. +func (o RealtimeLogDeliveryS3Output) CompressType() pulumi.StringPtrOutput { + return o.ApplyT(func(v RealtimeLogDeliveryS3) *string { return v.CompressType }).(pulumi.StringPtrOutput) +} + +// URLs that do not include bucket names or paths, for example: `https://storage.googleapis.com`, `https://s3.ap-northeast-2.amazonaws.com`, `https://cos.ap-nanjing.myqcloud.com`. +func (o RealtimeLogDeliveryS3Output) Endpoint() pulumi.StringOutput { + return o.ApplyT(func(v RealtimeLogDeliveryS3) string { return v.Endpoint }).(pulumi.StringOutput) +} + +// The region where the bucket is located, for example: ap-northeast-2. +func (o RealtimeLogDeliveryS3Output) Region() pulumi.StringOutput { + return o.ApplyT(func(v RealtimeLogDeliveryS3) string { return v.Region }).(pulumi.StringOutput) +} + +type RealtimeLogDeliveryS3PtrOutput struct{ *pulumi.OutputState } + +func (RealtimeLogDeliveryS3PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RealtimeLogDeliveryS3)(nil)).Elem() +} + +func (o RealtimeLogDeliveryS3PtrOutput) ToRealtimeLogDeliveryS3PtrOutput() RealtimeLogDeliveryS3PtrOutput { + return o +} + +func (o RealtimeLogDeliveryS3PtrOutput) ToRealtimeLogDeliveryS3PtrOutputWithContext(ctx context.Context) RealtimeLogDeliveryS3PtrOutput { + return o +} + +func (o RealtimeLogDeliveryS3PtrOutput) Elem() RealtimeLogDeliveryS3Output { + return o.ApplyT(func(v *RealtimeLogDeliveryS3) RealtimeLogDeliveryS3 { + if v != nil { + return *v + } + var ret RealtimeLogDeliveryS3 + return ret + }).(RealtimeLogDeliveryS3Output) +} + +// Fill in a custom SecretId to generate an encrypted signature. This parameter is required if the source site requires authentication. +func (o RealtimeLogDeliveryS3PtrOutput) AccessId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RealtimeLogDeliveryS3) *string { + if v == nil { + return nil + } + return &v.AccessId + }).(pulumi.StringPtrOutput) +} + +// Fill in the custom SecretKey to generate the encrypted signature. This parameter is required if the source site requires authentication. +func (o RealtimeLogDeliveryS3PtrOutput) AccessKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RealtimeLogDeliveryS3) *string { + if v == nil { + return nil + } + return &v.AccessKey + }).(pulumi.StringPtrOutput) +} + +// Bucket name and log storage directory, for example: `your_bucket_name/EO-logs/`. If this directory does not exist in the bucket, it will be created automatically. +func (o RealtimeLogDeliveryS3PtrOutput) Bucket() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RealtimeLogDeliveryS3) *string { + if v == nil { + return nil + } + return &v.Bucket + }).(pulumi.StringPtrOutput) +} + +// Data compression type, the possible values are: `gzip`: use gzip compression. If it is not filled in, compression is not enabled. +func (o RealtimeLogDeliveryS3PtrOutput) CompressType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RealtimeLogDeliveryS3) *string { + if v == nil { + return nil + } + return v.CompressType + }).(pulumi.StringPtrOutput) +} + +// URLs that do not include bucket names or paths, for example: `https://storage.googleapis.com`, `https://s3.ap-northeast-2.amazonaws.com`, `https://cos.ap-nanjing.myqcloud.com`. +func (o RealtimeLogDeliveryS3PtrOutput) Endpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RealtimeLogDeliveryS3) *string { + if v == nil { + return nil + } + return &v.Endpoint + }).(pulumi.StringPtrOutput) +} + +// The region where the bucket is located, for example: ap-northeast-2. +func (o RealtimeLogDeliveryS3PtrOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RealtimeLogDeliveryS3) *string { + if v == nil { + return nil + } + return &v.Region + }).(pulumi.StringPtrOutput) +} + type RuleEngineRule struct { // Feature to be executed. Actions []RuleEngineRuleAction `pulumi:"actions"` @@ -8254,6 +9587,22 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*OriginGroupRecordPrivateParameterArrayInput)(nil)).Elem(), OriginGroupRecordPrivateParameterArray{}) pulumi.RegisterInputType(reflect.TypeOf((*OriginGroupReferenceInput)(nil)).Elem(), OriginGroupReferenceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*OriginGroupReferenceArrayInput)(nil)).Elem(), OriginGroupReferenceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RealtimeLogDeliveryClsInput)(nil)).Elem(), RealtimeLogDeliveryClsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RealtimeLogDeliveryClsPtrInput)(nil)).Elem(), RealtimeLogDeliveryClsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RealtimeLogDeliveryCustomEndpointInput)(nil)).Elem(), RealtimeLogDeliveryCustomEndpointArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RealtimeLogDeliveryCustomEndpointPtrInput)(nil)).Elem(), RealtimeLogDeliveryCustomEndpointArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RealtimeLogDeliveryCustomEndpointHeaderInput)(nil)).Elem(), RealtimeLogDeliveryCustomEndpointHeaderArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RealtimeLogDeliveryCustomEndpointHeaderArrayInput)(nil)).Elem(), RealtimeLogDeliveryCustomEndpointHeaderArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RealtimeLogDeliveryCustomFieldInput)(nil)).Elem(), RealtimeLogDeliveryCustomFieldArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RealtimeLogDeliveryCustomFieldArrayInput)(nil)).Elem(), RealtimeLogDeliveryCustomFieldArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RealtimeLogDeliveryDeliveryConditionInput)(nil)).Elem(), RealtimeLogDeliveryDeliveryConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RealtimeLogDeliveryDeliveryConditionArrayInput)(nil)).Elem(), RealtimeLogDeliveryDeliveryConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RealtimeLogDeliveryDeliveryConditionConditionInput)(nil)).Elem(), RealtimeLogDeliveryDeliveryConditionConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RealtimeLogDeliveryDeliveryConditionConditionArrayInput)(nil)).Elem(), RealtimeLogDeliveryDeliveryConditionConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RealtimeLogDeliveryLogFormatInput)(nil)).Elem(), RealtimeLogDeliveryLogFormatArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RealtimeLogDeliveryLogFormatPtrInput)(nil)).Elem(), RealtimeLogDeliveryLogFormatArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RealtimeLogDeliveryS3Input)(nil)).Elem(), RealtimeLogDeliveryS3Args{}) + pulumi.RegisterInputType(reflect.TypeOf((*RealtimeLogDeliveryS3PtrInput)(nil)).Elem(), RealtimeLogDeliveryS3Args{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleEngineRuleInput)(nil)).Elem(), RuleEngineRuleArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleEngineRuleArrayInput)(nil)).Elem(), RuleEngineRuleArray{}) pulumi.RegisterInputType(reflect.TypeOf((*RuleEngineRuleActionInput)(nil)).Elem(), RuleEngineRuleActionArgs{}) @@ -8370,6 +9719,22 @@ func init() { pulumi.RegisterOutputType(OriginGroupRecordPrivateParameterArrayOutput{}) pulumi.RegisterOutputType(OriginGroupReferenceOutput{}) pulumi.RegisterOutputType(OriginGroupReferenceArrayOutput{}) + pulumi.RegisterOutputType(RealtimeLogDeliveryClsOutput{}) + pulumi.RegisterOutputType(RealtimeLogDeliveryClsPtrOutput{}) + pulumi.RegisterOutputType(RealtimeLogDeliveryCustomEndpointOutput{}) + pulumi.RegisterOutputType(RealtimeLogDeliveryCustomEndpointPtrOutput{}) + pulumi.RegisterOutputType(RealtimeLogDeliveryCustomEndpointHeaderOutput{}) + pulumi.RegisterOutputType(RealtimeLogDeliveryCustomEndpointHeaderArrayOutput{}) + pulumi.RegisterOutputType(RealtimeLogDeliveryCustomFieldOutput{}) + pulumi.RegisterOutputType(RealtimeLogDeliveryCustomFieldArrayOutput{}) + pulumi.RegisterOutputType(RealtimeLogDeliveryDeliveryConditionOutput{}) + pulumi.RegisterOutputType(RealtimeLogDeliveryDeliveryConditionArrayOutput{}) + pulumi.RegisterOutputType(RealtimeLogDeliveryDeliveryConditionConditionOutput{}) + pulumi.RegisterOutputType(RealtimeLogDeliveryDeliveryConditionConditionArrayOutput{}) + pulumi.RegisterOutputType(RealtimeLogDeliveryLogFormatOutput{}) + pulumi.RegisterOutputType(RealtimeLogDeliveryLogFormatPtrOutput{}) + pulumi.RegisterOutputType(RealtimeLogDeliveryS3Output{}) + pulumi.RegisterOutputType(RealtimeLogDeliveryS3PtrOutput{}) pulumi.RegisterOutputType(RuleEngineRuleOutput{}) pulumi.RegisterOutputType(RuleEngineRuleArrayOutput{}) pulumi.RegisterOutputType(RuleEngineRuleActionOutput{}) diff --git a/sdk/go/tencentcloud/teo/realtimeLogDelivery.go b/sdk/go/tencentcloud/teo/realtimeLogDelivery.go new file mode 100644 index 000000000..a12f947bc --- /dev/null +++ b/sdk/go/tencentcloud/teo/realtimeLogDelivery.go @@ -0,0 +1,537 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package teo + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/internal" +) + +// Provides a resource to create a teo teoRealtimeLogDelivery +// +// ## Example Usage +// +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Teo" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := Teo.NewRealtimeLogDelivery(ctx, "teoRealtimeLogDelivery", &Teo.RealtimeLogDeliveryArgs{ +// Area: pulumi.String("overseas"), +// DeliveryStatus: pulumi.String("disabled"), +// EntityLists: pulumi.StringArray{ +// pulumi.String("sid-2yvhjw98uaco"), +// }, +// Fields: pulumi.StringArray{ +// pulumi.String("ServiceID"), +// pulumi.String("ConnectTimeStamp"), +// pulumi.String("DisconnetTimeStamp"), +// pulumi.String("DisconnetReason"), +// pulumi.String("ClientRealIP"), +// pulumi.String("ClientRegion"), +// pulumi.String("EdgeIP"), +// pulumi.String("ForwardProtocol"), +// pulumi.String("ForwardPort"), +// pulumi.String("SentBytes"), +// pulumi.String("ReceivedBytes"), +// pulumi.String("LogTimeStamp"), +// }, +// LogFormat: &teo.RealtimeLogDeliveryLogFormatArgs{ +// FieldDelimiter: pulumi.String(","), +// FormatType: pulumi.String("json"), +// RecordDelimiter: pulumi.String("\n\n"), +// RecordPrefix: pulumi.String("{"), +// RecordSuffix: pulumi.String("}"), +// }, +// LogType: pulumi.String("application"), +// S3: &teo.RealtimeLogDeliveryS3Args{ +// AccessId: pulumi.String("xxxxxxxxxx"), +// AccessKey: pulumi.String("xxxxxxxxxx"), +// Bucket: pulumi.String("test-1253833068"), +// CompressType: pulumi.String("gzip"), +// Endpoint: pulumi.String("https://test-1253833068.cos.ap-nanjing.myqcloud.com"), +// Region: pulumi.String("ap-nanjing"), +// }, +// Sample: pulumi.Int(0), +// TaskName: pulumi.String("test"), +// TaskType: pulumi.String("s3"), +// ZoneId: pulumi.String("zone-2qtuhspy7cr6"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// +// ## Import +// +// teo teo_realtime_log_delivery can be imported using the id, e.g. +// +// ```sh +// $ pulumi import tencentcloud:Teo/realtimeLogDelivery:RealtimeLogDelivery teo_realtime_log_delivery zoneId#taskId +// ``` +type RealtimeLogDelivery struct { + pulumi.CustomResourceState + + // Data delivery area, possible values are: `mainland`: within mainland China; `overseas`: worldwide (excluding mainland China). + Area pulumi.StringOutput `pulumi:"area"` + // CLS configuration information. This parameter is required when TaskType is cls. + Cls RealtimeLogDeliveryClsOutput `pulumi:"cls"` + // Customize the configuration information of the HTTP service. This parameter is required when TaskType is set to custom_endpoint. + CustomEndpoint RealtimeLogDeliveryCustomEndpointOutput `pulumi:"customEndpoint"` + // The list of custom fields delivered supports extracting specified field values from HTTP request headers, response headers, and cookies. Custom field names cannot be repeated and cannot exceed 200 fields. + CustomFields RealtimeLogDeliveryCustomFieldArrayOutput `pulumi:"customFields"` + // The filter condition for log delivery. If it is not filled, all logs will be delivered. + DeliveryConditions RealtimeLogDeliveryDeliveryConditionArrayOutput `pulumi:"deliveryConditions"` + // The status of the real-time log delivery task. The values are: `enabled`: enabled; `disabled`: disabled. Leave it blank to keep the original configuration. Not required when creating. + DeliveryStatus pulumi.StringOutput `pulumi:"deliveryStatus"` + // List of entities (seven-layer domain names or four-layer proxy instances) corresponding to real-time log delivery tasks. Example values are as follows: Seven-layer domain name: `domain.example.com`; four-layer proxy instance: sid-2s69eb5wcms7. For values, refer to: `https://cloud.tencent.com/document/api/1552/80690`, `https://cloud.tencent.com/document/api/1552/86336`. + EntityLists pulumi.StringArrayOutput `pulumi:"entityLists"` + // A list of preset fields for delivery. + Fields pulumi.StringArrayOutput `pulumi:"fields"` + // The output format of log delivery. If it is not filled, it means the default format. The default format logic is as follows: when TaskType is `customEndpoint`, the default format is an array of multiple JSON objects, each JSON object is a log; when TaskType is `s3`, the default format is JSON Lines; in particular, when TaskType is `cls`, the value of LogFormat.FormatType can only be json, and other parameters in LogFormat will be ignored. It is recommended not to pass LogFormat. + LogFormat RealtimeLogDeliveryLogFormatOutput `pulumi:"logFormat"` + // Data delivery type, the values are: `domain`: site acceleration log; `application`: four-layer proxy log; `web-rateLiming`: rate limit and CC attack protection log; `web-attack`: managed rule log; `web-rule`: custom rule log; `web-bot`: Bot management log. + LogType pulumi.StringOutput `pulumi:"logType"` + // Configuration information of AWS S3 compatible storage bucket. This parameter is required when TaskType is s3. + S3 RealtimeLogDeliveryS3Output `pulumi:"s3"` + // The sampling ratio is in thousandths, with a value range of 1-1000. For example, filling in 605 means the sampling ratio is 60.5%. Leaving it blank means the sampling ratio is 100%. + Sample pulumi.IntOutput `pulumi:"sample"` + // Real-time log delivery task ID. + TaskId pulumi.StringOutput `pulumi:"taskId"` + // The name of the real-time log delivery task. The format is a combination of numbers, English, -, and _. The maximum length is 200 characters. + TaskName pulumi.StringOutput `pulumi:"taskName"` + // The real-time log delivery task type. The possible values are: `cls`: push to Tencent Cloud CLS; `customEndpoint`: push to a custom HTTP(S) address; `s3`: push to an AWS S3 compatible storage bucket address. + TaskType pulumi.StringOutput `pulumi:"taskType"` + // ID of the site. + ZoneId pulumi.StringOutput `pulumi:"zoneId"` +} + +// NewRealtimeLogDelivery registers a new resource with the given unique name, arguments, and options. +func NewRealtimeLogDelivery(ctx *pulumi.Context, + name string, args *RealtimeLogDeliveryArgs, opts ...pulumi.ResourceOption) (*RealtimeLogDelivery, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Area == nil { + return nil, errors.New("invalid value for required argument 'Area'") + } + if args.EntityLists == nil { + return nil, errors.New("invalid value for required argument 'EntityLists'") + } + if args.Fields == nil { + return nil, errors.New("invalid value for required argument 'Fields'") + } + if args.LogType == nil { + return nil, errors.New("invalid value for required argument 'LogType'") + } + if args.Sample == nil { + return nil, errors.New("invalid value for required argument 'Sample'") + } + if args.TaskName == nil { + return nil, errors.New("invalid value for required argument 'TaskName'") + } + if args.TaskType == nil { + return nil, errors.New("invalid value for required argument 'TaskType'") + } + if args.ZoneId == nil { + return nil, errors.New("invalid value for required argument 'ZoneId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource RealtimeLogDelivery + err := ctx.RegisterResource("tencentcloud:Teo/realtimeLogDelivery:RealtimeLogDelivery", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetRealtimeLogDelivery gets an existing RealtimeLogDelivery resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetRealtimeLogDelivery(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *RealtimeLogDeliveryState, opts ...pulumi.ResourceOption) (*RealtimeLogDelivery, error) { + var resource RealtimeLogDelivery + err := ctx.ReadResource("tencentcloud:Teo/realtimeLogDelivery:RealtimeLogDelivery", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering RealtimeLogDelivery resources. +type realtimeLogDeliveryState struct { + // Data delivery area, possible values are: `mainland`: within mainland China; `overseas`: worldwide (excluding mainland China). + Area *string `pulumi:"area"` + // CLS configuration information. This parameter is required when TaskType is cls. + Cls *RealtimeLogDeliveryCls `pulumi:"cls"` + // Customize the configuration information of the HTTP service. This parameter is required when TaskType is set to custom_endpoint. + CustomEndpoint *RealtimeLogDeliveryCustomEndpoint `pulumi:"customEndpoint"` + // The list of custom fields delivered supports extracting specified field values from HTTP request headers, response headers, and cookies. Custom field names cannot be repeated and cannot exceed 200 fields. + CustomFields []RealtimeLogDeliveryCustomField `pulumi:"customFields"` + // The filter condition for log delivery. If it is not filled, all logs will be delivered. + DeliveryConditions []RealtimeLogDeliveryDeliveryCondition `pulumi:"deliveryConditions"` + // The status of the real-time log delivery task. The values are: `enabled`: enabled; `disabled`: disabled. Leave it blank to keep the original configuration. Not required when creating. + DeliveryStatus *string `pulumi:"deliveryStatus"` + // List of entities (seven-layer domain names or four-layer proxy instances) corresponding to real-time log delivery tasks. Example values are as follows: Seven-layer domain name: `domain.example.com`; four-layer proxy instance: sid-2s69eb5wcms7. For values, refer to: `https://cloud.tencent.com/document/api/1552/80690`, `https://cloud.tencent.com/document/api/1552/86336`. + EntityLists []string `pulumi:"entityLists"` + // A list of preset fields for delivery. + Fields []string `pulumi:"fields"` + // The output format of log delivery. If it is not filled, it means the default format. The default format logic is as follows: when TaskType is `customEndpoint`, the default format is an array of multiple JSON objects, each JSON object is a log; when TaskType is `s3`, the default format is JSON Lines; in particular, when TaskType is `cls`, the value of LogFormat.FormatType can only be json, and other parameters in LogFormat will be ignored. It is recommended not to pass LogFormat. + LogFormat *RealtimeLogDeliveryLogFormat `pulumi:"logFormat"` + // Data delivery type, the values are: `domain`: site acceleration log; `application`: four-layer proxy log; `web-rateLiming`: rate limit and CC attack protection log; `web-attack`: managed rule log; `web-rule`: custom rule log; `web-bot`: Bot management log. + LogType *string `pulumi:"logType"` + // Configuration information of AWS S3 compatible storage bucket. This parameter is required when TaskType is s3. + S3 *RealtimeLogDeliveryS3 `pulumi:"s3"` + // The sampling ratio is in thousandths, with a value range of 1-1000. For example, filling in 605 means the sampling ratio is 60.5%. Leaving it blank means the sampling ratio is 100%. + Sample *int `pulumi:"sample"` + // Real-time log delivery task ID. + TaskId *string `pulumi:"taskId"` + // The name of the real-time log delivery task. The format is a combination of numbers, English, -, and _. The maximum length is 200 characters. + TaskName *string `pulumi:"taskName"` + // The real-time log delivery task type. The possible values are: `cls`: push to Tencent Cloud CLS; `customEndpoint`: push to a custom HTTP(S) address; `s3`: push to an AWS S3 compatible storage bucket address. + TaskType *string `pulumi:"taskType"` + // ID of the site. + ZoneId *string `pulumi:"zoneId"` +} + +type RealtimeLogDeliveryState struct { + // Data delivery area, possible values are: `mainland`: within mainland China; `overseas`: worldwide (excluding mainland China). + Area pulumi.StringPtrInput + // CLS configuration information. This parameter is required when TaskType is cls. + Cls RealtimeLogDeliveryClsPtrInput + // Customize the configuration information of the HTTP service. This parameter is required when TaskType is set to custom_endpoint. + CustomEndpoint RealtimeLogDeliveryCustomEndpointPtrInput + // The list of custom fields delivered supports extracting specified field values from HTTP request headers, response headers, and cookies. Custom field names cannot be repeated and cannot exceed 200 fields. + CustomFields RealtimeLogDeliveryCustomFieldArrayInput + // The filter condition for log delivery. If it is not filled, all logs will be delivered. + DeliveryConditions RealtimeLogDeliveryDeliveryConditionArrayInput + // The status of the real-time log delivery task. The values are: `enabled`: enabled; `disabled`: disabled. Leave it blank to keep the original configuration. Not required when creating. + DeliveryStatus pulumi.StringPtrInput + // List of entities (seven-layer domain names or four-layer proxy instances) corresponding to real-time log delivery tasks. Example values are as follows: Seven-layer domain name: `domain.example.com`; four-layer proxy instance: sid-2s69eb5wcms7. For values, refer to: `https://cloud.tencent.com/document/api/1552/80690`, `https://cloud.tencent.com/document/api/1552/86336`. + EntityLists pulumi.StringArrayInput + // A list of preset fields for delivery. + Fields pulumi.StringArrayInput + // The output format of log delivery. If it is not filled, it means the default format. The default format logic is as follows: when TaskType is `customEndpoint`, the default format is an array of multiple JSON objects, each JSON object is a log; when TaskType is `s3`, the default format is JSON Lines; in particular, when TaskType is `cls`, the value of LogFormat.FormatType can only be json, and other parameters in LogFormat will be ignored. It is recommended not to pass LogFormat. + LogFormat RealtimeLogDeliveryLogFormatPtrInput + // Data delivery type, the values are: `domain`: site acceleration log; `application`: four-layer proxy log; `web-rateLiming`: rate limit and CC attack protection log; `web-attack`: managed rule log; `web-rule`: custom rule log; `web-bot`: Bot management log. + LogType pulumi.StringPtrInput + // Configuration information of AWS S3 compatible storage bucket. This parameter is required when TaskType is s3. + S3 RealtimeLogDeliveryS3PtrInput + // The sampling ratio is in thousandths, with a value range of 1-1000. For example, filling in 605 means the sampling ratio is 60.5%. Leaving it blank means the sampling ratio is 100%. + Sample pulumi.IntPtrInput + // Real-time log delivery task ID. + TaskId pulumi.StringPtrInput + // The name of the real-time log delivery task. The format is a combination of numbers, English, -, and _. The maximum length is 200 characters. + TaskName pulumi.StringPtrInput + // The real-time log delivery task type. The possible values are: `cls`: push to Tencent Cloud CLS; `customEndpoint`: push to a custom HTTP(S) address; `s3`: push to an AWS S3 compatible storage bucket address. + TaskType pulumi.StringPtrInput + // ID of the site. + ZoneId pulumi.StringPtrInput +} + +func (RealtimeLogDeliveryState) ElementType() reflect.Type { + return reflect.TypeOf((*realtimeLogDeliveryState)(nil)).Elem() +} + +type realtimeLogDeliveryArgs struct { + // Data delivery area, possible values are: `mainland`: within mainland China; `overseas`: worldwide (excluding mainland China). + Area string `pulumi:"area"` + // CLS configuration information. This parameter is required when TaskType is cls. + Cls *RealtimeLogDeliveryCls `pulumi:"cls"` + // Customize the configuration information of the HTTP service. This parameter is required when TaskType is set to custom_endpoint. + CustomEndpoint *RealtimeLogDeliveryCustomEndpoint `pulumi:"customEndpoint"` + // The list of custom fields delivered supports extracting specified field values from HTTP request headers, response headers, and cookies. Custom field names cannot be repeated and cannot exceed 200 fields. + CustomFields []RealtimeLogDeliveryCustomField `pulumi:"customFields"` + // The filter condition for log delivery. If it is not filled, all logs will be delivered. + DeliveryConditions []RealtimeLogDeliveryDeliveryCondition `pulumi:"deliveryConditions"` + // The status of the real-time log delivery task. The values are: `enabled`: enabled; `disabled`: disabled. Leave it blank to keep the original configuration. Not required when creating. + DeliveryStatus *string `pulumi:"deliveryStatus"` + // List of entities (seven-layer domain names or four-layer proxy instances) corresponding to real-time log delivery tasks. Example values are as follows: Seven-layer domain name: `domain.example.com`; four-layer proxy instance: sid-2s69eb5wcms7. For values, refer to: `https://cloud.tencent.com/document/api/1552/80690`, `https://cloud.tencent.com/document/api/1552/86336`. + EntityLists []string `pulumi:"entityLists"` + // A list of preset fields for delivery. + Fields []string `pulumi:"fields"` + // The output format of log delivery. If it is not filled, it means the default format. The default format logic is as follows: when TaskType is `customEndpoint`, the default format is an array of multiple JSON objects, each JSON object is a log; when TaskType is `s3`, the default format is JSON Lines; in particular, when TaskType is `cls`, the value of LogFormat.FormatType can only be json, and other parameters in LogFormat will be ignored. It is recommended not to pass LogFormat. + LogFormat *RealtimeLogDeliveryLogFormat `pulumi:"logFormat"` + // Data delivery type, the values are: `domain`: site acceleration log; `application`: four-layer proxy log; `web-rateLiming`: rate limit and CC attack protection log; `web-attack`: managed rule log; `web-rule`: custom rule log; `web-bot`: Bot management log. + LogType string `pulumi:"logType"` + // Configuration information of AWS S3 compatible storage bucket. This parameter is required when TaskType is s3. + S3 *RealtimeLogDeliveryS3 `pulumi:"s3"` + // The sampling ratio is in thousandths, with a value range of 1-1000. For example, filling in 605 means the sampling ratio is 60.5%. Leaving it blank means the sampling ratio is 100%. + Sample int `pulumi:"sample"` + // The name of the real-time log delivery task. The format is a combination of numbers, English, -, and _. The maximum length is 200 characters. + TaskName string `pulumi:"taskName"` + // The real-time log delivery task type. The possible values are: `cls`: push to Tencent Cloud CLS; `customEndpoint`: push to a custom HTTP(S) address; `s3`: push to an AWS S3 compatible storage bucket address. + TaskType string `pulumi:"taskType"` + // ID of the site. + ZoneId string `pulumi:"zoneId"` +} + +// The set of arguments for constructing a RealtimeLogDelivery resource. +type RealtimeLogDeliveryArgs struct { + // Data delivery area, possible values are: `mainland`: within mainland China; `overseas`: worldwide (excluding mainland China). + Area pulumi.StringInput + // CLS configuration information. This parameter is required when TaskType is cls. + Cls RealtimeLogDeliveryClsPtrInput + // Customize the configuration information of the HTTP service. This parameter is required when TaskType is set to custom_endpoint. + CustomEndpoint RealtimeLogDeliveryCustomEndpointPtrInput + // The list of custom fields delivered supports extracting specified field values from HTTP request headers, response headers, and cookies. Custom field names cannot be repeated and cannot exceed 200 fields. + CustomFields RealtimeLogDeliveryCustomFieldArrayInput + // The filter condition for log delivery. If it is not filled, all logs will be delivered. + DeliveryConditions RealtimeLogDeliveryDeliveryConditionArrayInput + // The status of the real-time log delivery task. The values are: `enabled`: enabled; `disabled`: disabled. Leave it blank to keep the original configuration. Not required when creating. + DeliveryStatus pulumi.StringPtrInput + // List of entities (seven-layer domain names or four-layer proxy instances) corresponding to real-time log delivery tasks. Example values are as follows: Seven-layer domain name: `domain.example.com`; four-layer proxy instance: sid-2s69eb5wcms7. For values, refer to: `https://cloud.tencent.com/document/api/1552/80690`, `https://cloud.tencent.com/document/api/1552/86336`. + EntityLists pulumi.StringArrayInput + // A list of preset fields for delivery. + Fields pulumi.StringArrayInput + // The output format of log delivery. If it is not filled, it means the default format. The default format logic is as follows: when TaskType is `customEndpoint`, the default format is an array of multiple JSON objects, each JSON object is a log; when TaskType is `s3`, the default format is JSON Lines; in particular, when TaskType is `cls`, the value of LogFormat.FormatType can only be json, and other parameters in LogFormat will be ignored. It is recommended not to pass LogFormat. + LogFormat RealtimeLogDeliveryLogFormatPtrInput + // Data delivery type, the values are: `domain`: site acceleration log; `application`: four-layer proxy log; `web-rateLiming`: rate limit and CC attack protection log; `web-attack`: managed rule log; `web-rule`: custom rule log; `web-bot`: Bot management log. + LogType pulumi.StringInput + // Configuration information of AWS S3 compatible storage bucket. This parameter is required when TaskType is s3. + S3 RealtimeLogDeliveryS3PtrInput + // The sampling ratio is in thousandths, with a value range of 1-1000. For example, filling in 605 means the sampling ratio is 60.5%. Leaving it blank means the sampling ratio is 100%. + Sample pulumi.IntInput + // The name of the real-time log delivery task. The format is a combination of numbers, English, -, and _. The maximum length is 200 characters. + TaskName pulumi.StringInput + // The real-time log delivery task type. The possible values are: `cls`: push to Tencent Cloud CLS; `customEndpoint`: push to a custom HTTP(S) address; `s3`: push to an AWS S3 compatible storage bucket address. + TaskType pulumi.StringInput + // ID of the site. + ZoneId pulumi.StringInput +} + +func (RealtimeLogDeliveryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*realtimeLogDeliveryArgs)(nil)).Elem() +} + +type RealtimeLogDeliveryInput interface { + pulumi.Input + + ToRealtimeLogDeliveryOutput() RealtimeLogDeliveryOutput + ToRealtimeLogDeliveryOutputWithContext(ctx context.Context) RealtimeLogDeliveryOutput +} + +func (*RealtimeLogDelivery) ElementType() reflect.Type { + return reflect.TypeOf((**RealtimeLogDelivery)(nil)).Elem() +} + +func (i *RealtimeLogDelivery) ToRealtimeLogDeliveryOutput() RealtimeLogDeliveryOutput { + return i.ToRealtimeLogDeliveryOutputWithContext(context.Background()) +} + +func (i *RealtimeLogDelivery) ToRealtimeLogDeliveryOutputWithContext(ctx context.Context) RealtimeLogDeliveryOutput { + return pulumi.ToOutputWithContext(ctx, i).(RealtimeLogDeliveryOutput) +} + +// RealtimeLogDeliveryArrayInput is an input type that accepts RealtimeLogDeliveryArray and RealtimeLogDeliveryArrayOutput values. +// You can construct a concrete instance of `RealtimeLogDeliveryArrayInput` via: +// +// RealtimeLogDeliveryArray{ RealtimeLogDeliveryArgs{...} } +type RealtimeLogDeliveryArrayInput interface { + pulumi.Input + + ToRealtimeLogDeliveryArrayOutput() RealtimeLogDeliveryArrayOutput + ToRealtimeLogDeliveryArrayOutputWithContext(context.Context) RealtimeLogDeliveryArrayOutput +} + +type RealtimeLogDeliveryArray []RealtimeLogDeliveryInput + +func (RealtimeLogDeliveryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*RealtimeLogDelivery)(nil)).Elem() +} + +func (i RealtimeLogDeliveryArray) ToRealtimeLogDeliveryArrayOutput() RealtimeLogDeliveryArrayOutput { + return i.ToRealtimeLogDeliveryArrayOutputWithContext(context.Background()) +} + +func (i RealtimeLogDeliveryArray) ToRealtimeLogDeliveryArrayOutputWithContext(ctx context.Context) RealtimeLogDeliveryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RealtimeLogDeliveryArrayOutput) +} + +// RealtimeLogDeliveryMapInput is an input type that accepts RealtimeLogDeliveryMap and RealtimeLogDeliveryMapOutput values. +// You can construct a concrete instance of `RealtimeLogDeliveryMapInput` via: +// +// RealtimeLogDeliveryMap{ "key": RealtimeLogDeliveryArgs{...} } +type RealtimeLogDeliveryMapInput interface { + pulumi.Input + + ToRealtimeLogDeliveryMapOutput() RealtimeLogDeliveryMapOutput + ToRealtimeLogDeliveryMapOutputWithContext(context.Context) RealtimeLogDeliveryMapOutput +} + +type RealtimeLogDeliveryMap map[string]RealtimeLogDeliveryInput + +func (RealtimeLogDeliveryMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*RealtimeLogDelivery)(nil)).Elem() +} + +func (i RealtimeLogDeliveryMap) ToRealtimeLogDeliveryMapOutput() RealtimeLogDeliveryMapOutput { + return i.ToRealtimeLogDeliveryMapOutputWithContext(context.Background()) +} + +func (i RealtimeLogDeliveryMap) ToRealtimeLogDeliveryMapOutputWithContext(ctx context.Context) RealtimeLogDeliveryMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(RealtimeLogDeliveryMapOutput) +} + +type RealtimeLogDeliveryOutput struct{ *pulumi.OutputState } + +func (RealtimeLogDeliveryOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RealtimeLogDelivery)(nil)).Elem() +} + +func (o RealtimeLogDeliveryOutput) ToRealtimeLogDeliveryOutput() RealtimeLogDeliveryOutput { + return o +} + +func (o RealtimeLogDeliveryOutput) ToRealtimeLogDeliveryOutputWithContext(ctx context.Context) RealtimeLogDeliveryOutput { + return o +} + +// Data delivery area, possible values are: `mainland`: within mainland China; `overseas`: worldwide (excluding mainland China). +func (o RealtimeLogDeliveryOutput) Area() pulumi.StringOutput { + return o.ApplyT(func(v *RealtimeLogDelivery) pulumi.StringOutput { return v.Area }).(pulumi.StringOutput) +} + +// CLS configuration information. This parameter is required when TaskType is cls. +func (o RealtimeLogDeliveryOutput) Cls() RealtimeLogDeliveryClsOutput { + return o.ApplyT(func(v *RealtimeLogDelivery) RealtimeLogDeliveryClsOutput { return v.Cls }).(RealtimeLogDeliveryClsOutput) +} + +// Customize the configuration information of the HTTP service. This parameter is required when TaskType is set to custom_endpoint. +func (o RealtimeLogDeliveryOutput) CustomEndpoint() RealtimeLogDeliveryCustomEndpointOutput { + return o.ApplyT(func(v *RealtimeLogDelivery) RealtimeLogDeliveryCustomEndpointOutput { return v.CustomEndpoint }).(RealtimeLogDeliveryCustomEndpointOutput) +} + +// The list of custom fields delivered supports extracting specified field values from HTTP request headers, response headers, and cookies. Custom field names cannot be repeated and cannot exceed 200 fields. +func (o RealtimeLogDeliveryOutput) CustomFields() RealtimeLogDeliveryCustomFieldArrayOutput { + return o.ApplyT(func(v *RealtimeLogDelivery) RealtimeLogDeliveryCustomFieldArrayOutput { return v.CustomFields }).(RealtimeLogDeliveryCustomFieldArrayOutput) +} + +// The filter condition for log delivery. If it is not filled, all logs will be delivered. +func (o RealtimeLogDeliveryOutput) DeliveryConditions() RealtimeLogDeliveryDeliveryConditionArrayOutput { + return o.ApplyT(func(v *RealtimeLogDelivery) RealtimeLogDeliveryDeliveryConditionArrayOutput { + return v.DeliveryConditions + }).(RealtimeLogDeliveryDeliveryConditionArrayOutput) +} + +// The status of the real-time log delivery task. The values are: `enabled`: enabled; `disabled`: disabled. Leave it blank to keep the original configuration. Not required when creating. +func (o RealtimeLogDeliveryOutput) DeliveryStatus() pulumi.StringOutput { + return o.ApplyT(func(v *RealtimeLogDelivery) pulumi.StringOutput { return v.DeliveryStatus }).(pulumi.StringOutput) +} + +// List of entities (seven-layer domain names or four-layer proxy instances) corresponding to real-time log delivery tasks. Example values are as follows: Seven-layer domain name: `domain.example.com`; four-layer proxy instance: sid-2s69eb5wcms7. For values, refer to: `https://cloud.tencent.com/document/api/1552/80690`, `https://cloud.tencent.com/document/api/1552/86336`. +func (o RealtimeLogDeliveryOutput) EntityLists() pulumi.StringArrayOutput { + return o.ApplyT(func(v *RealtimeLogDelivery) pulumi.StringArrayOutput { return v.EntityLists }).(pulumi.StringArrayOutput) +} + +// A list of preset fields for delivery. +func (o RealtimeLogDeliveryOutput) Fields() pulumi.StringArrayOutput { + return o.ApplyT(func(v *RealtimeLogDelivery) pulumi.StringArrayOutput { return v.Fields }).(pulumi.StringArrayOutput) +} + +// The output format of log delivery. If it is not filled, it means the default format. The default format logic is as follows: when TaskType is `customEndpoint`, the default format is an array of multiple JSON objects, each JSON object is a log; when TaskType is `s3`, the default format is JSON Lines; in particular, when TaskType is `cls`, the value of LogFormat.FormatType can only be json, and other parameters in LogFormat will be ignored. It is recommended not to pass LogFormat. +func (o RealtimeLogDeliveryOutput) LogFormat() RealtimeLogDeliveryLogFormatOutput { + return o.ApplyT(func(v *RealtimeLogDelivery) RealtimeLogDeliveryLogFormatOutput { return v.LogFormat }).(RealtimeLogDeliveryLogFormatOutput) +} + +// Data delivery type, the values are: `domain`: site acceleration log; `application`: four-layer proxy log; `web-rateLiming`: rate limit and CC attack protection log; `web-attack`: managed rule log; `web-rule`: custom rule log; `web-bot`: Bot management log. +func (o RealtimeLogDeliveryOutput) LogType() pulumi.StringOutput { + return o.ApplyT(func(v *RealtimeLogDelivery) pulumi.StringOutput { return v.LogType }).(pulumi.StringOutput) +} + +// Configuration information of AWS S3 compatible storage bucket. This parameter is required when TaskType is s3. +func (o RealtimeLogDeliveryOutput) S3() RealtimeLogDeliveryS3Output { + return o.ApplyT(func(v *RealtimeLogDelivery) RealtimeLogDeliveryS3Output { return v.S3 }).(RealtimeLogDeliveryS3Output) +} + +// The sampling ratio is in thousandths, with a value range of 1-1000. For example, filling in 605 means the sampling ratio is 60.5%. Leaving it blank means the sampling ratio is 100%. +func (o RealtimeLogDeliveryOutput) Sample() pulumi.IntOutput { + return o.ApplyT(func(v *RealtimeLogDelivery) pulumi.IntOutput { return v.Sample }).(pulumi.IntOutput) +} + +// Real-time log delivery task ID. +func (o RealtimeLogDeliveryOutput) TaskId() pulumi.StringOutput { + return o.ApplyT(func(v *RealtimeLogDelivery) pulumi.StringOutput { return v.TaskId }).(pulumi.StringOutput) +} + +// The name of the real-time log delivery task. The format is a combination of numbers, English, -, and _. The maximum length is 200 characters. +func (o RealtimeLogDeliveryOutput) TaskName() pulumi.StringOutput { + return o.ApplyT(func(v *RealtimeLogDelivery) pulumi.StringOutput { return v.TaskName }).(pulumi.StringOutput) +} + +// The real-time log delivery task type. The possible values are: `cls`: push to Tencent Cloud CLS; `customEndpoint`: push to a custom HTTP(S) address; `s3`: push to an AWS S3 compatible storage bucket address. +func (o RealtimeLogDeliveryOutput) TaskType() pulumi.StringOutput { + return o.ApplyT(func(v *RealtimeLogDelivery) pulumi.StringOutput { return v.TaskType }).(pulumi.StringOutput) +} + +// ID of the site. +func (o RealtimeLogDeliveryOutput) ZoneId() pulumi.StringOutput { + return o.ApplyT(func(v *RealtimeLogDelivery) pulumi.StringOutput { return v.ZoneId }).(pulumi.StringOutput) +} + +type RealtimeLogDeliveryArrayOutput struct{ *pulumi.OutputState } + +func (RealtimeLogDeliveryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*RealtimeLogDelivery)(nil)).Elem() +} + +func (o RealtimeLogDeliveryArrayOutput) ToRealtimeLogDeliveryArrayOutput() RealtimeLogDeliveryArrayOutput { + return o +} + +func (o RealtimeLogDeliveryArrayOutput) ToRealtimeLogDeliveryArrayOutputWithContext(ctx context.Context) RealtimeLogDeliveryArrayOutput { + return o +} + +func (o RealtimeLogDeliveryArrayOutput) Index(i pulumi.IntInput) RealtimeLogDeliveryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *RealtimeLogDelivery { + return vs[0].([]*RealtimeLogDelivery)[vs[1].(int)] + }).(RealtimeLogDeliveryOutput) +} + +type RealtimeLogDeliveryMapOutput struct{ *pulumi.OutputState } + +func (RealtimeLogDeliveryMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*RealtimeLogDelivery)(nil)).Elem() +} + +func (o RealtimeLogDeliveryMapOutput) ToRealtimeLogDeliveryMapOutput() RealtimeLogDeliveryMapOutput { + return o +} + +func (o RealtimeLogDeliveryMapOutput) ToRealtimeLogDeliveryMapOutputWithContext(ctx context.Context) RealtimeLogDeliveryMapOutput { + return o +} + +func (o RealtimeLogDeliveryMapOutput) MapIndex(k pulumi.StringInput) RealtimeLogDeliveryOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *RealtimeLogDelivery { + return vs[0].(map[string]*RealtimeLogDelivery)[vs[1].(string)] + }).(RealtimeLogDeliveryOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*RealtimeLogDeliveryInput)(nil)).Elem(), &RealtimeLogDelivery{}) + pulumi.RegisterInputType(reflect.TypeOf((*RealtimeLogDeliveryArrayInput)(nil)).Elem(), RealtimeLogDeliveryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RealtimeLogDeliveryMapInput)(nil)).Elem(), RealtimeLogDeliveryMap{}) + pulumi.RegisterOutputType(RealtimeLogDeliveryOutput{}) + pulumi.RegisterOutputType(RealtimeLogDeliveryArrayOutput{}) + pulumi.RegisterOutputType(RealtimeLogDeliveryMapOutput{}) +} diff --git a/sdk/go/tencentcloud/trocket/rocketmqInstance.go b/sdk/go/tencentcloud/trocket/rocketmqInstance.go index ce015ab02..936e5ef58 100644 --- a/sdk/go/tencentcloud/trocket/rocketmqInstance.go +++ b/sdk/go/tencentcloud/trocket/rocketmqInstance.go @@ -14,11 +14,11 @@ import ( // Provides a resource to create a rocketmq 5.x instance // -// > **NOTE:** It only support create postpaid rocketmq 5.x instance. +// > **NOTE:** It only supports create postpaid rocketmq 5.x instance. // // ## Example Usage // -// ### Basic Instance +// ### Create Basic Instance // // // ```go @@ -27,22 +27,42 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet" // "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Trocket" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Trocket.NewRocketmqInstance(ctx, "rocketmqInstance", &Trocket.RocketmqInstanceArgs{ -// InstanceType: pulumi.String("EXPERIMENT"), +// // create vpc +// vpc, err := Vpc.NewInstance(ctx, "vpc", &Vpc.InstanceArgs{ +// CidrBlock: pulumi.String("10.0.0.0/16"), +// }) +// if err != nil { +// return err +// } +// // create vpc subnet +// subnet, err := Subnet.NewInstance(ctx, "subnet", &Subnet.InstanceArgs{ +// VpcId: vpc.ID(), +// AvailabilityZone: pulumi.String("ap-guangzhou-6"), +// CidrBlock: pulumi.String("10.0.20.0/28"), +// IsMulticast: pulumi.Bool(false), +// }) +// if err != nil { +// return err +// } +// // create rocketmq instance +// _, err = Trocket.NewRocketmqInstance(ctx, "example", &Trocket.RocketmqInstanceArgs{ +// InstanceType: pulumi.String("PRO"), +// SkuCode: pulumi.String("pro_4k"), // Remark: pulumi.String("remark"), -// SkuCode: pulumi.String("experiment_500"), -// SubnetId: pulumi.String("subnet-xxxxxx"), +// VpcId: vpc.ID(), +// SubnetId: subnet.ID(), // Tags: pulumi.Map{ // "tag_key": pulumi.Any("rocketmq"), // "tag_value": pulumi.Any("5.x"), // }, -// VpcId: pulumi.String("vpc-xxxxxx"), // }) // if err != nil { // return err @@ -54,7 +74,7 @@ import ( // ``` // // -// ### Enable Public Instance +// ### Create Enable Public Network Instance // // // ```go @@ -63,24 +83,44 @@ import ( // import ( // // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Subnet" // "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Trocket" +// "github.com/tencentcloudstack/pulumi-tencentcloud/sdk/go/tencentcloud/Vpc" // // ) // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := Trocket.NewRocketmqInstance(ctx, "rocketmqInstancePublic", &Trocket.RocketmqInstanceArgs{ -// Bandwidth: pulumi.Int(1), -// EnablePublic: pulumi.Bool(true), -// InstanceType: pulumi.String("EXPERIMENT"), +// // create vpc +// vpc, err := Vpc.NewInstance(ctx, "vpc", &Vpc.InstanceArgs{ +// CidrBlock: pulumi.String("10.0.0.0/16"), +// }) +// if err != nil { +// return err +// } +// // create vpc subnet +// subnet, err := Subnet.NewInstance(ctx, "subnet", &Subnet.InstanceArgs{ +// VpcId: vpc.ID(), +// AvailabilityZone: pulumi.String("ap-guangzhou-6"), +// CidrBlock: pulumi.String("10.0.20.0/28"), +// IsMulticast: pulumi.Bool(false), +// }) +// if err != nil { +// return err +// } +// // create rocketmq instance +// _, err = Trocket.NewRocketmqInstance(ctx, "example", &Trocket.RocketmqInstanceArgs{ +// InstanceType: pulumi.String("PRO"), +// SkuCode: pulumi.String("pro_4k"), // Remark: pulumi.String("remark"), -// SkuCode: pulumi.String("experiment_500"), -// SubnetId: pulumi.String("subnet-xxxxxx"), +// VpcId: vpc.ID(), +// SubnetId: subnet.ID(), +// EnablePublic: pulumi.Bool(true), +// Bandwidth: pulumi.Int(10), // Tags: pulumi.Map{ // "tag_key": pulumi.Any("rocketmq"), // "tag_value": pulumi.Any("5.x"), // }, -// VpcId: pulumi.String("vpc-xxxxxx"), // }) // if err != nil { // return err @@ -97,7 +137,7 @@ import ( // trocket rocketmq_instance can be imported using the id, e.g. // // ```sh -// $ pulumi import tencentcloud:Trocket/rocketmqInstance:RocketmqInstance rocketmq_instance rocketmq_instance_id +// $ pulumi import tencentcloud:Trocket/rocketmqInstance:RocketmqInstance rocketmq_instance rmq-n5qado7m // ``` type RocketmqInstance struct { pulumi.CustomResourceState @@ -118,7 +158,7 @@ type RocketmqInstance struct { PublicEndPoint pulumi.StringOutput `pulumi:"publicEndPoint"` // Remark. Remark pulumi.StringPtrOutput `pulumi:"remark"` - // SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_4k, basic_6k. + // SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_3k, basic_4k, basic_5k, basic_6k, basic_7k, basic_8k, basic_9k, basic_10k, pro_4k, pro_6k, pro_8k, pro_1w, pro_15k, pro_2w, pro_25k, pro_3w, pro_35k, pro_4w, pro_45k, pro_5w, pro_55k, pro_60k, pro_65k, pro_70k, pro_75k, pro_80k, pro_85k, pro_90k, pro_95k, pro_100k, platinum_1w, platinum_2w, platinum_3w, platinum_4w, platinum_5w, platinum_6w, platinum_7w, platinum_8w, platinum_9w, platinum_10w, platinum_12w, platinum_14w, platinum_16w, platinum_18w, platinum_20w, platinum_25w, platinum_30w, platinum_35w, platinum_40w, platinum_45w, platinum_50w, platinum_60w, platinum_70w, platinum_80w, platinum_90w, platinum_100w. SkuCode pulumi.StringOutput `pulumi:"skuCode"` // Subnet id. SubnetId pulumi.StringOutput `pulumi:"subnetId"` @@ -188,7 +228,7 @@ type rocketmqInstanceState struct { PublicEndPoint *string `pulumi:"publicEndPoint"` // Remark. Remark *string `pulumi:"remark"` - // SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_4k, basic_6k. + // SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_3k, basic_4k, basic_5k, basic_6k, basic_7k, basic_8k, basic_9k, basic_10k, pro_4k, pro_6k, pro_8k, pro_1w, pro_15k, pro_2w, pro_25k, pro_3w, pro_35k, pro_4w, pro_45k, pro_5w, pro_55k, pro_60k, pro_65k, pro_70k, pro_75k, pro_80k, pro_85k, pro_90k, pro_95k, pro_100k, platinum_1w, platinum_2w, platinum_3w, platinum_4w, platinum_5w, platinum_6w, platinum_7w, platinum_8w, platinum_9w, platinum_10w, platinum_12w, platinum_14w, platinum_16w, platinum_18w, platinum_20w, platinum_25w, platinum_30w, platinum_35w, platinum_40w, platinum_45w, platinum_50w, platinum_60w, platinum_70w, platinum_80w, platinum_90w, platinum_100w. SkuCode *string `pulumi:"skuCode"` // Subnet id. SubnetId *string `pulumi:"subnetId"` @@ -217,7 +257,7 @@ type RocketmqInstanceState struct { PublicEndPoint pulumi.StringPtrInput // Remark. Remark pulumi.StringPtrInput - // SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_4k, basic_6k. + // SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_3k, basic_4k, basic_5k, basic_6k, basic_7k, basic_8k, basic_9k, basic_10k, pro_4k, pro_6k, pro_8k, pro_1w, pro_15k, pro_2w, pro_25k, pro_3w, pro_35k, pro_4w, pro_45k, pro_5w, pro_55k, pro_60k, pro_65k, pro_70k, pro_75k, pro_80k, pro_85k, pro_90k, pro_95k, pro_100k, platinum_1w, platinum_2w, platinum_3w, platinum_4w, platinum_5w, platinum_6w, platinum_7w, platinum_8w, platinum_9w, platinum_10w, platinum_12w, platinum_14w, platinum_16w, platinum_18w, platinum_20w, platinum_25w, platinum_30w, platinum_35w, platinum_40w, platinum_45w, platinum_50w, platinum_60w, platinum_70w, platinum_80w, platinum_90w, platinum_100w. SkuCode pulumi.StringPtrInput // Subnet id. SubnetId pulumi.StringPtrInput @@ -248,7 +288,7 @@ type rocketmqInstanceArgs struct { Name *string `pulumi:"name"` // Remark. Remark *string `pulumi:"remark"` - // SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_4k, basic_6k. + // SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_3k, basic_4k, basic_5k, basic_6k, basic_7k, basic_8k, basic_9k, basic_10k, pro_4k, pro_6k, pro_8k, pro_1w, pro_15k, pro_2w, pro_25k, pro_3w, pro_35k, pro_4w, pro_45k, pro_5w, pro_55k, pro_60k, pro_65k, pro_70k, pro_75k, pro_80k, pro_85k, pro_90k, pro_95k, pro_100k, platinum_1w, platinum_2w, platinum_3w, platinum_4w, platinum_5w, platinum_6w, platinum_7w, platinum_8w, platinum_9w, platinum_10w, platinum_12w, platinum_14w, platinum_16w, platinum_18w, platinum_20w, platinum_25w, platinum_30w, platinum_35w, platinum_40w, platinum_45w, platinum_50w, platinum_60w, platinum_70w, platinum_80w, platinum_90w, platinum_100w. SkuCode string `pulumi:"skuCode"` // Subnet id. SubnetId string `pulumi:"subnetId"` @@ -274,7 +314,7 @@ type RocketmqInstanceArgs struct { Name pulumi.StringPtrInput // Remark. Remark pulumi.StringPtrInput - // SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_4k, basic_6k. + // SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_3k, basic_4k, basic_5k, basic_6k, basic_7k, basic_8k, basic_9k, basic_10k, pro_4k, pro_6k, pro_8k, pro_1w, pro_15k, pro_2w, pro_25k, pro_3w, pro_35k, pro_4w, pro_45k, pro_5w, pro_55k, pro_60k, pro_65k, pro_70k, pro_75k, pro_80k, pro_85k, pro_90k, pro_95k, pro_100k, platinum_1w, platinum_2w, platinum_3w, platinum_4w, platinum_5w, platinum_6w, platinum_7w, platinum_8w, platinum_9w, platinum_10w, platinum_12w, platinum_14w, platinum_16w, platinum_18w, platinum_20w, platinum_25w, platinum_30w, platinum_35w, platinum_40w, platinum_45w, platinum_50w, platinum_60w, platinum_70w, platinum_80w, platinum_90w, platinum_100w. SkuCode pulumi.StringInput // Subnet id. SubnetId pulumi.StringInput @@ -411,7 +451,7 @@ func (o RocketmqInstanceOutput) Remark() pulumi.StringPtrOutput { return o.ApplyT(func(v *RocketmqInstance) pulumi.StringPtrOutput { return v.Remark }).(pulumi.StringPtrOutput) } -// SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_4k, basic_6k. +// SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_3k, basic_4k, basic_5k, basic_6k, basic_7k, basic_8k, basic_9k, basic_10k, pro_4k, pro_6k, pro_8k, pro_1w, pro_15k, pro_2w, pro_25k, pro_3w, pro_35k, pro_4w, pro_45k, pro_5w, pro_55k, pro_60k, pro_65k, pro_70k, pro_75k, pro_80k, pro_85k, pro_90k, pro_95k, pro_100k, platinum_1w, platinum_2w, platinum_3w, platinum_4w, platinum_5w, platinum_6w, platinum_7w, platinum_8w, platinum_9w, platinum_10w, platinum_12w, platinum_14w, platinum_16w, platinum_18w, platinum_20w, platinum_25w, platinum_30w, platinum_35w, platinum_40w, platinum_45w, platinum_50w, platinum_60w, platinum_70w, platinum_80w, platinum_90w, platinum_100w. func (o RocketmqInstanceOutput) SkuCode() pulumi.StringOutput { return o.ApplyT(func(v *RocketmqInstance) pulumi.StringOutput { return v.SkuCode }).(pulumi.StringOutput) } diff --git a/sdk/nodejs/clb/instance.ts b/sdk/nodejs/clb/instance.ts index 9f18dd694..83360f2dc 100644 --- a/sdk/nodejs/clb/instance.ts +++ b/sdk/nodejs/clb/instance.ts @@ -67,6 +67,26 @@ import * as utilities from "../utilities"; * tags: { * test: "tf", * }, + * vpcId: "vpc-da7ffa61", + * }); + * ``` + * + * + * ### SUPPORT CORS + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const openClb = new tencentcloud.clb.Instance("openClb", { + * clbName: "myclb", + * networkType: "OPEN", + * projectId: 0, + * securityGroups: ["sg-o0ek7r93"], + * tags: { + * test: "tf", + * }, * targetRegionInfoRegion: "ap-guangzhou", * targetRegionInfoVpcId: "vpc-da7ffa61", * vpcId: "vpc-da7ffa61", @@ -286,6 +306,10 @@ export class Instance extends pulumi.CustomResource { * IP version, only applicable to open CLB. Valid values are `ipv4`, `ipv6` and `IPv6FullChain`. */ public readonly addressIpVersion!: pulumi.Output; + /** + * The IPv6 address of the load balancing instance. + */ + public /*out*/ readonly addressIpv6!: pulumi.Output; /** * Bandwidth package id. If set, the `internetChargeType` must be `BANDWIDTH_PACKAGE`. */ @@ -318,6 +342,10 @@ export class Instance extends pulumi.CustomResource { * Internet charge type, only applicable to open CLB. Valid values are `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. */ public readonly internetChargeType!: pulumi.Output; + /** + * This field is meaningful when the IP address version is ipv6, `IPv6Nat64` | `IPv6FullChain`. + */ + public /*out*/ readonly ipv6Mode!: pulumi.Output; /** * Whether the target allow flow come from clb. If value is true, only check security group of clb, or check both clb and backend instance security group. */ @@ -409,6 +437,7 @@ export class Instance extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as InstanceState | undefined; resourceInputs["addressIpVersion"] = state ? state.addressIpVersion : undefined; + resourceInputs["addressIpv6"] = state ? state.addressIpv6 : undefined; resourceInputs["bandwidthPackageId"] = state ? state.bandwidthPackageId : undefined; resourceInputs["clbName"] = state ? state.clbName : undefined; resourceInputs["clbVips"] = state ? state.clbVips : undefined; @@ -417,6 +446,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["dynamicVip"] = state ? state.dynamicVip : undefined; resourceInputs["internetBandwidthMaxOut"] = state ? state.internetBandwidthMaxOut : undefined; resourceInputs["internetChargeType"] = state ? state.internetChargeType : undefined; + resourceInputs["ipv6Mode"] = state ? state.ipv6Mode : undefined; resourceInputs["loadBalancerPassToTarget"] = state ? state.loadBalancerPassToTarget : undefined; resourceInputs["logSetId"] = state ? state.logSetId : undefined; resourceInputs["logTopicId"] = state ? state.logTopicId : undefined; @@ -470,8 +500,10 @@ export class Instance extends pulumi.CustomResource { resourceInputs["vipIsp"] = args ? args.vipIsp : undefined; resourceInputs["vpcId"] = args ? args.vpcId : undefined; resourceInputs["zoneId"] = args ? args.zoneId : undefined; + resourceInputs["addressIpv6"] = undefined /*out*/; resourceInputs["clbVips"] = undefined /*out*/; resourceInputs["domain"] = undefined /*out*/; + resourceInputs["ipv6Mode"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(Instance.__pulumiType, name, resourceInputs, opts); @@ -486,6 +518,10 @@ export interface InstanceState { * IP version, only applicable to open CLB. Valid values are `ipv4`, `ipv6` and `IPv6FullChain`. */ addressIpVersion?: pulumi.Input; + /** + * The IPv6 address of the load balancing instance. + */ + addressIpv6?: pulumi.Input; /** * Bandwidth package id. If set, the `internetChargeType` must be `BANDWIDTH_PACKAGE`. */ @@ -518,6 +554,10 @@ export interface InstanceState { * Internet charge type, only applicable to open CLB. Valid values are `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. */ internetChargeType?: pulumi.Input; + /** + * This field is meaningful when the IP address version is ipv6, `IPv6Nat64` | `IPv6FullChain`. + */ + ipv6Mode?: pulumi.Input; /** * Whether the target allow flow come from clb. If value is true, only check security group of clb, or check both clb and backend instance security group. */ diff --git a/sdk/nodejs/cls/alarm.ts b/sdk/nodejs/cls/alarm.ts index 781020a99..cc0f403c6 100644 --- a/sdk/nodejs/cls/alarm.ts +++ b/sdk/nodejs/cls/alarm.ts @@ -26,6 +26,7 @@ import * as utilities from "../utilities"; * number: 1, * query: "status:>500 | select count(*) as errorCounts", * startTimeOffset: -15, + * syntaxRule: 1, * topicId: "88735a07-bea4-4985-8763-e9deb6da4fad", * }], * analyses: [{ diff --git a/sdk/nodejs/kubernetes/authAttachment.ts b/sdk/nodejs/kubernetes/authAttachment.ts index 10a7312a3..34e316237 100644 --- a/sdk/nodejs/kubernetes/authAttachment.ts +++ b/sdk/nodejs/kubernetes/authAttachment.ts @@ -147,6 +147,14 @@ import * as utilities from "../utilities"; * export const identityUrl = oidcConfig.then(oidcConfig => oidcConfig.identityUrl); * ``` * + * + * ## Import + * + * tke cluster authentication can be imported, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Kubernetes/authAttachment:AuthAttachment test cls-xxx + * ``` */ export class AuthAttachment extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/kubernetes/cluster.ts b/sdk/nodejs/kubernetes/cluster.ts index 8eecad922..b89a07bf3 100644 --- a/sdk/nodejs/kubernetes/cluster.ts +++ b/sdk/nodejs/kubernetes/cluster.ts @@ -149,6 +149,14 @@ import * as utilities from "../utilities"; * }); * ``` * + * + * ## Import + * + * tke cluster can be imported, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Kubernetes/cluster:Cluster test cls-xxx + * ``` */ export class Cluster extends pulumi.CustomResource { /** @@ -235,7 +243,7 @@ export class Cluster extends pulumi.CustomResource { /** * Open internet access or not. If this field is set 'true', the field below `workerConfig` must be set. Because only cluster with node is allowed enable access endpoint. You may open it through `tencentcloud.Kubernetes.ClusterEndpoint`. */ - public readonly clusterInternet!: pulumi.Output; + public readonly clusterInternet!: pulumi.Output; /** * Domain name for cluster Kube-apiserver internet access. Be careful if you modify value of this parameter, the clusterExternalEndpoint value may be changed automatically too. */ @@ -247,7 +255,7 @@ export class Cluster extends pulumi.CustomResource { /** * Open intranet access or not. If this field is set 'true', the field below `workerConfig` must be set. Because only cluster with node is allowed enable access endpoint. You may open it through `tencentcloud.Kubernetes.ClusterEndpoint`. */ - public readonly clusterIntranet!: pulumi.Output; + public readonly clusterIntranet!: pulumi.Output; /** * Domain name for cluster Kube-apiserver intranet access. Be careful if you modify value of this parameter, the pgwEndpoint value may be changed automatically too. */ @@ -281,7 +289,7 @@ export class Cluster extends pulumi.CustomResource { */ public /*out*/ readonly clusterNodeNum!: pulumi.Output; /** - * Operating system of the cluster, the available values include: 'centos7.6.0_x64','ubuntu18.04.1x86_64','tlinux2.4x86_64'. Default is 'tlinux2.4x86_64'. + * Cluster operating system, supports setting public images (the field passes the corresponding image Name) and custom images (the field passes the corresponding image ID). For details, please refer to: https://cloud.tencent.com/document/product/457/68289. */ public readonly clusterOs!: pulumi.Output; /** @@ -443,7 +451,7 @@ export class Cluster extends pulumi.CustomResource { */ public readonly vpcId!: pulumi.Output; /** - * Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_worker'. + * Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_scale_worker'. */ public readonly workerConfigs!: pulumi.Output; /** @@ -716,7 +724,7 @@ export interface ClusterState { */ clusterNodeNum?: pulumi.Input; /** - * Operating system of the cluster, the available values include: 'centos7.6.0_x64','ubuntu18.04.1x86_64','tlinux2.4x86_64'. Default is 'tlinux2.4x86_64'. + * Cluster operating system, supports setting public images (the field passes the corresponding image Name) and custom images (the field passes the corresponding image ID). For details, please refer to: https://cloud.tencent.com/document/product/457/68289. */ clusterOs?: pulumi.Input; /** @@ -878,7 +886,7 @@ export interface ClusterState { */ vpcId?: pulumi.Input; /** - * Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_worker'. + * Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_scale_worker'. */ workerConfigs?: pulumi.Input[]>; /** @@ -976,7 +984,7 @@ export interface ClusterArgs { */ clusterName?: pulumi.Input; /** - * Operating system of the cluster, the available values include: 'centos7.6.0_x64','ubuntu18.04.1x86_64','tlinux2.4x86_64'. Default is 'tlinux2.4x86_64'. + * Cluster operating system, supports setting public images (the field passes the corresponding image Name) and custom images (the field passes the corresponding image ID). For details, please refer to: https://cloud.tencent.com/document/product/457/68289. */ clusterOs?: pulumi.Input; /** @@ -1110,7 +1118,7 @@ export interface ClusterArgs { */ vpcId: pulumi.Input; /** - * Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_worker'. + * Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_scale_worker'. */ workerConfigs?: pulumi.Input[]>; } diff --git a/sdk/nodejs/kubernetes/getClusterNativeNodePools.ts b/sdk/nodejs/kubernetes/getClusterNativeNodePools.ts new file mode 100644 index 000000000..ec06c2bbe --- /dev/null +++ b/sdk/nodejs/kubernetes/getClusterNativeNodePools.ts @@ -0,0 +1,128 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as utilities from "../utilities"; + +/** + * Use this data source to query detailed information of tke kubernetes clusterNativeNodePools + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const kubernetesClusterNativeNodePools = tencentcloud.Kubernetes.getClusterNativeNodePools({ + * clusterId: "cls-eyi0erm0", + * filters: [ + * { + * name: "NodePoolsName", + * values: ["native_node_pool"], + * }, + * { + * name: "NodePoolsId", + * values: ["np-ngjwhdv4"], + * }, + * ], + * }); + * ``` + * + */ +export function getClusterNativeNodePools(args: GetClusterNativeNodePoolsArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("tencentcloud:Kubernetes/getClusterNativeNodePools:getClusterNativeNodePools", { + "clusterId": args.clusterId, + "filters": args.filters, + "resultOutputFile": args.resultOutputFile, + }, opts); +} + +/** + * A collection of arguments for invoking getClusterNativeNodePools. + */ +export interface GetClusterNativeNodePoolsArgs { + /** + * ID of the cluster. + */ + clusterId: string; + /** + * Query filter conditions: NodePoolsName, Filter according to the node pool name, type: String, required: no. NodePoolsId, Filter according to the node pool ID, type: String, required: no. tags, Filter according to the label key value pairs, type: String, required: no. tag:tag-key, Filter according to the label key value pairs, type: String, required: no. + */ + filters?: inputs.Kubernetes.GetClusterNativeNodePoolsFilter[]; + /** + * Used to save results. + */ + resultOutputFile?: string; +} + +/** + * A collection of values returned by getClusterNativeNodePools. + */ +export interface GetClusterNativeNodePoolsResult { + /** + * ID of the cluster. + */ + readonly clusterId: string; + readonly filters?: outputs.Kubernetes.GetClusterNativeNodePoolsFilter[]; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + /** + * Node pool list. + */ + readonly nodePools: outputs.Kubernetes.GetClusterNativeNodePoolsNodePool[]; + readonly resultOutputFile?: string; +} +/** + * Use this data source to query detailed information of tke kubernetes clusterNativeNodePools + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@pulumi/tencentcloud"; + * + * const kubernetesClusterNativeNodePools = tencentcloud.Kubernetes.getClusterNativeNodePools({ + * clusterId: "cls-eyi0erm0", + * filters: [ + * { + * name: "NodePoolsName", + * values: ["native_node_pool"], + * }, + * { + * name: "NodePoolsId", + * values: ["np-ngjwhdv4"], + * }, + * ], + * }); + * ``` + * + */ +export function getClusterNativeNodePoolsOutput(args: GetClusterNativeNodePoolsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getClusterNativeNodePools(a, opts)) +} + +/** + * A collection of arguments for invoking getClusterNativeNodePools. + */ +export interface GetClusterNativeNodePoolsOutputArgs { + /** + * ID of the cluster. + */ + clusterId: pulumi.Input; + /** + * Query filter conditions: NodePoolsName, Filter according to the node pool name, type: String, required: no. NodePoolsId, Filter according to the node pool ID, type: String, required: no. tags, Filter according to the label key value pairs, type: String, required: no. tag:tag-key, Filter according to the label key value pairs, type: String, required: no. + */ + filters?: pulumi.Input[]>; + /** + * Used to save results. + */ + resultOutputFile?: pulumi.Input; +} diff --git a/sdk/nodejs/kubernetes/index.ts b/sdk/nodejs/kubernetes/index.ts index 0ebefe474..a26b6ffc7 100644 --- a/sdk/nodejs/kubernetes/index.ts +++ b/sdk/nodejs/kubernetes/index.ts @@ -75,6 +75,11 @@ export const getClusterLevels: typeof import("./getClusterLevels").getClusterLev export const getClusterLevelsOutput: typeof import("./getClusterLevels").getClusterLevelsOutput = null as any; utilities.lazyLoad(exports, ["getClusterLevels","getClusterLevelsOutput"], () => require("./getClusterLevels")); +export { GetClusterNativeNodePoolsArgs, GetClusterNativeNodePoolsResult, GetClusterNativeNodePoolsOutputArgs } from "./getClusterNativeNodePools"; +export const getClusterNativeNodePools: typeof import("./getClusterNativeNodePools").getClusterNativeNodePools = null as any; +export const getClusterNativeNodePoolsOutput: typeof import("./getClusterNativeNodePools").getClusterNativeNodePoolsOutput = null as any; +utilities.lazyLoad(exports, ["getClusterNativeNodePools","getClusterNativeNodePoolsOutput"], () => require("./getClusterNativeNodePools")); + export { GetClusterNodePoolsArgs, GetClusterNodePoolsResult, GetClusterNodePoolsOutputArgs } from "./getClusterNodePools"; export const getClusterNodePools: typeof import("./getClusterNodePools").getClusterNodePools = null as any; export const getClusterNodePoolsOutput: typeof import("./getClusterNodePools").getClusterNodePoolsOutput = null as any; @@ -85,6 +90,11 @@ export const getClusters: typeof import("./getClusters").getClusters = null as a export const getClustersOutput: typeof import("./getClusters").getClustersOutput = null as any; utilities.lazyLoad(exports, ["getClusters","getClustersOutput"], () => require("./getClusters")); +export { NativeNodePoolArgs, NativeNodePoolState } from "./nativeNodePool"; +export type NativeNodePool = import("./nativeNodePool").NativeNodePool; +export const NativeNodePool: typeof import("./nativeNodePool").NativeNodePool = null as any; +utilities.lazyLoad(exports, ["NativeNodePool"], () => require("./nativeNodePool")); + export { NodePoolArgs, NodePoolState } from "./nodePool"; export type NodePool = import("./nodePool").NodePool; export const NodePool: typeof import("./nodePool").NodePool = null as any; @@ -121,6 +131,8 @@ const _module = { return new ClusterEndpoint(name, undefined, { urn }) case "tencentcloud:Kubernetes/encryptionProtection:EncryptionProtection": return new EncryptionProtection(name, undefined, { urn }) + case "tencentcloud:Kubernetes/nativeNodePool:NativeNodePool": + return new NativeNodePool(name, undefined, { urn }) case "tencentcloud:Kubernetes/nodePool:NodePool": return new NodePool(name, undefined, { urn }) case "tencentcloud:Kubernetes/scaleWorker:ScaleWorker": @@ -140,6 +152,7 @@ pulumi.runtime.registerResourceModule("tencentcloud", "Kubernetes/cluster", _mod pulumi.runtime.registerResourceModule("tencentcloud", "Kubernetes/clusterAttachment", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Kubernetes/clusterEndpoint", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Kubernetes/encryptionProtection", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Kubernetes/nativeNodePool", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Kubernetes/nodePool", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Kubernetes/scaleWorker", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Kubernetes/serverlessNodePool", _module) diff --git a/sdk/nodejs/kubernetes/nativeNodePool.ts b/sdk/nodejs/kubernetes/nativeNodePool.ts new file mode 100644 index 000000000..6c6225a6d --- /dev/null +++ b/sdk/nodejs/kubernetes/nativeNodePool.ts @@ -0,0 +1,355 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as utilities from "../utilities"; + +/** + * Provides a resource to create a tke kubernetesNativeNodePool + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const kubernetesNativeNodePool = new tencentcloud.kubernetes.NativeNodePool("kubernetesNativeNodePool", { + * annotations: [ + * { + * name: "node.tke.cloud.tencent.com/test-anno", + * value: "test", + * }, + * { + * name: "node.tke.cloud.tencent.com/test-label", + * value: "test", + * }, + * ], + * clusterId: "cls-eyier120", + * deletionProtection: false, + * labels: [{ + * name: "test11", + * value: "test21", + * }], + * native: { + * autoRepair: false, + * dataDisks: [{ + * autoFormatAndMount: true, + * diskSize: 60, + * diskType: "CLOUD_PREMIUM", + * fileSystem: "ext4", + * mountTarget: "/var/lib/containerd", + * }], + * enableAutoscaling: true, + * hostNamePattern: "aaa{R:3}", + * instanceChargePrepaid: { + * period: 1, + * renewFlag: "NOTIFY_AND_MANUAL_RENEW", + * }, + * instanceChargeType: "PREPAID", + * instanceTypes: ["SA2.MEDIUM2"], + * internetAccessible: { + * chargeType: "TRAFFIC_POSTPAID_BY_HOUR", + * maxBandwidthOut: 50, + * }, + * keyIds: ["skey-9pcs2100"], + * kubeletArgs: [ + * "allowed-unsafe-sysctls=net.core.somaxconn", + * "root-dir=/var/lib/test", + * ], + * lifecycle: { + * postInit: "ZWNobyBoZWxsb3dvcmxk", + * preInit: "ZWNobyBoZWxsb3dvcmxk", + * }, + * management: { + * hosts: [ + * "192.168.2.42 static.fake.com", + * "192.168.2.42 static.fake.com2", + * ], + * kernelArgs: [ + * "kernel.pid_max=65535", + * "fs.file-max=400000", + * ], + * nameservers: [ + * "183.60.83.19", + * "183.60.82.98", + * ], + * }, + * replicas: 2, + * runtimeRootDir: "/var/lib/docker", + * scaling: { + * createPolicy: "ZoneEquality", + * maxReplicas: 10, + * minReplicas: 1, + * }, + * securityGroupIds: ["sg-7tum9120"], + * subnetIds: ["subnet-itb6d123"], + * systemDisk: { + * diskSize: 50, + * diskType: "CLOUD_SSD", + * }, + * }, + * tags: [{ + * resourceType: "machine", + * tags: [ + * { + * key: "keep-test-np1", + * value: "test1", + * }, + * { + * key: "keep-test-np3", + * value: "test3", + * }, + * ], + * }], + * taints: [{ + * effect: "NoExecute", + * key: "product", + * value: "coderider", + * }], + * type: "Native", + * unschedulable: false, + * }); + * ``` + * + * + * ## Import + * + * tke kubernetes_native_node_pool can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Kubernetes/nativeNodePool:NativeNodePool kubernetes_native_node_pool cls-xxx#np-xxx + * ``` + */ +export class NativeNodePool extends pulumi.CustomResource { + /** + * Get an existing NativeNodePool resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: NativeNodePoolState, opts?: pulumi.CustomResourceOptions): NativeNodePool { + return new NativeNodePool(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Kubernetes/nativeNodePool:NativeNodePool'; + + /** + * Returns true if the given object is an instance of NativeNodePool. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is NativeNodePool { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === NativeNodePool.__pulumiType; + } + + /** + * Node Annotation List. + */ + public readonly annotations!: pulumi.Output; + /** + * ID of the cluster. + */ + public readonly clusterId!: pulumi.Output; + /** + * Creation time. + */ + public /*out*/ readonly createdAt!: pulumi.Output; + /** + * Whether to enable deletion protection. + */ + public readonly deletionProtection!: pulumi.Output; + /** + * Node Labels. + */ + public readonly labels!: pulumi.Output; + /** + * Node pool status. + */ + public /*out*/ readonly lifeState!: pulumi.Output; + /** + * Node pool name. + */ + public readonly name!: pulumi.Output; + /** + * Native node pool creation parameters. + */ + public readonly native!: pulumi.Output; + /** + * Node tags. + */ + public readonly tags!: pulumi.Output; + /** + * Node taint. + */ + public readonly taints!: pulumi.Output; + /** + * Node pool type. Optional value is `Native`. + */ + public readonly type!: pulumi.Output; + /** + * Whether the node is not schedulable by default. The native node is not aware of it and passes false by default. + */ + public readonly unschedulable!: pulumi.Output; + + /** + * Create a NativeNodePool resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: NativeNodePoolArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: NativeNodePoolArgs | NativeNodePoolState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as NativeNodePoolState | undefined; + resourceInputs["annotations"] = state ? state.annotations : undefined; + resourceInputs["clusterId"] = state ? state.clusterId : undefined; + resourceInputs["createdAt"] = state ? state.createdAt : undefined; + resourceInputs["deletionProtection"] = state ? state.deletionProtection : undefined; + resourceInputs["labels"] = state ? state.labels : undefined; + resourceInputs["lifeState"] = state ? state.lifeState : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["native"] = state ? state.native : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["taints"] = state ? state.taints : undefined; + resourceInputs["type"] = state ? state.type : undefined; + resourceInputs["unschedulable"] = state ? state.unschedulable : undefined; + } else { + const args = argsOrState as NativeNodePoolArgs | undefined; + if ((!args || args.clusterId === undefined) && !opts.urn) { + throw new Error("Missing required property 'clusterId'"); + } + if ((!args || args.native === undefined) && !opts.urn) { + throw new Error("Missing required property 'native'"); + } + if ((!args || args.type === undefined) && !opts.urn) { + throw new Error("Missing required property 'type'"); + } + resourceInputs["annotations"] = args ? args.annotations : undefined; + resourceInputs["clusterId"] = args ? args.clusterId : undefined; + resourceInputs["deletionProtection"] = args ? args.deletionProtection : undefined; + resourceInputs["labels"] = args ? args.labels : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["native"] = args ? args.native : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["taints"] = args ? args.taints : undefined; + resourceInputs["type"] = args ? args.type : undefined; + resourceInputs["unschedulable"] = args ? args.unschedulable : undefined; + resourceInputs["createdAt"] = undefined /*out*/; + resourceInputs["lifeState"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(NativeNodePool.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering NativeNodePool resources. + */ +export interface NativeNodePoolState { + /** + * Node Annotation List. + */ + annotations?: pulumi.Input[]>; + /** + * ID of the cluster. + */ + clusterId?: pulumi.Input; + /** + * Creation time. + */ + createdAt?: pulumi.Input; + /** + * Whether to enable deletion protection. + */ + deletionProtection?: pulumi.Input; + /** + * Node Labels. + */ + labels?: pulumi.Input[]>; + /** + * Node pool status. + */ + lifeState?: pulumi.Input; + /** + * Node pool name. + */ + name?: pulumi.Input; + /** + * Native node pool creation parameters. + */ + native?: pulumi.Input; + /** + * Node tags. + */ + tags?: pulumi.Input[]>; + /** + * Node taint. + */ + taints?: pulumi.Input[]>; + /** + * Node pool type. Optional value is `Native`. + */ + type?: pulumi.Input; + /** + * Whether the node is not schedulable by default. The native node is not aware of it and passes false by default. + */ + unschedulable?: pulumi.Input; +} + +/** + * The set of arguments for constructing a NativeNodePool resource. + */ +export interface NativeNodePoolArgs { + /** + * Node Annotation List. + */ + annotations?: pulumi.Input[]>; + /** + * ID of the cluster. + */ + clusterId: pulumi.Input; + /** + * Whether to enable deletion protection. + */ + deletionProtection?: pulumi.Input; + /** + * Node Labels. + */ + labels?: pulumi.Input[]>; + /** + * Node pool name. + */ + name?: pulumi.Input; + /** + * Native node pool creation parameters. + */ + native: pulumi.Input; + /** + * Node tags. + */ + tags?: pulumi.Input[]>; + /** + * Node taint. + */ + taints?: pulumi.Input[]>; + /** + * Node pool type. Optional value is `Native`. + */ + type: pulumi.Input; + /** + * Whether the node is not schedulable by default. The native node is not aware of it and passes false by default. + */ + unschedulable?: pulumi.Input; +} diff --git a/sdk/nodejs/kubernetes/scaleWorker.ts b/sdk/nodejs/kubernetes/scaleWorker.ts index 02f491a33..60eed4f5d 100644 --- a/sdk/nodejs/kubernetes/scaleWorker.ts +++ b/sdk/nodejs/kubernetes/scaleWorker.ts @@ -94,6 +94,14 @@ import * as utilities from "../utilities"; * }); * ``` * + * + * ## Import + * + * tke scale worker can be imported, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Kubernetes/scaleWorker:ScaleWorker test cls-xxx#ins-xxx + * ``` */ export class ScaleWorker extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/mongodb/index.ts b/sdk/nodejs/mongodb/index.ts index acf7dcb4f..354e1e5e0 100644 --- a/sdk/nodejs/mongodb/index.ts +++ b/sdk/nodejs/mongodb/index.ts @@ -60,6 +60,16 @@ export type InstanceBackupDownloadTask = import("./instanceBackupDownloadTask"). export const InstanceBackupDownloadTask: typeof import("./instanceBackupDownloadTask").InstanceBackupDownloadTask = null as any; utilities.lazyLoad(exports, ["InstanceBackupDownloadTask"], () => require("./instanceBackupDownloadTask")); +export { InstanceBackupRuleArgs, InstanceBackupRuleState } from "./instanceBackupRule"; +export type InstanceBackupRule = import("./instanceBackupRule").InstanceBackupRule; +export const InstanceBackupRule: typeof import("./instanceBackupRule").InstanceBackupRule = null as any; +utilities.lazyLoad(exports, ["InstanceBackupRule"], () => require("./instanceBackupRule")); + +export { InstanceTransparentDataEncryptionArgs, InstanceTransparentDataEncryptionState } from "./instanceTransparentDataEncryption"; +export type InstanceTransparentDataEncryption = import("./instanceTransparentDataEncryption").InstanceTransparentDataEncryption; +export const InstanceTransparentDataEncryption: typeof import("./instanceTransparentDataEncryption").InstanceTransparentDataEncryption = null as any; +utilities.lazyLoad(exports, ["InstanceTransparentDataEncryption"], () => require("./instanceTransparentDataEncryption")); + export { ShardingInstanceArgs, ShardingInstanceState } from "./shardingInstance"; export type ShardingInstance = import("./shardingInstance").ShardingInstance; export const ShardingInstance: typeof import("./shardingInstance").ShardingInstance = null as any; @@ -83,6 +93,10 @@ const _module = { return new InstanceBackup(name, undefined, { urn }) case "tencentcloud:Mongodb/instanceBackupDownloadTask:InstanceBackupDownloadTask": return new InstanceBackupDownloadTask(name, undefined, { urn }) + case "tencentcloud:Mongodb/instanceBackupRule:InstanceBackupRule": + return new InstanceBackupRule(name, undefined, { urn }) + case "tencentcloud:Mongodb/instanceTransparentDataEncryption:InstanceTransparentDataEncryption": + return new InstanceTransparentDataEncryption(name, undefined, { urn }) case "tencentcloud:Mongodb/shardingInstance:ShardingInstance": return new ShardingInstance(name, undefined, { urn }) case "tencentcloud:Mongodb/standbyInstance:StandbyInstance": @@ -96,5 +110,7 @@ pulumi.runtime.registerResourceModule("tencentcloud", "Mongodb/instance", _modul pulumi.runtime.registerResourceModule("tencentcloud", "Mongodb/instanceAccount", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Mongodb/instanceBackup", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Mongodb/instanceBackupDownloadTask", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Mongodb/instanceBackupRule", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Mongodb/instanceTransparentDataEncryption", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Mongodb/shardingInstance", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Mongodb/standbyInstance", _module) diff --git a/sdk/nodejs/mongodb/instanceBackupRule.ts b/sdk/nodejs/mongodb/instanceBackupRule.ts new file mode 100644 index 000000000..ef5b8ac5f --- /dev/null +++ b/sdk/nodejs/mongodb/instanceBackupRule.ts @@ -0,0 +1,152 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +/** + * Provides a resource to create mongodb backup rule + * + * ## Import + * + * mongodb backup_rule can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Mongodb/instanceBackupRule:InstanceBackupRule backup_rule ${instanceId} + * ``` + */ +export class InstanceBackupRule extends pulumi.CustomResource { + /** + * Get an existing InstanceBackupRule resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: InstanceBackupRuleState, opts?: pulumi.CustomResourceOptions): InstanceBackupRule { + return new InstanceBackupRule(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Mongodb/instanceBackupRule:InstanceBackupRule'; + + /** + * Returns true if the given object is an instance of InstanceBackupRule. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is InstanceBackupRule { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === InstanceBackupRule.__pulumiType; + } + + /** + * Set automatic backup method. Valid values: + * - 0: Logical backup; + * - 1: Physical backup; + * - 3: Snapshot backup (supported only in cloud disk version). + */ + public readonly backupMethod!: pulumi.Output; + /** + * Specify the number of days to save backup data. The default is 7 days, and the support settings are 7, 30, 90, 180, 365. + */ + public readonly backupRetentionPeriod!: pulumi.Output; + /** + * Set the start time for automatic backup. The value range is: [0,23]. For example, setting this parameter to 2 means that backup starts at 02:00. + */ + public readonly backupTime!: pulumi.Output; + /** + * Instance id. + */ + public readonly instanceId!: pulumi.Output; + + /** + * Create a InstanceBackupRule resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: InstanceBackupRuleArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: InstanceBackupRuleArgs | InstanceBackupRuleState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as InstanceBackupRuleState | undefined; + resourceInputs["backupMethod"] = state ? state.backupMethod : undefined; + resourceInputs["backupRetentionPeriod"] = state ? state.backupRetentionPeriod : undefined; + resourceInputs["backupTime"] = state ? state.backupTime : undefined; + resourceInputs["instanceId"] = state ? state.instanceId : undefined; + } else { + const args = argsOrState as InstanceBackupRuleArgs | undefined; + if ((!args || args.backupMethod === undefined) && !opts.urn) { + throw new Error("Missing required property 'backupMethod'"); + } + if ((!args || args.backupTime === undefined) && !opts.urn) { + throw new Error("Missing required property 'backupTime'"); + } + if ((!args || args.instanceId === undefined) && !opts.urn) { + throw new Error("Missing required property 'instanceId'"); + } + resourceInputs["backupMethod"] = args ? args.backupMethod : undefined; + resourceInputs["backupRetentionPeriod"] = args ? args.backupRetentionPeriod : undefined; + resourceInputs["backupTime"] = args ? args.backupTime : undefined; + resourceInputs["instanceId"] = args ? args.instanceId : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(InstanceBackupRule.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering InstanceBackupRule resources. + */ +export interface InstanceBackupRuleState { + /** + * Set automatic backup method. Valid values: + * - 0: Logical backup; + * - 1: Physical backup; + * - 3: Snapshot backup (supported only in cloud disk version). + */ + backupMethod?: pulumi.Input; + /** + * Specify the number of days to save backup data. The default is 7 days, and the support settings are 7, 30, 90, 180, 365. + */ + backupRetentionPeriod?: pulumi.Input; + /** + * Set the start time for automatic backup. The value range is: [0,23]. For example, setting this parameter to 2 means that backup starts at 02:00. + */ + backupTime?: pulumi.Input; + /** + * Instance id. + */ + instanceId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a InstanceBackupRule resource. + */ +export interface InstanceBackupRuleArgs { + /** + * Set automatic backup method. Valid values: + * - 0: Logical backup; + * - 1: Physical backup; + * - 3: Snapshot backup (supported only in cloud disk version). + */ + backupMethod: pulumi.Input; + /** + * Specify the number of days to save backup data. The default is 7 days, and the support settings are 7, 30, 90, 180, 365. + */ + backupRetentionPeriod?: pulumi.Input; + /** + * Set the start time for automatic backup. The value range is: [0,23]. For example, setting this parameter to 2 means that backup starts at 02:00. + */ + backupTime: pulumi.Input; + /** + * Instance id. + */ + instanceId: pulumi.Input; +} diff --git a/sdk/nodejs/mongodb/instanceTransparentDataEncryption.ts b/sdk/nodejs/mongodb/instanceTransparentDataEncryption.ts new file mode 100644 index 000000000..95460e3b3 --- /dev/null +++ b/sdk/nodejs/mongodb/instanceTransparentDataEncryption.ts @@ -0,0 +1,169 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as utilities from "../utilities"; + +/** + * Provides a resource to enable mongodb transparent data encryption + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const encryption = new tencentcloud.mongodb.InstanceTransparentDataEncryption("encryption", { + * instanceId: "cmgo-xxxxxx", + * kmsRegion: "ap-guangzhou", + * }); + * ``` + * + * + * ## Import + * + * mongodb transparent data encryption can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Mongodb/instanceTransparentDataEncryption:InstanceTransparentDataEncryption encryption ${instanceId} + * ``` + */ +export class InstanceTransparentDataEncryption extends pulumi.CustomResource { + /** + * Get an existing InstanceTransparentDataEncryption resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: InstanceTransparentDataEncryptionState, opts?: pulumi.CustomResourceOptions): InstanceTransparentDataEncryption { + return new InstanceTransparentDataEncryption(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Mongodb/instanceTransparentDataEncryption:InstanceTransparentDataEncryption'; + + /** + * Returns true if the given object is an instance of InstanceTransparentDataEncryption. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is InstanceTransparentDataEncryption { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === InstanceTransparentDataEncryption.__pulumiType; + } + + /** + * Instance ID, for example: cmgo-p8vn ***. Currently supported general versions include: 4.4 and 5.0, but the cloud disk version is not currently supported. + */ + public readonly instanceId!: pulumi.Output; + /** + * Key ID. If this parameter is not set and the specific key ID is not specified, Tencent Cloud will automatically generate + * the key and this key will be beyond the control of Terraform. + */ + public readonly keyId!: pulumi.Output; + /** + * List of bound keys. + */ + public /*out*/ readonly keyInfoLists!: pulumi.Output; + /** + * The region where the Key Management Service (KMS) serves, such as ap-shanghai. + */ + public readonly kmsRegion!: pulumi.Output; + /** + * Represents whether transparent encryption is turned on. Valid values: + * - close: Not opened; + * - open: It has been opened. + */ + public /*out*/ readonly transparentDataEncryptionStatus!: pulumi.Output; + + /** + * Create a InstanceTransparentDataEncryption resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: InstanceTransparentDataEncryptionArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: InstanceTransparentDataEncryptionArgs | InstanceTransparentDataEncryptionState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as InstanceTransparentDataEncryptionState | undefined; + resourceInputs["instanceId"] = state ? state.instanceId : undefined; + resourceInputs["keyId"] = state ? state.keyId : undefined; + resourceInputs["keyInfoLists"] = state ? state.keyInfoLists : undefined; + resourceInputs["kmsRegion"] = state ? state.kmsRegion : undefined; + resourceInputs["transparentDataEncryptionStatus"] = state ? state.transparentDataEncryptionStatus : undefined; + } else { + const args = argsOrState as InstanceTransparentDataEncryptionArgs | undefined; + if ((!args || args.instanceId === undefined) && !opts.urn) { + throw new Error("Missing required property 'instanceId'"); + } + if ((!args || args.kmsRegion === undefined) && !opts.urn) { + throw new Error("Missing required property 'kmsRegion'"); + } + resourceInputs["instanceId"] = args ? args.instanceId : undefined; + resourceInputs["keyId"] = args ? args.keyId : undefined; + resourceInputs["kmsRegion"] = args ? args.kmsRegion : undefined; + resourceInputs["keyInfoLists"] = undefined /*out*/; + resourceInputs["transparentDataEncryptionStatus"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(InstanceTransparentDataEncryption.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering InstanceTransparentDataEncryption resources. + */ +export interface InstanceTransparentDataEncryptionState { + /** + * Instance ID, for example: cmgo-p8vn ***. Currently supported general versions include: 4.4 and 5.0, but the cloud disk version is not currently supported. + */ + instanceId?: pulumi.Input; + /** + * Key ID. If this parameter is not set and the specific key ID is not specified, Tencent Cloud will automatically generate + * the key and this key will be beyond the control of Terraform. + */ + keyId?: pulumi.Input; + /** + * List of bound keys. + */ + keyInfoLists?: pulumi.Input[]>; + /** + * The region where the Key Management Service (KMS) serves, such as ap-shanghai. + */ + kmsRegion?: pulumi.Input; + /** + * Represents whether transparent encryption is turned on. Valid values: + * - close: Not opened; + * - open: It has been opened. + */ + transparentDataEncryptionStatus?: pulumi.Input; +} + +/** + * The set of arguments for constructing a InstanceTransparentDataEncryption resource. + */ +export interface InstanceTransparentDataEncryptionArgs { + /** + * Instance ID, for example: cmgo-p8vn ***. Currently supported general versions include: 4.4 and 5.0, but the cloud disk version is not currently supported. + */ + instanceId: pulumi.Input; + /** + * Key ID. If this parameter is not set and the specific key ID is not specified, Tencent Cloud will automatically generate + * the key and this key will be beyond the control of Terraform. + */ + keyId?: pulumi.Input; + /** + * The region where the Key Management Service (KMS) serves, such as ap-shanghai. + */ + kmsRegion: pulumi.Input; +} diff --git a/sdk/nodejs/postgresql/instance.ts b/sdk/nodejs/postgresql/instance.ts index b08517b7f..22cbe2f95 100644 --- a/sdk/nodejs/postgresql/instance.ts +++ b/sdk/nodejs/postgresql/instance.ts @@ -10,6 +10,7 @@ import * as utilities from "../utilities"; * Use this resource to create postgresql instance. * * > **Note:** To update the charge type, please update the `chargeType` and specify the `period` for the charging period. It only supports updating from `POSTPAID_BY_HOUR` to `PREPAID`, and the `period` field only valid in that upgrading case. + * **Note:** If no values are set for the two parameters: `dbMajorVersion` and `engineVersion`, then `engineVersion` is set to `10.4` by default. Suggest using parameter `dbMajorVersion` to create an instance * * ## Example Usage * @@ -19,7 +20,7 @@ import * as utilities from "../utilities"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * * const config = new pulumi.Config(); - * const availabilityZone = config.get("availabilityZone") || "ap-guangzhou-1"; + * const availabilityZone = config.get("availabilityZone") || "ap-guangzhou-3"; * // create vpc * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "10.0.0.0/16"}); * // create vpc subnet @@ -30,16 +31,18 @@ import * as utilities from "../utilities"; * isMulticast: false, * }); * // create postgresql - * const foo = new tencentcloud.postgresql.Instance("foo", { + * const example = new tencentcloud.postgresql.Instance("example", { * availabilityZone: availabilityZone, * chargeType: "POSTPAID_BY_HOUR", * vpcId: vpc.id, * subnetId: subnet.id, - * engineVersion: "10.4", + * dbMajorVersion: "10", + * engineVersion: "10.23", * rootUser: "root123", * rootPassword: "Root123$", * charset: "UTF8", * projectId: 0, + * cpu: 1, * memory: 2, * storage: 10, * tags: { @@ -69,12 +72,12 @@ import * as utilities from "../utilities"; * isMulticast: false, * }); * // create postgresql - * const foo = new tencentcloud.postgresql.Instance("foo", { + * const example = new tencentcloud.postgresql.Instance("example", { * availabilityZone: availabilityZone, * chargeType: "POSTPAID_BY_HOUR", * vpcId: vpc.id, * subnetId: subnet.id, - * engineVersion: "10.4", + * dbMajorVersion: "10", * rootUser: "root123", * rootPassword: "Root123$", * charset: "UTF8", @@ -105,33 +108,36 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * - * const pg = new tencentcloud.postgresql.Instance("pg", { - * availabilityZone: "ap-guangzhou-6", - * backupPlan: { - * backupPeriods: [ - * "tuesday", - * "wednesday", - * ], - * baseBackupRetentionPeriod: 7, - * maxBackupStartTime: "01:10:11", - * minBackupStartTime: "00:10:11", - * }, + * const config = new pulumi.Config(); + * const availabilityZone = config.get("availabilityZone") || "ap-guangzhou-6"; + * const example = new tencentcloud.postgresql.Instance("example", { + * availabilityZone: availabilityZone, * chargeType: "POSTPAID_BY_HOUR", - * charset: "LATIN1", - * dbKernelVersion: "v11.12_r1.3", + * vpcId: "vpc-86v957zb", + * subnetId: "subnet-enm92y0m", + * dbMajorVersion: "11", * engineVersion: "11.12", + * dbKernelVersion: "v11.12_r1.3", + * needSupportTde: 1, * kmsKeyId: "788c606a-c7b7-11ec-82d1-5254001e5c4e", * kmsRegion: "ap-guangzhou", - * memory: 4, - * needSupportTde: 1, + * rootPassword: "Root123$", + * charset: "LATIN1", * projectId: 0, - * rootPassword: "xxxxxxxxxx", + * memory: 4, * storage: 100, - * subnetId: "subnet-enm92y0m", + * backupPlan: { + * minBackupStartTime: "00:10:11", + * maxBackupStartTime: "01:10:11", + * baseBackupRetentionPeriod: 7, + * backupPeriods: [ + * "tuesday", + * "wednesday", + * ], + * }, * tags: { * tf: "test", * }, - * vpcId: "vpc-86v957zb", * }); * ``` * @@ -143,17 +149,19 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * - * const test = new tencentcloud.postgresql.Instance("test", { - * availabilityZone: data.tencentcloud_availability_zones_by_product.zone.zones[5].name, + * const config = new pulumi.Config(); + * const availabilityZone = config.get("availabilityZone") || "ap-guangzhou-6"; + * const example = new tencentcloud.postgresql.Instance("example", { + * availabilityZone: availabilityZone, * chargeType: "POSTPAID_BY_HOUR", - * vpcId: local.vpc_id, - * subnetId: local.subnet_id, + * vpcId: "vpc-86v957zb", + * subnetId: "subnet-enm92y0m", * engineVersion: "13.3", - * rootPassword: "*", + * rootPassword: "Root123$", * charset: "LATIN1", * projectId: 0, * publicAccessSwitch: false, - * securityGroups: [local.sg_id], + * securityGroups: ["sg-cm7fbbf3"], * memory: 4, * storage: 250, * backupPlan: { @@ -168,7 +176,7 @@ import * as utilities from "../utilities"; * }, * dbKernelVersion: "v13.3_r1.4", * tags: { - * tf: "teest", + * tf: "test", * }, * }); * ``` @@ -179,7 +187,7 @@ import * as utilities from "../utilities"; * postgresql instance can be imported using the id, e.g. * * ```sh - * $ pulumi import tencentcloud:Postgresql/instance:Instance foo postgres-cda1iex1 + * $ pulumi import tencentcloud:Postgresql/instance:Instance example postgres-cda1iex1 * ``` */ export class Instance extends pulumi.CustomResource { @@ -247,11 +255,11 @@ export class Instance extends pulumi.CustomResource { */ public readonly dbKernelVersion!: pulumi.Output; /** - * PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. + * PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. */ public readonly dbMajorVersion!: pulumi.Output; /** - * `dbMajorVesion` will be deprecated, use `dbMajorVersion` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. + * `dbMajorVesion` will be deprecated, use `dbMajorVersion` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. * * @deprecated `dbMajorVesion` will be deprecated, use `dbMajorVersion` instead. */ @@ -261,9 +269,9 @@ export class Instance extends pulumi.CustomResource { */ public readonly dbNodeSets!: pulumi.Output; /** - * Version of the postgresql database engine. Valid values: `10.4`, `11.8`, `12.4`. + * Version of the postgresql database engine. Valid values: `10.4`, `10.17`, `10.23`, `11.8`, `11.12`, `11.22`, `12.4`, `12.7`, `12.18`, `13.3`, `14.2`, `14.11`, `15.1`, `16.0`. */ - public readonly engineVersion!: pulumi.Output; + public readonly engineVersion!: pulumi.Output; /** * KeyId of the custom key. */ @@ -511,11 +519,11 @@ export interface InstanceState { */ dbKernelVersion?: pulumi.Input; /** - * PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. + * PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. */ dbMajorVersion?: pulumi.Input; /** - * `dbMajorVesion` will be deprecated, use `dbMajorVersion` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. + * `dbMajorVesion` will be deprecated, use `dbMajorVersion` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. * * @deprecated `dbMajorVesion` will be deprecated, use `dbMajorVersion` instead. */ @@ -525,7 +533,7 @@ export interface InstanceState { */ dbNodeSets?: pulumi.Input[]>; /** - * Version of the postgresql database engine. Valid values: `10.4`, `11.8`, `12.4`. + * Version of the postgresql database engine. Valid values: `10.4`, `10.17`, `10.23`, `11.8`, `11.12`, `11.22`, `12.4`, `12.7`, `12.18`, `13.3`, `14.2`, `14.11`, `15.1`, `16.0`. */ engineVersion?: pulumi.Input; /** @@ -659,11 +667,11 @@ export interface InstanceArgs { */ dbKernelVersion?: pulumi.Input; /** - * PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. + * PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. */ dbMajorVersion?: pulumi.Input; /** - * `dbMajorVesion` will be deprecated, use `dbMajorVersion` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. + * `dbMajorVesion` will be deprecated, use `dbMajorVersion` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. * * @deprecated `dbMajorVesion` will be deprecated, use `dbMajorVersion` instead. */ @@ -673,7 +681,7 @@ export interface InstanceArgs { */ dbNodeSets?: pulumi.Input[]>; /** - * Version of the postgresql database engine. Valid values: `10.4`, `11.8`, `12.4`. + * Version of the postgresql database engine. Valid values: `10.4`, `10.17`, `10.23`, `11.8`, `11.12`, `11.22`, `12.4`, `12.7`, `12.18`, `13.3`, `14.2`, `14.11`, `15.1`, `16.0`. */ engineVersion?: pulumi.Input; /** diff --git a/sdk/nodejs/ssl/freeCertificate.ts b/sdk/nodejs/ssl/freeCertificate.ts index ffaa2b243..8f430b136 100644 --- a/sdk/nodejs/ssl/freeCertificate.ts +++ b/sdk/nodejs/ssl/freeCertificate.ts @@ -136,7 +136,7 @@ export class FreeCertificate extends pulumi.CustomResource { */ public readonly oldCertificateId!: pulumi.Output; /** - * Type of package. Only support `"2"` (TrustAsia TLS RSA CA). + * Type of package. Only support `"83"` (TrustAsia TLS RSA CA). */ public readonly packageType!: pulumi.Output; /** @@ -164,7 +164,7 @@ export class FreeCertificate extends pulumi.CustomResource { */ public /*out*/ readonly statusName!: pulumi.Output; /** - * Specify validity period in month, only support `"12"` months for now. + * Specify validity period in month, only support `"3"` months for now. */ public readonly validityPeriod!: pulumi.Output; /** @@ -320,7 +320,7 @@ export interface FreeCertificateState { */ oldCertificateId?: pulumi.Input; /** - * Type of package. Only support `"2"` (TrustAsia TLS RSA CA). + * Type of package. Only support `"83"` (TrustAsia TLS RSA CA). */ packageType?: pulumi.Input; /** @@ -348,7 +348,7 @@ export interface FreeCertificateState { */ statusName?: pulumi.Input; /** - * Specify validity period in month, only support `"12"` months for now. + * Specify validity period in month, only support `"3"` months for now. */ validityPeriod?: pulumi.Input; /** @@ -398,7 +398,7 @@ export interface FreeCertificateArgs { */ oldCertificateId?: pulumi.Input; /** - * Type of package. Only support `"2"` (TrustAsia TLS RSA CA). + * Type of package. Only support `"83"` (TrustAsia TLS RSA CA). */ packageType?: pulumi.Input; /** @@ -406,7 +406,7 @@ export interface FreeCertificateArgs { */ projectId?: pulumi.Input; /** - * Specify validity period in month, only support `"12"` months for now. + * Specify validity period in month, only support `"3"` months for now. */ validityPeriod?: pulumi.Input; } diff --git a/sdk/nodejs/tdmq/instance.ts b/sdk/nodejs/tdmq/instance.ts index c33b1f533..4c077669e 100644 --- a/sdk/nodejs/tdmq/instance.ts +++ b/sdk/nodejs/tdmq/instance.ts @@ -14,9 +14,9 @@ import * as utilities from "../utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * - * const foo = new tencentcloud.tdmq.Instance("foo", { - * clusterName: "example", - * remark: "this is description.", + * const example = new tencentcloud.tdmq.Instance("example", { + * clusterName: "tf_example", + * remark: "remark.", * tags: { * createdBy: "terraform", * }, @@ -29,7 +29,7 @@ import * as utilities from "../utilities"; * Tdmq instance can be imported, e.g. * * ```sh - * $ pulumi import tencentcloud:Tdmq/instance:Instance test tdmq_id + * $ pulumi import tencentcloud:Tdmq/instance:Instance example pulsar-78bwjaj8epxv * ``` */ export class Instance extends pulumi.CustomResource { diff --git a/sdk/nodejs/tdmq/namespace.ts b/sdk/nodejs/tdmq/namespace.ts index 2077238f0..32370d9e0 100644 --- a/sdk/nodejs/tdmq/namespace.ts +++ b/sdk/nodejs/tdmq/namespace.ts @@ -7,7 +7,7 @@ import * as outputs from "../types/output"; import * as utilities from "../utilities"; /** - * Provide a resource to create a tdmq namespace. + * Provide a resource to create a TDMQ namespace. * * ## Example Usage * @@ -41,7 +41,7 @@ import * as utilities from "../utilities"; * Tdmq namespace can be imported, e.g. * * ```sh - * $ pulumi import tencentcloud:Tdmq/namespace:Namespace test namespace_id + * $ pulumi import tencentcloud:Tdmq/namespace:Namespace example tf_example#pulsar-78bwjaj8epxv * ``` */ export class Namespace extends pulumi.CustomResource { diff --git a/sdk/nodejs/tdmq/namespaceRoleAttachment.ts b/sdk/nodejs/tdmq/namespaceRoleAttachment.ts index c905aad3c..f30bf229b 100644 --- a/sdk/nodejs/tdmq/namespaceRoleAttachment.ts +++ b/sdk/nodejs/tdmq/namespaceRoleAttachment.ts @@ -5,7 +5,7 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; /** - * Provide a resource to create a TDMQ role. + * Provide a resource to create a TDMQ environment role. * * ## Example Usage * diff --git a/sdk/nodejs/tdmq/role.ts b/sdk/nodejs/tdmq/role.ts index d5082c985..7e7adb9ff 100644 --- a/sdk/nodejs/tdmq/role.ts +++ b/sdk/nodejs/tdmq/role.ts @@ -22,20 +22,12 @@ import * as utilities from "../utilities"; * }, * }); * const exampleRole = new tencentcloud.tdmq.Role("exampleRole", { - * roleName: "tf_example", + * roleName: "role_example", * clusterId: exampleInstance.id, * remark: "remark.", * }); * ``` * - * - * ## Import - * - * Tdmq instance can be imported, e.g. - * - * ```sh - * $ pulumi import tencentcloud:Tdmq/role:Role test tdmq_id - * ``` */ export class Role extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/tdmq/topic.ts b/sdk/nodejs/tdmq/topic.ts index 5e67b8cad..956362b92 100644 --- a/sdk/nodejs/tdmq/topic.ts +++ b/sdk/nodejs/tdmq/topic.ts @@ -41,14 +41,6 @@ import * as utilities from "../utilities"; * }); * ``` * - * - * ## Import - * - * Tdmq Topic can be imported, e.g. - * - * ```sh - * $ pulumi import tencentcloud:Tdmq/topic:Topic test topic_id - * ``` */ export class Topic extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/teo/accelerationDomain.ts b/sdk/nodejs/teo/accelerationDomain.ts index e3777c46a..d7c3623ab 100644 --- a/sdk/nodejs/teo/accelerationDomain.ts +++ b/sdk/nodejs/teo/accelerationDomain.ts @@ -71,10 +71,26 @@ export class AccelerationDomain extends pulumi.CustomResource { * Accelerated domain name. */ public readonly domainName!: pulumi.Output; + /** + * HTTP back-to-origin port, the value is 1-65535, effective when OriginProtocol=FOLLOW/HTTP, if not filled in, the default value is 80. + */ + public readonly httpOriginPort!: pulumi.Output; + /** + * HTTPS back-to-origin port. The value range is 1-65535. It takes effect when OriginProtocol=FOLLOW/HTTPS. If it is not filled in, the default value is 443. + */ + public readonly httpsOriginPort!: pulumi.Output; + /** + * IPv6 status, the value is: `follow`: follow the site IPv6 configuration; `on`: on; `off`: off. If not filled in, the default is: `follow`. + */ + public readonly ipv6Status!: pulumi.Output; /** * Details of the origin. */ public readonly originInfo!: pulumi.Output; + /** + * Origin return protocol, possible values are: `FOLLOW`: protocol follow; `HTTP`: HTTP protocol back to source; `HTTPS`: HTTPS protocol back to source. If not filled in, the default is: `FOLLOW`. + */ + public readonly originProtocol!: pulumi.Output; /** * Accelerated domain name status, the values are: `online`: enabled; `offline`: disabled. */ @@ -99,7 +115,11 @@ export class AccelerationDomain extends pulumi.CustomResource { const state = argsOrState as AccelerationDomainState | undefined; resourceInputs["cname"] = state ? state.cname : undefined; resourceInputs["domainName"] = state ? state.domainName : undefined; + resourceInputs["httpOriginPort"] = state ? state.httpOriginPort : undefined; + resourceInputs["httpsOriginPort"] = state ? state.httpsOriginPort : undefined; + resourceInputs["ipv6Status"] = state ? state.ipv6Status : undefined; resourceInputs["originInfo"] = state ? state.originInfo : undefined; + resourceInputs["originProtocol"] = state ? state.originProtocol : undefined; resourceInputs["status"] = state ? state.status : undefined; resourceInputs["zoneId"] = state ? state.zoneId : undefined; } else { @@ -114,7 +134,11 @@ export class AccelerationDomain extends pulumi.CustomResource { throw new Error("Missing required property 'zoneId'"); } resourceInputs["domainName"] = args ? args.domainName : undefined; + resourceInputs["httpOriginPort"] = args ? args.httpOriginPort : undefined; + resourceInputs["httpsOriginPort"] = args ? args.httpsOriginPort : undefined; + resourceInputs["ipv6Status"] = args ? args.ipv6Status : undefined; resourceInputs["originInfo"] = args ? args.originInfo : undefined; + resourceInputs["originProtocol"] = args ? args.originProtocol : undefined; resourceInputs["status"] = args ? args.status : undefined; resourceInputs["zoneId"] = args ? args.zoneId : undefined; resourceInputs["cname"] = undefined /*out*/; @@ -136,10 +160,26 @@ export interface AccelerationDomainState { * Accelerated domain name. */ domainName?: pulumi.Input; + /** + * HTTP back-to-origin port, the value is 1-65535, effective when OriginProtocol=FOLLOW/HTTP, if not filled in, the default value is 80. + */ + httpOriginPort?: pulumi.Input; + /** + * HTTPS back-to-origin port. The value range is 1-65535. It takes effect when OriginProtocol=FOLLOW/HTTPS. If it is not filled in, the default value is 443. + */ + httpsOriginPort?: pulumi.Input; + /** + * IPv6 status, the value is: `follow`: follow the site IPv6 configuration; `on`: on; `off`: off. If not filled in, the default is: `follow`. + */ + ipv6Status?: pulumi.Input; /** * Details of the origin. */ originInfo?: pulumi.Input; + /** + * Origin return protocol, possible values are: `FOLLOW`: protocol follow; `HTTP`: HTTP protocol back to source; `HTTPS`: HTTPS protocol back to source. If not filled in, the default is: `FOLLOW`. + */ + originProtocol?: pulumi.Input; /** * Accelerated domain name status, the values are: `online`: enabled; `offline`: disabled. */ @@ -158,10 +198,26 @@ export interface AccelerationDomainArgs { * Accelerated domain name. */ domainName: pulumi.Input; + /** + * HTTP back-to-origin port, the value is 1-65535, effective when OriginProtocol=FOLLOW/HTTP, if not filled in, the default value is 80. + */ + httpOriginPort?: pulumi.Input; + /** + * HTTPS back-to-origin port. The value range is 1-65535. It takes effect when OriginProtocol=FOLLOW/HTTPS. If it is not filled in, the default value is 443. + */ + httpsOriginPort?: pulumi.Input; + /** + * IPv6 status, the value is: `follow`: follow the site IPv6 configuration; `on`: on; `off`: off. If not filled in, the default is: `follow`. + */ + ipv6Status?: pulumi.Input; /** * Details of the origin. */ originInfo: pulumi.Input; + /** + * Origin return protocol, possible values are: `FOLLOW`: protocol follow; `HTTP`: HTTP protocol back to source; `HTTPS`: HTTPS protocol back to source. If not filled in, the default is: `FOLLOW`. + */ + originProtocol?: pulumi.Input; /** * Accelerated domain name status, the values are: `online`: enabled; `offline`: disabled. */ diff --git a/sdk/nodejs/teo/index.ts b/sdk/nodejs/teo/index.ts index 2ce4ed77c..6099c770f 100644 --- a/sdk/nodejs/teo/index.ts +++ b/sdk/nodejs/teo/index.ts @@ -50,6 +50,11 @@ export type OwnershipVerify = import("./ownershipVerify").OwnershipVerify; export const OwnershipVerify: typeof import("./ownershipVerify").OwnershipVerify = null as any; utilities.lazyLoad(exports, ["OwnershipVerify"], () => require("./ownershipVerify")); +export { RealtimeLogDeliveryArgs, RealtimeLogDeliveryState } from "./realtimeLogDelivery"; +export type RealtimeLogDelivery = import("./realtimeLogDelivery").RealtimeLogDelivery; +export const RealtimeLogDelivery: typeof import("./realtimeLogDelivery").RealtimeLogDelivery = null as any; +utilities.lazyLoad(exports, ["RealtimeLogDelivery"], () => require("./realtimeLogDelivery")); + export { RuleEngineArgs, RuleEngineState } from "./ruleEngine"; export type RuleEngine = import("./ruleEngine").RuleEngine; export const RuleEngine: typeof import("./ruleEngine").RuleEngine = null as any; @@ -84,6 +89,8 @@ const _module = { return new OriginGroup(name, undefined, { urn }) case "tencentcloud:Teo/ownershipVerify:OwnershipVerify": return new OwnershipVerify(name, undefined, { urn }) + case "tencentcloud:Teo/realtimeLogDelivery:RealtimeLogDelivery": + return new RealtimeLogDelivery(name, undefined, { urn }) case "tencentcloud:Teo/ruleEngine:RuleEngine": return new RuleEngine(name, undefined, { urn }) case "tencentcloud:Teo/zone:Zone": @@ -102,6 +109,7 @@ pulumi.runtime.registerResourceModule("tencentcloud", "Teo/certificateConfig", _ pulumi.runtime.registerResourceModule("tencentcloud", "Teo/l4Proxy", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Teo/originGroup", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Teo/ownershipVerify", _module) +pulumi.runtime.registerResourceModule("tencentcloud", "Teo/realtimeLogDelivery", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Teo/ruleEngine", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Teo/zone", _module) pulumi.runtime.registerResourceModule("tencentcloud", "Teo/zoneSetting", _module) diff --git a/sdk/nodejs/teo/realtimeLogDelivery.ts b/sdk/nodejs/teo/realtimeLogDelivery.ts new file mode 100644 index 000000000..aa058134f --- /dev/null +++ b/sdk/nodejs/teo/realtimeLogDelivery.ts @@ -0,0 +1,375 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as utilities from "../utilities"; + +/** + * Provides a resource to create a teo teoRealtimeLogDelivery + * + * ## Example Usage + * + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as tencentcloud from "@tencentcloud_iac/pulumi"; + * + * const teoRealtimeLogDelivery = new tencentcloud.teo.RealtimeLogDelivery("teoRealtimeLogDelivery", { + * area: "overseas", + * deliveryStatus: "disabled", + * entityLists: ["sid-2yvhjw98uaco"], + * fields: [ + * "ServiceID", + * "ConnectTimeStamp", + * "DisconnetTimeStamp", + * "DisconnetReason", + * "ClientRealIP", + * "ClientRegion", + * "EdgeIP", + * "ForwardProtocol", + * "ForwardPort", + * "SentBytes", + * "ReceivedBytes", + * "LogTimeStamp", + * ], + * logFormat: { + * fieldDelimiter: ",", + * formatType: "json", + * recordDelimiter: ` + * + * `, + * recordPrefix: "{", + * recordSuffix: "}", + * }, + * logType: "application", + * s3: { + * accessId: "xxxxxxxxxx", + * accessKey: "xxxxxxxxxx", + * bucket: "test-1253833068", + * compressType: "gzip", + * endpoint: "https://test-1253833068.cos.ap-nanjing.myqcloud.com", + * region: "ap-nanjing", + * }, + * sample: 0, + * taskName: "test", + * taskType: "s3", + * zoneId: "zone-2qtuhspy7cr6", + * }); + * ``` + * + * + * ## Import + * + * teo teo_realtime_log_delivery can be imported using the id, e.g. + * + * ```sh + * $ pulumi import tencentcloud:Teo/realtimeLogDelivery:RealtimeLogDelivery teo_realtime_log_delivery zoneId#taskId + * ``` + */ +export class RealtimeLogDelivery extends pulumi.CustomResource { + /** + * Get an existing RealtimeLogDelivery resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: RealtimeLogDeliveryState, opts?: pulumi.CustomResourceOptions): RealtimeLogDelivery { + return new RealtimeLogDelivery(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'tencentcloud:Teo/realtimeLogDelivery:RealtimeLogDelivery'; + + /** + * Returns true if the given object is an instance of RealtimeLogDelivery. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is RealtimeLogDelivery { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === RealtimeLogDelivery.__pulumiType; + } + + /** + * Data delivery area, possible values are: `mainland`: within mainland China; `overseas`: worldwide (excluding mainland China). + */ + public readonly area!: pulumi.Output; + /** + * CLS configuration information. This parameter is required when TaskType is cls. + */ + public readonly cls!: pulumi.Output; + /** + * Customize the configuration information of the HTTP service. This parameter is required when TaskType is set to custom_endpoint. + */ + public readonly customEndpoint!: pulumi.Output; + /** + * The list of custom fields delivered supports extracting specified field values from HTTP request headers, response headers, and cookies. Custom field names cannot be repeated and cannot exceed 200 fields. + */ + public readonly customFields!: pulumi.Output; + /** + * The filter condition for log delivery. If it is not filled, all logs will be delivered. + */ + public readonly deliveryConditions!: pulumi.Output; + /** + * The status of the real-time log delivery task. The values are: `enabled`: enabled; `disabled`: disabled. Leave it blank to keep the original configuration. Not required when creating. + */ + public readonly deliveryStatus!: pulumi.Output; + /** + * List of entities (seven-layer domain names or four-layer proxy instances) corresponding to real-time log delivery tasks. Example values are as follows: Seven-layer domain name: `domain.example.com`; four-layer proxy instance: sid-2s69eb5wcms7. For values, refer to: `https://cloud.tencent.com/document/api/1552/80690`, `https://cloud.tencent.com/document/api/1552/86336`. + */ + public readonly entityLists!: pulumi.Output; + /** + * A list of preset fields for delivery. + */ + public readonly fields!: pulumi.Output; + /** + * The output format of log delivery. If it is not filled, it means the default format. The default format logic is as follows: when TaskType is `customEndpoint`, the default format is an array of multiple JSON objects, each JSON object is a log; when TaskType is `s3`, the default format is JSON Lines; in particular, when TaskType is `cls`, the value of LogFormat.FormatType can only be json, and other parameters in LogFormat will be ignored. It is recommended not to pass LogFormat. + */ + public readonly logFormat!: pulumi.Output; + /** + * Data delivery type, the values are: `domain`: site acceleration log; `application`: four-layer proxy log; `web-rateLiming`: rate limit and CC attack protection log; `web-attack`: managed rule log; `web-rule`: custom rule log; `web-bot`: Bot management log. + */ + public readonly logType!: pulumi.Output; + /** + * Configuration information of AWS S3 compatible storage bucket. This parameter is required when TaskType is s3. + */ + public readonly s3!: pulumi.Output; + /** + * The sampling ratio is in thousandths, with a value range of 1-1000. For example, filling in 605 means the sampling ratio is 60.5%. Leaving it blank means the sampling ratio is 100%. + */ + public readonly sample!: pulumi.Output; + /** + * Real-time log delivery task ID. + */ + public /*out*/ readonly taskId!: pulumi.Output; + /** + * The name of the real-time log delivery task. The format is a combination of numbers, English, -, and _. The maximum length is 200 characters. + */ + public readonly taskName!: pulumi.Output; + /** + * The real-time log delivery task type. The possible values are: `cls`: push to Tencent Cloud CLS; `customEndpoint`: push to a custom HTTP(S) address; `s3`: push to an AWS S3 compatible storage bucket address. + */ + public readonly taskType!: pulumi.Output; + /** + * ID of the site. + */ + public readonly zoneId!: pulumi.Output; + + /** + * Create a RealtimeLogDelivery resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: RealtimeLogDeliveryArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: RealtimeLogDeliveryArgs | RealtimeLogDeliveryState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as RealtimeLogDeliveryState | undefined; + resourceInputs["area"] = state ? state.area : undefined; + resourceInputs["cls"] = state ? state.cls : undefined; + resourceInputs["customEndpoint"] = state ? state.customEndpoint : undefined; + resourceInputs["customFields"] = state ? state.customFields : undefined; + resourceInputs["deliveryConditions"] = state ? state.deliveryConditions : undefined; + resourceInputs["deliveryStatus"] = state ? state.deliveryStatus : undefined; + resourceInputs["entityLists"] = state ? state.entityLists : undefined; + resourceInputs["fields"] = state ? state.fields : undefined; + resourceInputs["logFormat"] = state ? state.logFormat : undefined; + resourceInputs["logType"] = state ? state.logType : undefined; + resourceInputs["s3"] = state ? state.s3 : undefined; + resourceInputs["sample"] = state ? state.sample : undefined; + resourceInputs["taskId"] = state ? state.taskId : undefined; + resourceInputs["taskName"] = state ? state.taskName : undefined; + resourceInputs["taskType"] = state ? state.taskType : undefined; + resourceInputs["zoneId"] = state ? state.zoneId : undefined; + } else { + const args = argsOrState as RealtimeLogDeliveryArgs | undefined; + if ((!args || args.area === undefined) && !opts.urn) { + throw new Error("Missing required property 'area'"); + } + if ((!args || args.entityLists === undefined) && !opts.urn) { + throw new Error("Missing required property 'entityLists'"); + } + if ((!args || args.fields === undefined) && !opts.urn) { + throw new Error("Missing required property 'fields'"); + } + if ((!args || args.logType === undefined) && !opts.urn) { + throw new Error("Missing required property 'logType'"); + } + if ((!args || args.sample === undefined) && !opts.urn) { + throw new Error("Missing required property 'sample'"); + } + if ((!args || args.taskName === undefined) && !opts.urn) { + throw new Error("Missing required property 'taskName'"); + } + if ((!args || args.taskType === undefined) && !opts.urn) { + throw new Error("Missing required property 'taskType'"); + } + if ((!args || args.zoneId === undefined) && !opts.urn) { + throw new Error("Missing required property 'zoneId'"); + } + resourceInputs["area"] = args ? args.area : undefined; + resourceInputs["cls"] = args ? args.cls : undefined; + resourceInputs["customEndpoint"] = args ? args.customEndpoint : undefined; + resourceInputs["customFields"] = args ? args.customFields : undefined; + resourceInputs["deliveryConditions"] = args ? args.deliveryConditions : undefined; + resourceInputs["deliveryStatus"] = args ? args.deliveryStatus : undefined; + resourceInputs["entityLists"] = args ? args.entityLists : undefined; + resourceInputs["fields"] = args ? args.fields : undefined; + resourceInputs["logFormat"] = args ? args.logFormat : undefined; + resourceInputs["logType"] = args ? args.logType : undefined; + resourceInputs["s3"] = args ? args.s3 : undefined; + resourceInputs["sample"] = args ? args.sample : undefined; + resourceInputs["taskName"] = args ? args.taskName : undefined; + resourceInputs["taskType"] = args ? args.taskType : undefined; + resourceInputs["zoneId"] = args ? args.zoneId : undefined; + resourceInputs["taskId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(RealtimeLogDelivery.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering RealtimeLogDelivery resources. + */ +export interface RealtimeLogDeliveryState { + /** + * Data delivery area, possible values are: `mainland`: within mainland China; `overseas`: worldwide (excluding mainland China). + */ + area?: pulumi.Input; + /** + * CLS configuration information. This parameter is required when TaskType is cls. + */ + cls?: pulumi.Input; + /** + * Customize the configuration information of the HTTP service. This parameter is required when TaskType is set to custom_endpoint. + */ + customEndpoint?: pulumi.Input; + /** + * The list of custom fields delivered supports extracting specified field values from HTTP request headers, response headers, and cookies. Custom field names cannot be repeated and cannot exceed 200 fields. + */ + customFields?: pulumi.Input[]>; + /** + * The filter condition for log delivery. If it is not filled, all logs will be delivered. + */ + deliveryConditions?: pulumi.Input[]>; + /** + * The status of the real-time log delivery task. The values are: `enabled`: enabled; `disabled`: disabled. Leave it blank to keep the original configuration. Not required when creating. + */ + deliveryStatus?: pulumi.Input; + /** + * List of entities (seven-layer domain names or four-layer proxy instances) corresponding to real-time log delivery tasks. Example values are as follows: Seven-layer domain name: `domain.example.com`; four-layer proxy instance: sid-2s69eb5wcms7. For values, refer to: `https://cloud.tencent.com/document/api/1552/80690`, `https://cloud.tencent.com/document/api/1552/86336`. + */ + entityLists?: pulumi.Input[]>; + /** + * A list of preset fields for delivery. + */ + fields?: pulumi.Input[]>; + /** + * The output format of log delivery. If it is not filled, it means the default format. The default format logic is as follows: when TaskType is `customEndpoint`, the default format is an array of multiple JSON objects, each JSON object is a log; when TaskType is `s3`, the default format is JSON Lines; in particular, when TaskType is `cls`, the value of LogFormat.FormatType can only be json, and other parameters in LogFormat will be ignored. It is recommended not to pass LogFormat. + */ + logFormat?: pulumi.Input; + /** + * Data delivery type, the values are: `domain`: site acceleration log; `application`: four-layer proxy log; `web-rateLiming`: rate limit and CC attack protection log; `web-attack`: managed rule log; `web-rule`: custom rule log; `web-bot`: Bot management log. + */ + logType?: pulumi.Input; + /** + * Configuration information of AWS S3 compatible storage bucket. This parameter is required when TaskType is s3. + */ + s3?: pulumi.Input; + /** + * The sampling ratio is in thousandths, with a value range of 1-1000. For example, filling in 605 means the sampling ratio is 60.5%. Leaving it blank means the sampling ratio is 100%. + */ + sample?: pulumi.Input; + /** + * Real-time log delivery task ID. + */ + taskId?: pulumi.Input; + /** + * The name of the real-time log delivery task. The format is a combination of numbers, English, -, and _. The maximum length is 200 characters. + */ + taskName?: pulumi.Input; + /** + * The real-time log delivery task type. The possible values are: `cls`: push to Tencent Cloud CLS; `customEndpoint`: push to a custom HTTP(S) address; `s3`: push to an AWS S3 compatible storage bucket address. + */ + taskType?: pulumi.Input; + /** + * ID of the site. + */ + zoneId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a RealtimeLogDelivery resource. + */ +export interface RealtimeLogDeliveryArgs { + /** + * Data delivery area, possible values are: `mainland`: within mainland China; `overseas`: worldwide (excluding mainland China). + */ + area: pulumi.Input; + /** + * CLS configuration information. This parameter is required when TaskType is cls. + */ + cls?: pulumi.Input; + /** + * Customize the configuration information of the HTTP service. This parameter is required when TaskType is set to custom_endpoint. + */ + customEndpoint?: pulumi.Input; + /** + * The list of custom fields delivered supports extracting specified field values from HTTP request headers, response headers, and cookies. Custom field names cannot be repeated and cannot exceed 200 fields. + */ + customFields?: pulumi.Input[]>; + /** + * The filter condition for log delivery. If it is not filled, all logs will be delivered. + */ + deliveryConditions?: pulumi.Input[]>; + /** + * The status of the real-time log delivery task. The values are: `enabled`: enabled; `disabled`: disabled. Leave it blank to keep the original configuration. Not required when creating. + */ + deliveryStatus?: pulumi.Input; + /** + * List of entities (seven-layer domain names or four-layer proxy instances) corresponding to real-time log delivery tasks. Example values are as follows: Seven-layer domain name: `domain.example.com`; four-layer proxy instance: sid-2s69eb5wcms7. For values, refer to: `https://cloud.tencent.com/document/api/1552/80690`, `https://cloud.tencent.com/document/api/1552/86336`. + */ + entityLists: pulumi.Input[]>; + /** + * A list of preset fields for delivery. + */ + fields: pulumi.Input[]>; + /** + * The output format of log delivery. If it is not filled, it means the default format. The default format logic is as follows: when TaskType is `customEndpoint`, the default format is an array of multiple JSON objects, each JSON object is a log; when TaskType is `s3`, the default format is JSON Lines; in particular, when TaskType is `cls`, the value of LogFormat.FormatType can only be json, and other parameters in LogFormat will be ignored. It is recommended not to pass LogFormat. + */ + logFormat?: pulumi.Input; + /** + * Data delivery type, the values are: `domain`: site acceleration log; `application`: four-layer proxy log; `web-rateLiming`: rate limit and CC attack protection log; `web-attack`: managed rule log; `web-rule`: custom rule log; `web-bot`: Bot management log. + */ + logType: pulumi.Input; + /** + * Configuration information of AWS S3 compatible storage bucket. This parameter is required when TaskType is s3. + */ + s3?: pulumi.Input; + /** + * The sampling ratio is in thousandths, with a value range of 1-1000. For example, filling in 605 means the sampling ratio is 60.5%. Leaving it blank means the sampling ratio is 100%. + */ + sample: pulumi.Input; + /** + * The name of the real-time log delivery task. The format is a combination of numbers, English, -, and _. The maximum length is 200 characters. + */ + taskName: pulumi.Input; + /** + * The real-time log delivery task type. The possible values are: `cls`: push to Tencent Cloud CLS; `customEndpoint`: push to a custom HTTP(S) address; `s3`: push to an AWS S3 compatible storage bucket address. + */ + taskType: pulumi.Input; + /** + * ID of the site. + */ + zoneId: pulumi.Input; +} diff --git a/sdk/nodejs/trocket/rocketmqInstance.ts b/sdk/nodejs/trocket/rocketmqInstance.ts index 8bdc12f98..d288e1a36 100644 --- a/sdk/nodejs/trocket/rocketmqInstance.ts +++ b/sdk/nodejs/trocket/rocketmqInstance.ts @@ -9,50 +9,70 @@ import * as utilities from "../utilities"; /** * Provides a resource to create a rocketmq 5.x instance * - * > **NOTE:** It only support create postpaid rocketmq 5.x instance. + * > **NOTE:** It only supports create postpaid rocketmq 5.x instance. * * ## Example Usage * - * ### Basic Instance + * ### Create Basic Instance * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * - * const rocketmqInstance = new tencentcloud.trocket.RocketmqInstance("rocketmqInstance", { - * instanceType: "EXPERIMENT", + * // create vpc + * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "10.0.0.0/16"}); + * // create vpc subnet + * const subnet = new tencentcloud.subnet.Instance("subnet", { + * vpcId: vpc.id, + * availabilityZone: "ap-guangzhou-6", + * cidrBlock: "10.0.20.0/28", + * isMulticast: false, + * }); + * // create rocketmq instance + * const example = new tencentcloud.trocket.RocketmqInstance("example", { + * instanceType: "PRO", + * skuCode: "pro_4k", * remark: "remark", - * skuCode: "experiment_500", - * subnetId: "subnet-xxxxxx", + * vpcId: vpc.id, + * subnetId: subnet.id, * tags: { * tag_key: "rocketmq", * tag_value: "5.x", * }, - * vpcId: "vpc-xxxxxx", * }); * ``` * * - * ### Enable Public Instance + * ### Create Enable Public Network Instance * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as tencentcloud from "@tencentcloud_iac/pulumi"; * - * const rocketmqInstancePublic = new tencentcloud.trocket.RocketmqInstance("rocketmqInstancePublic", { - * bandwidth: 1, - * enablePublic: true, - * instanceType: "EXPERIMENT", + * // create vpc + * const vpc = new tencentcloud.vpc.Instance("vpc", {cidrBlock: "10.0.0.0/16"}); + * // create vpc subnet + * const subnet = new tencentcloud.subnet.Instance("subnet", { + * vpcId: vpc.id, + * availabilityZone: "ap-guangzhou-6", + * cidrBlock: "10.0.20.0/28", + * isMulticast: false, + * }); + * // create rocketmq instance + * const example = new tencentcloud.trocket.RocketmqInstance("example", { + * instanceType: "PRO", + * skuCode: "pro_4k", * remark: "remark", - * skuCode: "experiment_500", - * subnetId: "subnet-xxxxxx", + * vpcId: vpc.id, + * subnetId: subnet.id, + * enablePublic: true, + * bandwidth: 10, * tags: { * tag_key: "rocketmq", * tag_value: "5.x", * }, - * vpcId: "vpc-xxxxxx", * }); * ``` * @@ -62,7 +82,7 @@ import * as utilities from "../utilities"; * trocket rocketmq_instance can be imported using the id, e.g. * * ```sh - * $ pulumi import tencentcloud:Trocket/rocketmqInstance:RocketmqInstance rocketmq_instance rocketmq_instance_id + * $ pulumi import tencentcloud:Trocket/rocketmqInstance:RocketmqInstance rocketmq_instance rmq-n5qado7m * ``` */ export class RocketmqInstance extends pulumi.CustomResource { @@ -126,7 +146,7 @@ export class RocketmqInstance extends pulumi.CustomResource { */ public readonly remark!: pulumi.Output; /** - * SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_4k, basic_6k. + * SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_3k, basic_4k, basic_5k, basic_6k, basic_7k, basic_8k, basic_9k, basic_10k, pro_4k, pro_6k, pro_8k, pro_1w, pro_15k, pro_2w, pro_25k, pro_3w, pro_35k, pro_4w, pro_45k, pro_5w, pro_55k, pro_60k, pro_65k, pro_70k, pro_75k, pro_80k, pro_85k, pro_90k, pro_95k, pro_100k, platinum_1w, platinum_2w, platinum_3w, platinum_4w, platinum_5w, platinum_6w, platinum_7w, platinum_8w, platinum_9w, platinum_10w, platinum_12w, platinum_14w, platinum_16w, platinum_18w, platinum_20w, platinum_25w, platinum_30w, platinum_35w, platinum_40w, platinum_45w, platinum_50w, platinum_60w, platinum_70w, platinum_80w, platinum_90w, platinum_100w. */ public readonly skuCode!: pulumi.Output; /** @@ -242,7 +262,7 @@ export interface RocketmqInstanceState { */ remark?: pulumi.Input; /** - * SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_4k, basic_6k. + * SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_3k, basic_4k, basic_5k, basic_6k, basic_7k, basic_8k, basic_9k, basic_10k, pro_4k, pro_6k, pro_8k, pro_1w, pro_15k, pro_2w, pro_25k, pro_3w, pro_35k, pro_4w, pro_45k, pro_5w, pro_55k, pro_60k, pro_65k, pro_70k, pro_75k, pro_80k, pro_85k, pro_90k, pro_95k, pro_100k, platinum_1w, platinum_2w, platinum_3w, platinum_4w, platinum_5w, platinum_6w, platinum_7w, platinum_8w, platinum_9w, platinum_10w, platinum_12w, platinum_14w, platinum_16w, platinum_18w, platinum_20w, platinum_25w, platinum_30w, platinum_35w, platinum_40w, platinum_45w, platinum_50w, platinum_60w, platinum_70w, platinum_80w, platinum_90w, platinum_100w. */ skuCode?: pulumi.Input; /** @@ -296,7 +316,7 @@ export interface RocketmqInstanceArgs { */ remark?: pulumi.Input; /** - * SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_4k, basic_6k. + * SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_3k, basic_4k, basic_5k, basic_6k, basic_7k, basic_8k, basic_9k, basic_10k, pro_4k, pro_6k, pro_8k, pro_1w, pro_15k, pro_2w, pro_25k, pro_3w, pro_35k, pro_4w, pro_45k, pro_5w, pro_55k, pro_60k, pro_65k, pro_70k, pro_75k, pro_80k, pro_85k, pro_90k, pro_95k, pro_100k, platinum_1w, platinum_2w, platinum_3w, platinum_4w, platinum_5w, platinum_6w, platinum_7w, platinum_8w, platinum_9w, platinum_10w, platinum_12w, platinum_14w, platinum_16w, platinum_18w, platinum_20w, platinum_25w, platinum_30w, platinum_35w, platinum_40w, platinum_45w, platinum_50w, platinum_60w, platinum_70w, platinum_80w, platinum_90w, platinum_100w. */ skuCode: pulumi.Input; /** diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index c3f1a7df3..c7a87057b 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -881,9 +881,11 @@ "kubernetes/getClusterCommonNames.ts", "kubernetes/getClusterInstances.ts", "kubernetes/getClusterLevels.ts", + "kubernetes/getClusterNativeNodePools.ts", "kubernetes/getClusterNodePools.ts", "kubernetes/getClusters.ts", "kubernetes/index.ts", + "kubernetes/nativeNodePool.ts", "kubernetes/nodePool.ts", "kubernetes/scaleWorker.ts", "kubernetes/serverlessNodePool.ts", @@ -970,6 +972,8 @@ "mongodb/instanceAccount.ts", "mongodb/instanceBackup.ts", "mongodb/instanceBackupDownloadTask.ts", + "mongodb/instanceBackupRule.ts", + "mongodb/instanceTransparentDataEncryption.ts", "mongodb/shardingInstance.ts", "mongodb/standbyInstance.ts", "monitor/alarmNotice.ts", @@ -1596,6 +1600,7 @@ "teo/l4proxy.ts", "teo/originGroup.ts", "teo/ownershipVerify.ts", + "teo/realtimeLogDelivery.ts", "teo/ruleEngine.ts", "teo/zone.ts", "teo/zoneSetting.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index ce3eae965..766c1c4ab 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -7489,6 +7489,10 @@ export namespace Cls { * search start time of offset. */ startTimeOffset: pulumi.Input; + /** + * Retrieve grammar rules, 0: Lucene syntax, 1: CQL syntax, Default value is 0. + */ + syntaxRule?: pulumi.Input; /** * topic id. */ @@ -14355,7 +14359,7 @@ export namespace Kubernetes { */ hpcClusterId?: pulumi.Input; /** - * The valid image id, format of img-xxx. + * The valid image id, format of img-xxx. Note: `imgId` will be replaced with the image corresponding to TKE `clusterOs`. */ imgId?: pulumi.Input; /** @@ -14415,7 +14419,7 @@ export namespace Kubernetes { */ systemDiskType?: pulumi.Input; /** - * User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB. + * ase64-encoded User Data text, the length limit is 16KB. */ userData?: pulumi.Input; } @@ -14544,7 +14548,7 @@ export namespace Kubernetes { */ hpcClusterId?: pulumi.Input; /** - * The valid image id, format of img-xxx. + * The valid image id, format of img-xxx. Note: `imgId` will be replaced with the image corresponding to TKE `clusterOs`. */ imgId?: pulumi.Input; /** @@ -14604,7 +14608,7 @@ export namespace Kubernetes { */ systemDiskType?: pulumi.Input; /** - * User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB. + * ase64-encoded User Data text, the length limit is 16KB. */ userData?: pulumi.Input; } @@ -14704,6 +14708,28 @@ export namespace Kubernetes { values: pulumi.Input[]>; } + export interface GetClusterNativeNodePoolsFilter { + /** + * The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + */ + name: string; + /** + * Attribute values, if there are multiple values in the same filter, the relationship between values under the same filter is a logical OR relationship. + */ + values: string[]; + } + + export interface GetClusterNativeNodePoolsFilterArgs { + /** + * The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + */ + name: pulumi.Input; + /** + * Attribute values, if there are multiple values in the same filter, the relationship between values under the same filter is a logical OR relationship. + */ + values: pulumi.Input[]>; + } + export interface GetClusterNodePoolsFilter { /** * The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. @@ -14726,6 +14752,265 @@ export namespace Kubernetes { values: pulumi.Input[]>; } + export interface NativeNodePoolAnnotation { + /** + * Name in the map table. + */ + name: pulumi.Input; + /** + * Value in the map table. + */ + value: pulumi.Input; + } + + export interface NativeNodePoolLabel { + /** + * Name in the map table. + */ + name: pulumi.Input; + /** + * Value in map table. + */ + value: pulumi.Input; + } + + export interface NativeNodePoolNative { + /** + * Whether to enable self-healing ability. + */ + autoRepair?: pulumi.Input; + /** + * Native node pool data disk list. + */ + dataDisks?: pulumi.Input[]>; + /** + * Whether to enable elastic scaling. + */ + enableAutoscaling?: pulumi.Input; + /** + * Fault self-healing rule name. + */ + healthCheckPolicyName?: pulumi.Input; + /** + * Native node pool hostName pattern string. + */ + hostNamePattern?: pulumi.Input; + /** + * Billing configuration for yearly and monthly models. + */ + instanceChargePrepaid?: pulumi.Input; + /** + * Node billing type. `PREPAID` is a yearly and monthly subscription, `POSTPAID_BY_HOUR` is a pay-as-you-go plan. The default is `POSTPAID_BY_HOUR`. + */ + instanceChargeType: pulumi.Input; + /** + * Model list. + */ + instanceTypes: pulumi.Input[]>; + /** + * Public network bandwidth settings. + */ + internetAccessible?: pulumi.Input; + /** + * Node pool ssh public key id array. + */ + keyIds?: pulumi.Input[]>; + /** + * Kubelet custom parameters. + */ + kubeletArgs?: pulumi.Input[]>; + /** + * Predefined scripts. + */ + lifecycle?: pulumi.Input; + /** + * Node pool management parameter settings. + */ + management?: pulumi.Input; + /** + * Desired number of nodes. + */ + replicas?: pulumi.Input; + /** + * Runtime root directory. + */ + runtimeRootDir?: pulumi.Input; + /** + * Node pool scaling configuration. + */ + scaling?: pulumi.Input; + /** + * Security group list. + */ + securityGroupIds: pulumi.Input[]>; + /** + * Subnet list. + */ + subnetIds: pulumi.Input[]>; + /** + * System disk configuration. + */ + systemDisk: pulumi.Input; + } + + export interface NativeNodePoolNativeDataDisk { + /** + * Whether to automatically format the disk and mount it. + */ + autoFormatAndMount: pulumi.Input; + /** + * Mount device name or partition name. + */ + diskPartition?: pulumi.Input; + /** + * Cloud disk size (G). + */ + diskSize: pulumi.Input; + /** + * Cloud disk type. Valid values: `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_SSD`: cloud SSD disk, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD, `LOCAL_NVME`: local NVME disk. + */ + diskType: pulumi.Input; + /** + * Pass in this parameter to create an encrypted cloud disk. The value is fixed to `ENCRYPT`. + */ + encrypt?: pulumi.Input; + /** + * File system (ext3/ext4/xfs). + */ + fileSystem?: pulumi.Input; + /** + * Customize the key when purchasing an encrypted disk. When this parameter is passed in, the Encrypt parameter is not empty. + */ + kmsKeyId?: pulumi.Input; + /** + * Mount directory. + */ + mountTarget?: pulumi.Input; + /** + * Snapshot ID. If passed in, the cloud disk will be created based on this snapshot. The snapshot type must be a data disk snapshot. + */ + snapshotId?: pulumi.Input; + /** + * Cloud disk performance, unit: MB/s. Use this parameter to purchase additional performance for the cloud disk. + */ + throughputPerformance?: pulumi.Input; + } + + export interface NativeNodePoolNativeInstanceChargePrepaid { + /** + * Postpaid billing cycle, unit (month): 1, 2, 3, 4, 5,, 6, 7, 8, 9, 10, 11, 12, 24, 36, 48, 60. + */ + period: pulumi.Input; + /** + * Prepaid renewal method: + */ + renewFlag?: pulumi.Input; + } + + export interface NativeNodePoolNativeInternetAccessible { + /** + * Bandwidth package ID. Note: When ChargeType is BANDWIDTH_PACKAG, the value cannot be empty; otherwise, the value must be empty. + */ + bandwidthPackageId?: pulumi.Input; + /** + * Network billing method. Optional value is `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. + */ + chargeType: pulumi.Input; + /** + * Maximum bandwidth output. Note: When chargeType is `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_POSTPAID_BY_HOUR`, the valid range is 1~100. When chargeType is `BANDWIDTH_PACKAG`, the valid range is 1~2000. + */ + maxBandwidthOut: pulumi.Input; + } + + export interface NativeNodePoolNativeLifecycle { + /** + * Custom script after node initialization. + */ + postInit?: pulumi.Input; + /** + * Custom script before node initialization. + */ + preInit?: pulumi.Input; + } + + export interface NativeNodePoolNativeManagement { + /** + * Hosts configuration. + */ + hosts?: pulumi.Input[]>; + /** + * Kernel parameter configuration. + */ + kernelArgs?: pulumi.Input[]>; + /** + * Dns configuration. + */ + nameservers?: pulumi.Input[]>; + } + + export interface NativeNodePoolNativeScaling { + /** + * Node pool expansion strategy. `ZoneEquality`: multiple availability zones are broken up; `ZonePriority`: the preferred availability zone takes precedence. + */ + createPolicy?: pulumi.Input; + /** + * Maximum number of replicas in node pool. + */ + maxReplicas?: pulumi.Input; + /** + * Minimum number of replicas in node pool. + */ + minReplicas?: pulumi.Input; + } + + export interface NativeNodePoolNativeSystemDisk { + /** + * Cloud disk size (G). + */ + diskSize: pulumi.Input; + /** + * Cloud disk type. Valid values: `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_SSD`: cloud SSD disk, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD. + */ + diskType: pulumi.Input; + } + + export interface NativeNodePoolTag { + /** + * The resource type bound to the label. + */ + resourceType?: pulumi.Input; + /** + * Tag pair list. + */ + tags?: pulumi.Input[]>; + } + + export interface NativeNodePoolTagTag { + /** + * Tag Key. + */ + key?: pulumi.Input; + /** + * Tag Value. + */ + value?: pulumi.Input; + } + + export interface NativeNodePoolTaint { + /** + * Effect of the taint. + */ + effect?: pulumi.Input; + /** + * Key of the taint. + */ + key?: pulumi.Input; + /** + * Value of the taint. + */ + value?: pulumi.Input; + } + export interface NodePoolAutoScalingConfig { /** * Backup CVM instance types if specified instance type sold out or mismatch. @@ -15732,6 +16017,33 @@ export namespace Mongodb { */ standbyInstanceRegion?: pulumi.Input; } + + export interface InstanceTransparentDataEncryptionKeyInfoList { + /** + * Instance and key binding time. + */ + createTime?: pulumi.Input; + /** + * Master Key ID. + */ + keyId?: pulumi.Input; + /** + * Master key name. + */ + keyName?: pulumi.Input; + /** + * Key origin. + */ + keyOrigin?: pulumi.Input; + /** + * Purpose of the key. + */ + keyUsage?: pulumi.Input; + /** + * Key status. + */ + status?: pulumi.Input; + } } export namespace Monitor { @@ -28026,11 +28338,162 @@ export namespace Teo { instanceType?: pulumi.Input; } + export interface RealtimeLogDeliveryCls { + /** + * Tencent Cloud CLS log set ID. + */ + logSetId: pulumi.Input; + /** + * The region where the Tencent Cloud CLS log set is located. + */ + logSetRegion: pulumi.Input; + /** + * Tencent Cloud CLS log topic ID. + */ + topicId: pulumi.Input; + } + + export interface RealtimeLogDeliveryCustomEndpoint { + /** + * Fill in a custom SecretId to generate an encrypted signature. This parameter is required if the source site requires authentication. + */ + accessId?: pulumi.Input; + /** + * Fill in the custom SecretKey to generate the encrypted signature. This parameter is required if the source site requires authentication. + */ + accessKey?: pulumi.Input; + /** + * Data compression type, the possible values are: `gzip`: use gzip compression. If it is not filled in, compression is not enabled. + */ + compressType?: pulumi.Input; + /** + * The custom request header carried when delivering logs. If the header name you fill in is the default header carried by EdgeOne log push, such as Content-Type, then the header value you fill in will overwrite the default value. The header value references a single variable ${batchSize} to obtain the number of logs included in each POST request. + */ + headers?: pulumi.Input[]>; + /** + * When sending logs via POST request, the application layer protocol type used can be: `http`: HTTP protocol; `https`: HTTPS protocol. If not filled in, the protocol type will be parsed according to the filled in URL address. + */ + protocol?: pulumi.Input; + /** + * The custom HTTP interface address for real-time log delivery. Currently, only HTTP/HTTPS protocols are supported. + */ + url: pulumi.Input; + } + + export interface RealtimeLogDeliveryCustomEndpointHeader { + /** + * HTTP header name. + */ + name: pulumi.Input; + /** + * HTTP header value. + */ + value: pulumi.Input; + } + + export interface RealtimeLogDeliveryCustomField { + /** + * Whether to deliver this field. If left blank, this field will not be delivered. + */ + enabled?: pulumi.Input; + /** + * Extract data from the specified location in the HTTP request and response. The values are: `ReqHeader`: extract the specified field value from the HTTP request header; `RspHeader`: extract the specified field value from the HTTP response header; `Cookie`: extract the specified field value from the Cookie. + */ + name: pulumi.Input; + /** + * The name of the parameter whose value needs to be extracted, for example: Accept-Language. + */ + value: pulumi.Input; + } + + export interface RealtimeLogDeliveryDeliveryCondition { + /** + * Log filtering conditions, the detailed filtering conditions are as follows: - `EdgeResponseStatusCode`: filter according to the status code returned by the EdgeOne node to the client. Supported operators: `equal`, `great`, `less`, `greatEqual`, `lessEqual`; Value range: any integer greater than or equal to 0; - `OriginResponseStatusCode`: filter according to the origin response status code. Supported operators: `equal`, `great`, `less`, `greatEqual`, `lessEqual`; Value range: any integer greater than or equal to -1; - `SecurityAction`: filter according to the final disposal action after the request hits the security rule. Supported operators: `equal`; Optional options are as follows: `-`: unknown/miss; `Monitor`: observe; `JSChallenge`: JavaScript challenge; `Deny`: intercept; `Allow`: allow; `BlockIP`: IP ban; `Redirect`: redirect; `ReturnCustomPage`: return to a custom page; `ManagedChallenge`: managed challenge; `Silence`: silent; `LongDelay`: respond after a long wait; `ShortDelay`: respond after a short wait; -`SecurityModule`: filter according to the name of the security module that finally handles the request. Supported operators: `equal`; Optional options: `-`: unknown/missed; `CustomRule`: Web Protection - Custom Rules; `RateLimitingCustomRule`: Web Protection - Rate Limiting Rules; `ManagedRule`: Web Protection - Managed Rules; `L7DDoS`: Web Protection - CC Attack Protection; `BotManagement`: Bot Management - Bot Basic Management; `BotClientReputation`: Bot Management - Client Profile Analysis; `BotBehaviorAnalysis`: Bot Management - Bot Intelligent Analysis; `BotCustomRule`: Bot Management - Custom Bot Rules; `BotActiveDetection`: Bot Management - Active Feature Recognition. + */ + conditions?: pulumi.Input[]>; + } + + export interface RealtimeLogDeliveryDeliveryConditionCondition { + /** + * The key of the filter condition. + */ + key: pulumi.Input; + /** + * Query condition operator, operation types are: `equals`: equal; `notEquals`: not equal; `include`: include; `notInclude`: not include; `startWith`: start with value; `notStartWith`: not start with value; `endWith`: end with value; `notEndWith`: not end with value. + */ + operator: pulumi.Input; + /** + * The value of the filter condition. + */ + values: pulumi.Input[]>; + } + + export interface RealtimeLogDeliveryLogFormat { + /** + * A string to be added before each log delivery batch. Each log delivery batch may contain multiple log records. + */ + batchPrefix?: pulumi.Input; + /** + * A string to append after each log delivery batch. + */ + batchSuffix?: pulumi.Input; + /** + * In a single log record, a string is inserted between fields as a separator. The possible values are: ` `: tab character; `,`: comma; `;`: semicolon. + */ + fieldDelimiter?: pulumi.Input; + /** + * The default output format type for log delivery. The possible values are: `json`: Use the default log output format JSON Lines. The fields in a single log are presented as key-value pairs; `csv`: Use the default log output format csv. Only field values are presented in a single log, without field names. + */ + formatType: pulumi.Input; + /** + * The string inserted between log records as a separator. The possible values are: ` + * `: newline character; ` `: tab character; `,`: comma. + */ + recordDelimiter?: pulumi.Input; + /** + * A string to prepend to each log record. + */ + recordPrefix?: pulumi.Input; + /** + * A string to append to each log record. + * + * The `s3` object supports the following: + */ + recordSuffix?: pulumi.Input; + } + + export interface RealtimeLogDeliveryS3 { + /** + * Fill in a custom SecretId to generate an encrypted signature. This parameter is required if the source site requires authentication. + */ + accessId: pulumi.Input; + /** + * Fill in the custom SecretKey to generate the encrypted signature. This parameter is required if the source site requires authentication. + */ + accessKey: pulumi.Input; + /** + * Bucket name and log storage directory, for example: `your_bucket_name/EO-logs/`. If this directory does not exist in the bucket, it will be created automatically. + */ + bucket: pulumi.Input; + /** + * Data compression type, the possible values are: `gzip`: use gzip compression. If it is not filled in, compression is not enabled. + */ + compressType?: pulumi.Input; + /** + * URLs that do not include bucket names or paths, for example: `https://storage.googleapis.com`, `https://s3.ap-northeast-2.amazonaws.com`, `https://cos.ap-nanjing.myqcloud.com`. + */ + endpoint: pulumi.Input; + /** + * The region where the bucket is located, for example: ap-northeast-2. + */ + region: pulumi.Input; + } + export interface RuleEngineRule { /** * Feature to be executed. */ - actions: pulumi.Input[]>; + actions?: pulumi.Input[]>; /** * OR Conditions list of the rule. Rule would be triggered if any of the condition is true. */ @@ -28187,7 +28650,7 @@ export namespace Teo { /** * Feature to be executed. */ - actions: pulumi.Input[]>; + actions?: pulumi.Input[]>; /** * OR Conditions list of the rule. Rule would be triggered if any of the condition is true. */ diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index a7c33dae4..824526e3a 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -16989,6 +16989,10 @@ export namespace Cls { * search start time of offset. */ startTimeOffset: number; + /** + * Retrieve grammar rules, 0: Lucene syntax, 1: CQL syntax, Default value is 0. + */ + syntaxRule: number; /** * topic id. */ @@ -35871,7 +35875,7 @@ export namespace Kubernetes { */ hpcClusterId?: string; /** - * The valid image id, format of img-xxx. + * The valid image id, format of img-xxx. Note: `imgId` will be replaced with the image corresponding to TKE `clusterOs`. */ imgId?: string; /** @@ -35931,7 +35935,7 @@ export namespace Kubernetes { */ systemDiskType?: string; /** - * User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB. + * ase64-encoded User Data text, the length limit is 16KB. */ userData?: string; } @@ -36060,7 +36064,7 @@ export namespace Kubernetes { */ hpcClusterId?: string; /** - * The valid image id, format of img-xxx. + * The valid image id, format of img-xxx. Note: `imgId` will be replaced with the image corresponding to TKE `clusterOs`. */ imgId?: string; /** @@ -36120,7 +36124,7 @@ export namespace Kubernetes { */ systemDiskType?: string; /** - * User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB. + * ase64-encoded User Data text, the length limit is 16KB. */ userData?: string; } @@ -36536,6 +36540,331 @@ export namespace Kubernetes { podCount: number; } + export interface GetClusterNativeNodePoolsFilter { + /** + * The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + */ + name: string; + /** + * Attribute values, if there are multiple values in the same filter, the relationship between values under the same filter is a logical OR relationship. + */ + values: string[]; + } + + export interface GetClusterNativeNodePoolsNodePool { + /** + * Node Annotation List. + */ + annotations: outputs.Kubernetes.GetClusterNativeNodePoolsNodePoolAnnotation[]; + /** + * ID of the cluster. + */ + clusterId: string; + /** + * Creation time. + */ + createdAt: string; + /** + * Whether to enable deletion protection. + */ + deletionProtection: boolean; + /** + * Node Labels. + */ + labels: outputs.Kubernetes.GetClusterNativeNodePoolsNodePoolLabel[]; + /** + * Node pool status. + */ + lifeState: string; + /** + * The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + */ + name: string; + /** + * Native node pool creation parameters. + */ + natives: outputs.Kubernetes.GetClusterNativeNodePoolsNodePoolNative[]; + /** + * ID of the node pool. + */ + nodePoolId: string; + /** + * Tag pair list. + */ + tags: outputs.Kubernetes.GetClusterNativeNodePoolsNodePoolTag[]; + /** + * node taint. + */ + taints: outputs.Kubernetes.GetClusterNativeNodePoolsNodePoolTaint[]; + /** + * Node pool type. Optional value is `Native`. + */ + type: string; + /** + * Whether the node is not schedulable by default. + */ + unschedulable: boolean; + } + + export interface GetClusterNativeNodePoolsNodePoolAnnotation { + /** + * The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + */ + name: string; + /** + * Value of the taint. + */ + value: string; + } + + export interface GetClusterNativeNodePoolsNodePoolLabel { + /** + * The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + */ + name: string; + /** + * Value of the taint. + */ + value: string; + } + + export interface GetClusterNativeNodePoolsNodePoolNative { + /** + * Whether to enable self-healing ability. + */ + autoRepair: boolean; + /** + * Native node pool data disk list. + */ + dataDisks: outputs.Kubernetes.GetClusterNativeNodePoolsNodePoolNativeDataDisk[]; + /** + * Whether to enable elastic scaling. + */ + enableAutoscaling: boolean; + /** + * Fault self-healing rule name. + */ + healthCheckPolicyName: string; + /** + * Native node pool hostName pattern string. + */ + hostNamePattern: string; + /** + * Billing configuration for yearly and monthly models. + */ + instanceChargePrepaids: outputs.Kubernetes.GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaid[]; + /** + * Node billing type. `PREPAID` is a yearly and monthly subscription, `POSTPAID_BY_HOUR` is a pay-as-you-go plan. The default is `POSTPAID_BY_HOUR`. + */ + instanceChargeType: string; + /** + * Model list. + */ + instanceTypes: string[]; + /** + * Public network bandwidth settings. + */ + internetAccessibles: outputs.Kubernetes.GetClusterNativeNodePoolsNodePoolNativeInternetAccessible[]; + /** + * Node pool ssh public key id array. + */ + keyIds: string[]; + /** + * Kubelet custom parameters. + */ + kubeletArgs: string[]; + /** + * Predefined scripts. + */ + lifecycles: outputs.Kubernetes.GetClusterNativeNodePoolsNodePoolNativeLifecycle[]; + /** + * Node pool management parameter settings. + */ + managements: outputs.Kubernetes.GetClusterNativeNodePoolsNodePoolNativeManagement[]; + /** + * Desired number of nodes. + */ + replicas: number; + /** + * Runtime root directory. + */ + runtimeRootDir: string; + /** + * Node pool scaling configuration. + */ + scalings: outputs.Kubernetes.GetClusterNativeNodePoolsNodePoolNativeScaling[]; + /** + * Security group list. + */ + securityGroupIds: string[]; + /** + * Subnet list. + */ + subnetIds: string[]; + /** + * System disk configuration. + */ + systemDisks: outputs.Kubernetes.GetClusterNativeNodePoolsNodePoolNativeSystemDisk[]; + } + + export interface GetClusterNativeNodePoolsNodePoolNativeDataDisk { + /** + * Whether to automatically format the disk and mount it. + */ + autoFormatAndMount: boolean; + /** + * Mount device name or partition name. + */ + diskPartition: string; + /** + * Cloud disk size (G). + */ + diskSize: number; + /** + * Cloud disk type. + */ + diskType: string; + /** + * Pass in this parameter to create an encrypted cloud disk. The value is fixed to `ENCRYPT`. + */ + encrypt: string; + /** + * File system (ext3/ext4/xfs). + */ + fileSystem: string; + /** + * Customize the key when purchasing an encrypted disk. When this parameter is passed in, the Encrypt parameter is not empty. + */ + kmsKeyId: string; + /** + * Mount directory. + */ + mountTarget: string; + /** + * Snapshot ID. If passed in, the cloud disk will be created based on this snapshot. The snapshot type must be a data disk snapshot. + */ + snapshotId: string; + /** + * Cloud disk performance, unit: MB/s. Use this parameter to purchase additional performance for the cloud disk. + */ + throughputPerformance: number; + } + + export interface GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaid { + /** + * Postpaid billing cycle, unit (month): 1, 2, 3, 4, 5,, 6, 7, 8, 9, 10, 11, 12, 24, 36, 48, 60. + */ + period: number; + /** + * Prepaid renewal method: + */ + renewFlag: string; + } + + export interface GetClusterNativeNodePoolsNodePoolNativeInternetAccessible { + /** + * Bandwidth package ID. Note: When ChargeType is BANDWIDTH_PACKAG, the value cannot be empty; otherwise, the value must be empty. + */ + bandwidthPackageId: string; + /** + * Network billing method. Optional value is `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. + */ + chargeType: string; + /** + * Maximum bandwidth output. Note: When chargeType is `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_POSTPAID_BY_HOUR`, the valid range is 1~100. When chargeType is `BANDWIDTH_PACKAG`, the valid range is 1~2000. + */ + maxBandwidthOut: number; + } + + export interface GetClusterNativeNodePoolsNodePoolNativeLifecycle { + /** + * Custom script after node initialization. + */ + postInit: string; + /** + * Custom script before node initialization. + */ + preInit: string; + } + + export interface GetClusterNativeNodePoolsNodePoolNativeManagement { + /** + * Hosts configuration. + */ + hosts: string[]; + /** + * Kernel parameter configuration. + */ + kernelArgs: string[]; + /** + * Dns configuration. + */ + nameservers: string[]; + } + + export interface GetClusterNativeNodePoolsNodePoolNativeScaling { + /** + * Node pool expansion strategy. `ZoneEquality`: multiple availability zones are broken up; `ZonePriority`: the preferred availability zone takes precedence. + */ + createPolicy: string; + /** + * Maximum number of replicas in node pool. + */ + maxReplicas: number; + /** + * Minimum number of replicas in node pool. + */ + minReplicas: number; + } + + export interface GetClusterNativeNodePoolsNodePoolNativeSystemDisk { + /** + * Cloud disk size (G). + */ + diskSize: number; + /** + * Cloud disk type. + */ + diskType: string; + } + + export interface GetClusterNativeNodePoolsNodePoolTag { + /** + * The resource type bound to the label. + */ + resourceType: string; + /** + * Tag pair list. + */ + tags: outputs.Kubernetes.GetClusterNativeNodePoolsNodePoolTagTag[]; + } + + export interface GetClusterNativeNodePoolsNodePoolTagTag { + /** + * Key of the taint. + */ + key: string; + /** + * Value of the taint. + */ + value: string; + } + + export interface GetClusterNativeNodePoolsNodePoolTaint { + /** + * Effect of the taint. + */ + effect: string; + /** + * Key of the taint. + */ + key: string; + /** + * Value of the taint. + */ + value: string; + } + export interface GetClusterNodePoolsFilter { /** * The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. @@ -37036,6 +37365,265 @@ export namespace Kubernetes { lanIp: string; } + export interface NativeNodePoolAnnotation { + /** + * Name in the map table. + */ + name: string; + /** + * Value in the map table. + */ + value: string; + } + + export interface NativeNodePoolLabel { + /** + * Name in the map table. + */ + name: string; + /** + * Value in map table. + */ + value: string; + } + + export interface NativeNodePoolNative { + /** + * Whether to enable self-healing ability. + */ + autoRepair?: boolean; + /** + * Native node pool data disk list. + */ + dataDisks?: outputs.Kubernetes.NativeNodePoolNativeDataDisk[]; + /** + * Whether to enable elastic scaling. + */ + enableAutoscaling?: boolean; + /** + * Fault self-healing rule name. + */ + healthCheckPolicyName?: string; + /** + * Native node pool hostName pattern string. + */ + hostNamePattern?: string; + /** + * Billing configuration for yearly and monthly models. + */ + instanceChargePrepaid: outputs.Kubernetes.NativeNodePoolNativeInstanceChargePrepaid; + /** + * Node billing type. `PREPAID` is a yearly and monthly subscription, `POSTPAID_BY_HOUR` is a pay-as-you-go plan. The default is `POSTPAID_BY_HOUR`. + */ + instanceChargeType: string; + /** + * Model list. + */ + instanceTypes: string[]; + /** + * Public network bandwidth settings. + */ + internetAccessible: outputs.Kubernetes.NativeNodePoolNativeInternetAccessible; + /** + * Node pool ssh public key id array. + */ + keyIds?: string[]; + /** + * Kubelet custom parameters. + */ + kubeletArgs?: string[]; + /** + * Predefined scripts. + */ + lifecycle: outputs.Kubernetes.NativeNodePoolNativeLifecycle; + /** + * Node pool management parameter settings. + */ + management: outputs.Kubernetes.NativeNodePoolNativeManagement; + /** + * Desired number of nodes. + */ + replicas: number; + /** + * Runtime root directory. + */ + runtimeRootDir: string; + /** + * Node pool scaling configuration. + */ + scaling: outputs.Kubernetes.NativeNodePoolNativeScaling; + /** + * Security group list. + */ + securityGroupIds: string[]; + /** + * Subnet list. + */ + subnetIds: string[]; + /** + * System disk configuration. + */ + systemDisk: outputs.Kubernetes.NativeNodePoolNativeSystemDisk; + } + + export interface NativeNodePoolNativeDataDisk { + /** + * Whether to automatically format the disk and mount it. + */ + autoFormatAndMount: boolean; + /** + * Mount device name or partition name. + */ + diskPartition?: string; + /** + * Cloud disk size (G). + */ + diskSize: number; + /** + * Cloud disk type. Valid values: `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_SSD`: cloud SSD disk, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD, `LOCAL_NVME`: local NVME disk. + */ + diskType: string; + /** + * Pass in this parameter to create an encrypted cloud disk. The value is fixed to `ENCRYPT`. + */ + encrypt?: string; + /** + * File system (ext3/ext4/xfs). + */ + fileSystem?: string; + /** + * Customize the key when purchasing an encrypted disk. When this parameter is passed in, the Encrypt parameter is not empty. + */ + kmsKeyId?: string; + /** + * Mount directory. + */ + mountTarget?: string; + /** + * Snapshot ID. If passed in, the cloud disk will be created based on this snapshot. The snapshot type must be a data disk snapshot. + */ + snapshotId?: string; + /** + * Cloud disk performance, unit: MB/s. Use this parameter to purchase additional performance for the cloud disk. + */ + throughputPerformance?: number; + } + + export interface NativeNodePoolNativeInstanceChargePrepaid { + /** + * Postpaid billing cycle, unit (month): 1, 2, 3, 4, 5,, 6, 7, 8, 9, 10, 11, 12, 24, 36, 48, 60. + */ + period: number; + /** + * Prepaid renewal method: + */ + renewFlag?: string; + } + + export interface NativeNodePoolNativeInternetAccessible { + /** + * Bandwidth package ID. Note: When ChargeType is BANDWIDTH_PACKAG, the value cannot be empty; otherwise, the value must be empty. + */ + bandwidthPackageId?: string; + /** + * Network billing method. Optional value is `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. + */ + chargeType: string; + /** + * Maximum bandwidth output. Note: When chargeType is `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_POSTPAID_BY_HOUR`, the valid range is 1~100. When chargeType is `BANDWIDTH_PACKAG`, the valid range is 1~2000. + */ + maxBandwidthOut: number; + } + + export interface NativeNodePoolNativeLifecycle { + /** + * Custom script after node initialization. + */ + postInit?: string; + /** + * Custom script before node initialization. + */ + preInit?: string; + } + + export interface NativeNodePoolNativeManagement { + /** + * Hosts configuration. + */ + hosts?: string[]; + /** + * Kernel parameter configuration. + */ + kernelArgs?: string[]; + /** + * Dns configuration. + */ + nameservers: string[]; + } + + export interface NativeNodePoolNativeScaling { + /** + * Node pool expansion strategy. `ZoneEquality`: multiple availability zones are broken up; `ZonePriority`: the preferred availability zone takes precedence. + */ + createPolicy: string; + /** + * Maximum number of replicas in node pool. + */ + maxReplicas: number; + /** + * Minimum number of replicas in node pool. + */ + minReplicas: number; + } + + export interface NativeNodePoolNativeSystemDisk { + /** + * Cloud disk size (G). + */ + diskSize: number; + /** + * Cloud disk type. Valid values: `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_SSD`: cloud SSD disk, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD. + */ + diskType: string; + } + + export interface NativeNodePoolTag { + /** + * The resource type bound to the label. + */ + resourceType?: string; + /** + * Tag pair list. + */ + tags?: outputs.Kubernetes.NativeNodePoolTagTag[]; + } + + export interface NativeNodePoolTagTag { + /** + * Tag Key. + */ + key?: string; + /** + * Tag Value. + */ + value?: string; + } + + export interface NativeNodePoolTaint { + /** + * Effect of the taint. + */ + effect?: string; + /** + * Key of the taint. + */ + key?: string; + /** + * Value of the taint. + */ + value?: string; + } + export interface NodePoolAutoScalingConfig { /** * Backup CVM instance types if specified instance type sold out or mismatch. @@ -39784,6 +40372,33 @@ export namespace Mongodb { standbyInstanceRegion: string; } + export interface InstanceTransparentDataEncryptionKeyInfoList { + /** + * Instance and key binding time. + */ + createTime: string; + /** + * Master Key ID. + */ + keyId: string; + /** + * Master key name. + */ + keyName: string; + /** + * Key origin. + */ + keyOrigin: string; + /** + * Purpose of the key. + */ + keyUsage: string; + /** + * Key status. + */ + status: string; + } + } export namespace Monitor { @@ -66258,11 +66873,162 @@ export namespace Teo { instanceType: string; } + export interface RealtimeLogDeliveryCls { + /** + * Tencent Cloud CLS log set ID. + */ + logSetId: string; + /** + * The region where the Tencent Cloud CLS log set is located. + */ + logSetRegion: string; + /** + * Tencent Cloud CLS log topic ID. + */ + topicId: string; + } + + export interface RealtimeLogDeliveryCustomEndpoint { + /** + * Fill in a custom SecretId to generate an encrypted signature. This parameter is required if the source site requires authentication. + */ + accessId?: string; + /** + * Fill in the custom SecretKey to generate the encrypted signature. This parameter is required if the source site requires authentication. + */ + accessKey?: string; + /** + * Data compression type, the possible values are: `gzip`: use gzip compression. If it is not filled in, compression is not enabled. + */ + compressType?: string; + /** + * The custom request header carried when delivering logs. If the header name you fill in is the default header carried by EdgeOne log push, such as Content-Type, then the header value you fill in will overwrite the default value. The header value references a single variable ${batchSize} to obtain the number of logs included in each POST request. + */ + headers?: outputs.Teo.RealtimeLogDeliveryCustomEndpointHeader[]; + /** + * When sending logs via POST request, the application layer protocol type used can be: `http`: HTTP protocol; `https`: HTTPS protocol. If not filled in, the protocol type will be parsed according to the filled in URL address. + */ + protocol?: string; + /** + * The custom HTTP interface address for real-time log delivery. Currently, only HTTP/HTTPS protocols are supported. + */ + url: string; + } + + export interface RealtimeLogDeliveryCustomEndpointHeader { + /** + * HTTP header name. + */ + name: string; + /** + * HTTP header value. + */ + value: string; + } + + export interface RealtimeLogDeliveryCustomField { + /** + * Whether to deliver this field. If left blank, this field will not be delivered. + */ + enabled?: boolean; + /** + * Extract data from the specified location in the HTTP request and response. The values are: `ReqHeader`: extract the specified field value from the HTTP request header; `RspHeader`: extract the specified field value from the HTTP response header; `Cookie`: extract the specified field value from the Cookie. + */ + name: string; + /** + * The name of the parameter whose value needs to be extracted, for example: Accept-Language. + */ + value: string; + } + + export interface RealtimeLogDeliveryDeliveryCondition { + /** + * Log filtering conditions, the detailed filtering conditions are as follows: - `EdgeResponseStatusCode`: filter according to the status code returned by the EdgeOne node to the client. Supported operators: `equal`, `great`, `less`, `greatEqual`, `lessEqual`; Value range: any integer greater than or equal to 0; - `OriginResponseStatusCode`: filter according to the origin response status code. Supported operators: `equal`, `great`, `less`, `greatEqual`, `lessEqual`; Value range: any integer greater than or equal to -1; - `SecurityAction`: filter according to the final disposal action after the request hits the security rule. Supported operators: `equal`; Optional options are as follows: `-`: unknown/miss; `Monitor`: observe; `JSChallenge`: JavaScript challenge; `Deny`: intercept; `Allow`: allow; `BlockIP`: IP ban; `Redirect`: redirect; `ReturnCustomPage`: return to a custom page; `ManagedChallenge`: managed challenge; `Silence`: silent; `LongDelay`: respond after a long wait; `ShortDelay`: respond after a short wait; -`SecurityModule`: filter according to the name of the security module that finally handles the request. Supported operators: `equal`; Optional options: `-`: unknown/missed; `CustomRule`: Web Protection - Custom Rules; `RateLimitingCustomRule`: Web Protection - Rate Limiting Rules; `ManagedRule`: Web Protection - Managed Rules; `L7DDoS`: Web Protection - CC Attack Protection; `BotManagement`: Bot Management - Bot Basic Management; `BotClientReputation`: Bot Management - Client Profile Analysis; `BotBehaviorAnalysis`: Bot Management - Bot Intelligent Analysis; `BotCustomRule`: Bot Management - Custom Bot Rules; `BotActiveDetection`: Bot Management - Active Feature Recognition. + */ + conditions?: outputs.Teo.RealtimeLogDeliveryDeliveryConditionCondition[]; + } + + export interface RealtimeLogDeliveryDeliveryConditionCondition { + /** + * The key of the filter condition. + */ + key: string; + /** + * Query condition operator, operation types are: `equals`: equal; `notEquals`: not equal; `include`: include; `notInclude`: not include; `startWith`: start with value; `notStartWith`: not start with value; `endWith`: end with value; `notEndWith`: not end with value. + */ + operator: string; + /** + * The value of the filter condition. + */ + values: string[]; + } + + export interface RealtimeLogDeliveryLogFormat { + /** + * A string to be added before each log delivery batch. Each log delivery batch may contain multiple log records. + */ + batchPrefix?: string; + /** + * A string to append after each log delivery batch. + */ + batchSuffix?: string; + /** + * In a single log record, a string is inserted between fields as a separator. The possible values are: ` `: tab character; `,`: comma; `;`: semicolon. + */ + fieldDelimiter?: string; + /** + * The default output format type for log delivery. The possible values are: `json`: Use the default log output format JSON Lines. The fields in a single log are presented as key-value pairs; `csv`: Use the default log output format csv. Only field values are presented in a single log, without field names. + */ + formatType: string; + /** + * The string inserted between log records as a separator. The possible values are: ` + * `: newline character; ` `: tab character; `,`: comma. + */ + recordDelimiter?: string; + /** + * A string to prepend to each log record. + */ + recordPrefix?: string; + /** + * A string to append to each log record. + * + * The `s3` object supports the following: + */ + recordSuffix?: string; + } + + export interface RealtimeLogDeliveryS3 { + /** + * Fill in a custom SecretId to generate an encrypted signature. This parameter is required if the source site requires authentication. + */ + accessId: string; + /** + * Fill in the custom SecretKey to generate the encrypted signature. This parameter is required if the source site requires authentication. + */ + accessKey: string; + /** + * Bucket name and log storage directory, for example: `your_bucket_name/EO-logs/`. If this directory does not exist in the bucket, it will be created automatically. + */ + bucket: string; + /** + * Data compression type, the possible values are: `gzip`: use gzip compression. If it is not filled in, compression is not enabled. + */ + compressType?: string; + /** + * URLs that do not include bucket names or paths, for example: `https://storage.googleapis.com`, `https://s3.ap-northeast-2.amazonaws.com`, `https://cos.ap-nanjing.myqcloud.com`. + */ + endpoint: string; + /** + * The region where the bucket is located, for example: ap-northeast-2. + */ + region: string; + } + export interface RuleEngineRule { /** * Feature to be executed. */ - actions: outputs.Teo.RuleEngineRuleAction[]; + actions?: outputs.Teo.RuleEngineRuleAction[]; /** * OR Conditions list of the rule. Rule would be triggered if any of the condition is true. */ @@ -66419,7 +67185,7 @@ export namespace Teo { /** * Feature to be executed. */ - actions: outputs.Teo.RuleEngineRuleSubRuleRuleAction[]; + actions?: outputs.Teo.RuleEngineRuleSubRuleRuleAction[]; /** * OR Conditions list of the rule. Rule would be triggered if any of the condition is true. */ diff --git a/sdk/python/tencentcloud_iac_pulumi/__init__.py b/sdk/python/tencentcloud_iac_pulumi/__init__.py index 4baf358dd..211f7d5d1 100644 --- a/sdk/python/tencentcloud_iac_pulumi/__init__.py +++ b/sdk/python/tencentcloud_iac_pulumi/__init__.py @@ -4009,6 +4009,14 @@ "tencentcloud:Kubernetes/encryptionProtection:EncryptionProtection": "EncryptionProtection" } }, + { + "pkg": "tencentcloud", + "mod": "Kubernetes/nativeNodePool", + "fqn": "tencentcloud_iac_pulumi.kubernetes", + "classes": { + "tencentcloud:Kubernetes/nativeNodePool:NativeNodePool": "NativeNodePool" + } + }, { "pkg": "tencentcloud", "mod": "Kubernetes/nodePool", @@ -4345,6 +4353,22 @@ "tencentcloud:Mongodb/instanceBackupDownloadTask:InstanceBackupDownloadTask": "InstanceBackupDownloadTask" } }, + { + "pkg": "tencentcloud", + "mod": "Mongodb/instanceBackupRule", + "fqn": "tencentcloud_iac_pulumi.mongodb", + "classes": { + "tencentcloud:Mongodb/instanceBackupRule:InstanceBackupRule": "InstanceBackupRule" + } + }, + { + "pkg": "tencentcloud", + "mod": "Mongodb/instanceTransparentDataEncryption", + "fqn": "tencentcloud_iac_pulumi.mongodb", + "classes": { + "tencentcloud:Mongodb/instanceTransparentDataEncryption:InstanceTransparentDataEncryption": "InstanceTransparentDataEncryption" + } + }, { "pkg": "tencentcloud", "mod": "Mongodb/shardingInstance", @@ -7097,6 +7121,14 @@ "tencentcloud:Teo/ownershipVerify:OwnershipVerify": "OwnershipVerify" } }, + { + "pkg": "tencentcloud", + "mod": "Teo/realtimeLogDelivery", + "fqn": "tencentcloud_iac_pulumi.teo", + "classes": { + "tencentcloud:Teo/realtimeLogDelivery:RealtimeLogDelivery": "RealtimeLogDelivery" + } + }, { "pkg": "tencentcloud", "mod": "Teo/ruleEngine", diff --git a/sdk/python/tencentcloud_iac_pulumi/clb/instance.py b/sdk/python/tencentcloud_iac_pulumi/clb/instance.py index 566fa044f..a31e849f1 100644 --- a/sdk/python/tencentcloud_iac_pulumi/clb/instance.py +++ b/sdk/python/tencentcloud_iac_pulumi/clb/instance.py @@ -439,6 +439,7 @@ def zone_id(self, value: Optional[pulumi.Input[str]]): class _InstanceState: def __init__(__self__, *, address_ip_version: Optional[pulumi.Input[str]] = None, + address_ipv6: Optional[pulumi.Input[str]] = None, bandwidth_package_id: Optional[pulumi.Input[str]] = None, clb_name: Optional[pulumi.Input[str]] = None, clb_vips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -447,6 +448,7 @@ def __init__(__self__, *, dynamic_vip: Optional[pulumi.Input[bool]] = None, internet_bandwidth_max_out: Optional[pulumi.Input[int]] = None, internet_charge_type: Optional[pulumi.Input[str]] = None, + ipv6_mode: Optional[pulumi.Input[str]] = None, load_balancer_pass_to_target: Optional[pulumi.Input[bool]] = None, log_set_id: Optional[pulumi.Input[str]] = None, log_topic_id: Optional[pulumi.Input[str]] = None, @@ -469,6 +471,7 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering Instance resources. :param pulumi.Input[str] address_ip_version: IP version, only applicable to open CLB. Valid values are `ipv4`, `ipv6` and `IPv6FullChain`. + :param pulumi.Input[str] address_ipv6: The IPv6 address of the load balancing instance. :param pulumi.Input[str] bandwidth_package_id: Bandwidth package id. If set, the `internet_charge_type` must be `BANDWIDTH_PACKAGE`. :param pulumi.Input[str] clb_name: Name of the CLB. The name can only contain Chinese characters, English letters, numbers, underscore and hyphen '-'. :param pulumi.Input[Sequence[pulumi.Input[str]]] clb_vips: The virtual service address table of the CLB. @@ -477,6 +480,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] dynamic_vip: If create dynamic vip CLB instance, `true` or `false`. :param pulumi.Input[int] internet_bandwidth_max_out: Max bandwidth out, only applicable to open CLB. Valid value ranges is [1, 2048]. Unit is MB. :param pulumi.Input[str] internet_charge_type: Internet charge type, only applicable to open CLB. Valid values are `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. + :param pulumi.Input[str] ipv6_mode: This field is meaningful when the IP address version is ipv6, `IPv6Nat64` | `IPv6FullChain`. :param pulumi.Input[bool] load_balancer_pass_to_target: Whether the target allow flow come from clb. If value is true, only check security group of clb, or check both clb and backend instance security group. :param pulumi.Input[str] log_set_id: The id of log set. :param pulumi.Input[str] log_topic_id: The id of log topic. @@ -499,6 +503,8 @@ def __init__(__self__, *, """ if address_ip_version is not None: pulumi.set(__self__, "address_ip_version", address_ip_version) + if address_ipv6 is not None: + pulumi.set(__self__, "address_ipv6", address_ipv6) if bandwidth_package_id is not None: pulumi.set(__self__, "bandwidth_package_id", bandwidth_package_id) if clb_name is not None: @@ -515,6 +521,8 @@ def __init__(__self__, *, pulumi.set(__self__, "internet_bandwidth_max_out", internet_bandwidth_max_out) if internet_charge_type is not None: pulumi.set(__self__, "internet_charge_type", internet_charge_type) + if ipv6_mode is not None: + pulumi.set(__self__, "ipv6_mode", ipv6_mode) if load_balancer_pass_to_target is not None: pulumi.set(__self__, "load_balancer_pass_to_target", load_balancer_pass_to_target) if log_set_id is not None: @@ -566,6 +574,18 @@ def address_ip_version(self) -> Optional[pulumi.Input[str]]: def address_ip_version(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "address_ip_version", value) + @property + @pulumi.getter(name="addressIpv6") + def address_ipv6(self) -> Optional[pulumi.Input[str]]: + """ + The IPv6 address of the load balancing instance. + """ + return pulumi.get(self, "address_ipv6") + + @address_ipv6.setter + def address_ipv6(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "address_ipv6", value) + @property @pulumi.getter(name="bandwidthPackageId") def bandwidth_package_id(self) -> Optional[pulumi.Input[str]]: @@ -662,6 +682,18 @@ def internet_charge_type(self) -> Optional[pulumi.Input[str]]: def internet_charge_type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "internet_charge_type", value) + @property + @pulumi.getter(name="ipv6Mode") + def ipv6_mode(self) -> Optional[pulumi.Input[str]]: + """ + This field is meaningful when the IP address version is ipv6, `IPv6Nat64` | `IPv6FullChain`. + """ + return pulumi.get(self, "ipv6_mode") + + @ipv6_mode.setter + def ipv6_mode(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ipv6_mode", value) + @property @pulumi.getter(name="loadBalancerPassToTarget") def load_balancer_pass_to_target(self) -> Optional[pulumi.Input[bool]]: @@ -974,6 +1006,25 @@ def __init__(__self__, import pulumi import tencentcloud_iac_pulumi as tencentcloud + open_clb = tencentcloud.clb.Instance("openClb", + clb_name="myclb", + network_type="OPEN", + project_id=0, + security_groups=["sg-o0ek7r93"], + tags={ + "test": "tf", + }, + vpc_id="vpc-da7ffa61") + ``` + + + ### SUPPORT CORS + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + open_clb = tencentcloud.clb.Instance("openClb", clb_name="myclb", network_type="OPEN", @@ -1242,6 +1293,25 @@ def __init__(__self__, import pulumi import tencentcloud_iac_pulumi as tencentcloud + open_clb = tencentcloud.clb.Instance("openClb", + clb_name="myclb", + network_type="OPEN", + project_id=0, + security_groups=["sg-o0ek7r93"], + tags={ + "test": "tf", + }, + vpc_id="vpc-da7ffa61") + ``` + + + ### SUPPORT CORS + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + open_clb = tencentcloud.clb.Instance("openClb", clb_name="myclb", network_type="OPEN", @@ -1504,8 +1574,10 @@ def _internal_init(__self__, __props__.__dict__["vip_isp"] = vip_isp __props__.__dict__["vpc_id"] = vpc_id __props__.__dict__["zone_id"] = zone_id + __props__.__dict__["address_ipv6"] = None __props__.__dict__["clb_vips"] = None __props__.__dict__["domain"] = None + __props__.__dict__["ipv6_mode"] = None super(Instance, __self__).__init__( 'tencentcloud:Clb/instance:Instance', resource_name, @@ -1517,6 +1589,7 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, address_ip_version: Optional[pulumi.Input[str]] = None, + address_ipv6: Optional[pulumi.Input[str]] = None, bandwidth_package_id: Optional[pulumi.Input[str]] = None, clb_name: Optional[pulumi.Input[str]] = None, clb_vips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -1525,6 +1598,7 @@ def get(resource_name: str, dynamic_vip: Optional[pulumi.Input[bool]] = None, internet_bandwidth_max_out: Optional[pulumi.Input[int]] = None, internet_charge_type: Optional[pulumi.Input[str]] = None, + ipv6_mode: Optional[pulumi.Input[str]] = None, load_balancer_pass_to_target: Optional[pulumi.Input[bool]] = None, log_set_id: Optional[pulumi.Input[str]] = None, log_topic_id: Optional[pulumi.Input[str]] = None, @@ -1552,6 +1626,7 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] address_ip_version: IP version, only applicable to open CLB. Valid values are `ipv4`, `ipv6` and `IPv6FullChain`. + :param pulumi.Input[str] address_ipv6: The IPv6 address of the load balancing instance. :param pulumi.Input[str] bandwidth_package_id: Bandwidth package id. If set, the `internet_charge_type` must be `BANDWIDTH_PACKAGE`. :param pulumi.Input[str] clb_name: Name of the CLB. The name can only contain Chinese characters, English letters, numbers, underscore and hyphen '-'. :param pulumi.Input[Sequence[pulumi.Input[str]]] clb_vips: The virtual service address table of the CLB. @@ -1560,6 +1635,7 @@ def get(resource_name: str, :param pulumi.Input[bool] dynamic_vip: If create dynamic vip CLB instance, `true` or `false`. :param pulumi.Input[int] internet_bandwidth_max_out: Max bandwidth out, only applicable to open CLB. Valid value ranges is [1, 2048]. Unit is MB. :param pulumi.Input[str] internet_charge_type: Internet charge type, only applicable to open CLB. Valid values are `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. + :param pulumi.Input[str] ipv6_mode: This field is meaningful when the IP address version is ipv6, `IPv6Nat64` | `IPv6FullChain`. :param pulumi.Input[bool] load_balancer_pass_to_target: Whether the target allow flow come from clb. If value is true, only check security group of clb, or check both clb and backend instance security group. :param pulumi.Input[str] log_set_id: The id of log set. :param pulumi.Input[str] log_topic_id: The id of log topic. @@ -1585,6 +1661,7 @@ def get(resource_name: str, __props__ = _InstanceState.__new__(_InstanceState) __props__.__dict__["address_ip_version"] = address_ip_version + __props__.__dict__["address_ipv6"] = address_ipv6 __props__.__dict__["bandwidth_package_id"] = bandwidth_package_id __props__.__dict__["clb_name"] = clb_name __props__.__dict__["clb_vips"] = clb_vips @@ -1593,6 +1670,7 @@ def get(resource_name: str, __props__.__dict__["dynamic_vip"] = dynamic_vip __props__.__dict__["internet_bandwidth_max_out"] = internet_bandwidth_max_out __props__.__dict__["internet_charge_type"] = internet_charge_type + __props__.__dict__["ipv6_mode"] = ipv6_mode __props__.__dict__["load_balancer_pass_to_target"] = load_balancer_pass_to_target __props__.__dict__["log_set_id"] = log_set_id __props__.__dict__["log_topic_id"] = log_topic_id @@ -1622,6 +1700,14 @@ def address_ip_version(self) -> pulumi.Output[str]: """ return pulumi.get(self, "address_ip_version") + @property + @pulumi.getter(name="addressIpv6") + def address_ipv6(self) -> pulumi.Output[str]: + """ + The IPv6 address of the load balancing instance. + """ + return pulumi.get(self, "address_ipv6") + @property @pulumi.getter(name="bandwidthPackageId") def bandwidth_package_id(self) -> pulumi.Output[Optional[str]]: @@ -1686,6 +1772,14 @@ def internet_charge_type(self) -> pulumi.Output[str]: """ return pulumi.get(self, "internet_charge_type") + @property + @pulumi.getter(name="ipv6Mode") + def ipv6_mode(self) -> pulumi.Output[str]: + """ + This field is meaningful when the IP address version is ipv6, `IPv6Nat64` | `IPv6FullChain`. + """ + return pulumi.get(self, "ipv6_mode") + @property @pulumi.getter(name="loadBalancerPassToTarget") def load_balancer_pass_to_target(self) -> pulumi.Output[Optional[bool]]: diff --git a/sdk/python/tencentcloud_iac_pulumi/cls/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/cls/_inputs.py index fe83b3715..3a4c69524 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cls/_inputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/cls/_inputs.py @@ -63,7 +63,8 @@ def __init__(__self__, *, number: pulumi.Input[int], query: pulumi.Input[str], start_time_offset: pulumi.Input[int], - topic_id: pulumi.Input[str]): + topic_id: pulumi.Input[str], + syntax_rule: Optional[pulumi.Input[int]] = None): """ :param pulumi.Input[int] end_time_offset: search end time of offset. :param pulumi.Input[str] logset_id: logset id. @@ -71,6 +72,7 @@ def __init__(__self__, *, :param pulumi.Input[str] query: query rules. :param pulumi.Input[int] start_time_offset: search start time of offset. :param pulumi.Input[str] topic_id: topic id. + :param pulumi.Input[int] syntax_rule: Retrieve grammar rules, 0: Lucene syntax, 1: CQL syntax, Default value is 0. """ pulumi.set(__self__, "end_time_offset", end_time_offset) pulumi.set(__self__, "logset_id", logset_id) @@ -78,6 +80,8 @@ def __init__(__self__, *, pulumi.set(__self__, "query", query) pulumi.set(__self__, "start_time_offset", start_time_offset) pulumi.set(__self__, "topic_id", topic_id) + if syntax_rule is not None: + pulumi.set(__self__, "syntax_rule", syntax_rule) @property @pulumi.getter(name="endTimeOffset") @@ -151,6 +155,18 @@ def topic_id(self) -> pulumi.Input[str]: def topic_id(self, value: pulumi.Input[str]): pulumi.set(self, "topic_id", value) + @property + @pulumi.getter(name="syntaxRule") + def syntax_rule(self) -> Optional[pulumi.Input[int]]: + """ + Retrieve grammar rules, 0: Lucene syntax, 1: CQL syntax, Default value is 0. + """ + return pulumi.get(self, "syntax_rule") + + @syntax_rule.setter + def syntax_rule(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "syntax_rule", value) + @pulumi.input_type class AlarmAnalysisArgs: diff --git a/sdk/python/tencentcloud_iac_pulumi/cls/alarm.py b/sdk/python/tencentcloud_iac_pulumi/cls/alarm.py index 6394e02a3..14beb39e8 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cls/alarm.py +++ b/sdk/python/tencentcloud_iac_pulumi/cls/alarm.py @@ -478,6 +478,7 @@ def __init__(__self__, number=1, query="status:>500 | select count(*) as errorCounts", start_time_offset=-15, + syntax_rule=1, topic_id="88735a07-bea4-4985-8763-e9deb6da4fad", )], analyses=[tencentcloud.cls.AlarmAnalysisArgs( @@ -553,6 +554,7 @@ def __init__(__self__, number=1, query="status:>500 | select count(*) as errorCounts", start_time_offset=-15, + syntax_rule=1, topic_id="88735a07-bea4-4985-8763-e9deb6da4fad", )], analyses=[tencentcloud.cls.AlarmAnalysisArgs( diff --git a/sdk/python/tencentcloud_iac_pulumi/cls/outputs.py b/sdk/python/tencentcloud_iac_pulumi/cls/outputs.py index 4a01ed3c7..bcfcd1d86 100644 --- a/sdk/python/tencentcloud_iac_pulumi/cls/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/cls/outputs.py @@ -76,6 +76,8 @@ def __key_warning(key: str): suggest = "start_time_offset" elif key == "topicId": suggest = "topic_id" + elif key == "syntaxRule": + suggest = "syntax_rule" if suggest: pulumi.log.warn(f"Key '{key}' not found in AlarmAlarmTarget. Access the value via the '{suggest}' property getter instead.") @@ -94,7 +96,8 @@ def __init__(__self__, *, number: int, query: str, start_time_offset: int, - topic_id: str): + topic_id: str, + syntax_rule: Optional[int] = None): """ :param int end_time_offset: search end time of offset. :param str logset_id: logset id. @@ -102,6 +105,7 @@ def __init__(__self__, *, :param str query: query rules. :param int start_time_offset: search start time of offset. :param str topic_id: topic id. + :param int syntax_rule: Retrieve grammar rules, 0: Lucene syntax, 1: CQL syntax, Default value is 0. """ pulumi.set(__self__, "end_time_offset", end_time_offset) pulumi.set(__self__, "logset_id", logset_id) @@ -109,6 +113,8 @@ def __init__(__self__, *, pulumi.set(__self__, "query", query) pulumi.set(__self__, "start_time_offset", start_time_offset) pulumi.set(__self__, "topic_id", topic_id) + if syntax_rule is not None: + pulumi.set(__self__, "syntax_rule", syntax_rule) @property @pulumi.getter(name="endTimeOffset") @@ -158,6 +164,14 @@ def topic_id(self) -> str: """ return pulumi.get(self, "topic_id") + @property + @pulumi.getter(name="syntaxRule") + def syntax_rule(self) -> Optional[int]: + """ + Retrieve grammar rules, 0: Lucene syntax, 1: CQL syntax, Default value is 0. + """ + return pulumi.get(self, "syntax_rule") + @pulumi.output_type class AlarmAnalysis(dict): diff --git a/sdk/python/tencentcloud_iac_pulumi/kubernetes/__init__.py b/sdk/python/tencentcloud_iac_pulumi/kubernetes/__init__.py index cfedea9b1..12f31af20 100644 --- a/sdk/python/tencentcloud_iac_pulumi/kubernetes/__init__.py +++ b/sdk/python/tencentcloud_iac_pulumi/kubernetes/__init__.py @@ -19,8 +19,10 @@ from .get_cluster_common_names import * from .get_cluster_instances import * from .get_cluster_levels import * +from .get_cluster_native_node_pools import * from .get_cluster_node_pools import * from .get_clusters import * +from .native_node_pool import * from .node_pool import * from .scale_worker import * from .serverless_node_pool import * diff --git a/sdk/python/tencentcloud_iac_pulumi/kubernetes/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/kubernetes/_inputs.py index c1a4b6316..353951fe6 100644 --- a/sdk/python/tencentcloud_iac_pulumi/kubernetes/_inputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/kubernetes/_inputs.py @@ -31,6 +31,19 @@ 'ClusterWorkerConfigDataDiskArgs', 'ClusterWorkerInstancesListArgs', 'EncryptionProtectionKmsConfigurationArgs', + 'NativeNodePoolAnnotationArgs', + 'NativeNodePoolLabelArgs', + 'NativeNodePoolNativeArgs', + 'NativeNodePoolNativeDataDiskArgs', + 'NativeNodePoolNativeInstanceChargePrepaidArgs', + 'NativeNodePoolNativeInternetAccessibleArgs', + 'NativeNodePoolNativeLifecycleArgs', + 'NativeNodePoolNativeManagementArgs', + 'NativeNodePoolNativeScalingArgs', + 'NativeNodePoolNativeSystemDiskArgs', + 'NativeNodePoolTagArgs', + 'NativeNodePoolTagTagArgs', + 'NativeNodePoolTaintArgs', 'NodePoolAutoScalingConfigArgs', 'NodePoolAutoScalingConfigDataDiskArgs', 'NodePoolNodeConfigArgs', @@ -45,6 +58,7 @@ 'ServerlessNodePoolServerlessNodeArgs', 'ServerlessNodePoolTaintArgs', 'GetClusterInstancesFilterArgs', + 'GetClusterNativeNodePoolsFilterArgs', 'GetClusterNodePoolsFilterArgs', ] @@ -1192,7 +1206,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] enhanced_security_service: To specify whether to enable cloud security service. Default is TRUE. :param pulumi.Input[str] hostname: The host name of the attached instance. Dot (.) and dash (-) cannot be used as the first and last characters of HostName and cannot be used consecutively. Windows example: The length of the name character is [2, 15], letters (capitalization is not restricted), numbers and dashes (-) are allowed, dots (.) are not supported, and not all numbers are allowed. Examples of other types (Linux, etc.): The character length is [2, 60], and multiple dots are allowed. There is a segment between the dots. Each segment allows letters (with no limitation on capitalization), numbers and dashes (-). :param pulumi.Input[str] hpc_cluster_id: Id of cvm hpc cluster. - :param pulumi.Input[str] img_id: The valid image id, format of img-xxx. + :param pulumi.Input[str] img_id: The valid image id, format of img-xxx. Note: `img_id` will be replaced with the image corresponding to TKE `cluster_os`. :param pulumi.Input[str] instance_charge_type: The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. Note: TencentCloud International only supports `POSTPAID_BY_HOUR`, `PREPAID` instance will not terminated after cluster deleted, and may not allow to delete before expired. :param pulumi.Input[int] instance_charge_type_prepaid_period: The tenancy (time unit is month) of the prepaid instance. NOTE: it only works when instance_charge_type is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. :param pulumi.Input[str] instance_charge_type_prepaid_renew_flag: Auto renewal flag. Valid values: `NOTIFY_AND_AUTO_RENEW`: notify upon expiration and renew automatically, `NOTIFY_AND_MANUAL_RENEW`: notify upon expiration but do not renew automatically, `DISABLE_NOTIFY_AND_MANUAL_RENEW`: neither notify upon expiration nor renew automatically. Default value: `NOTIFY_AND_MANUAL_RENEW`. If this parameter is specified as `NOTIFY_AND_AUTO_RENEW`, the instance will be automatically renewed on a monthly basis if the account balance is sufficient. NOTE: it only works when instance_charge_type is set to `PREPAID`. @@ -1205,7 +1219,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: Security groups to which a CVM instance belongs. :param pulumi.Input[int] system_disk_size: Volume of system disk in GB. Default is `50`. :param pulumi.Input[str] system_disk_type: System disk type. For more information on limits of system disk types, see [Storage Overview](https://intl.cloud.tencent.com/document/product/213/4952). Valid values: `LOCAL_BASIC`: local disk, `LOCAL_SSD`: local SSD disk, `CLOUD_SSD`: SSD, `CLOUD_PREMIUM`: Premium Cloud Storage. NOTE: `CLOUD_BASIC`, `LOCAL_BASIC` and `LOCAL_SSD` are deprecated. - :param pulumi.Input[str] user_data: User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB. + :param pulumi.Input[str] user_data: ase64-encoded User Data text, the length limit is 16KB. """ pulumi.set(__self__, "instance_type", instance_type) pulumi.set(__self__, "subnet_id", subnet_id) @@ -1420,7 +1434,7 @@ def hpc_cluster_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="imgId") def img_id(self) -> Optional[pulumi.Input[str]]: """ - The valid image id, format of img-xxx. + The valid image id, format of img-xxx. Note: `img_id` will be replaced with the image corresponding to TKE `cluster_os`. """ return pulumi.get(self, "img_id") @@ -1576,7 +1590,7 @@ def system_disk_type(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="userData") def user_data(self) -> Optional[pulumi.Input[str]]: """ - User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB. + ase64-encoded User Data text, the length limit is 16KB. """ return pulumi.get(self, "user_data") @@ -1931,7 +1945,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] enhanced_security_service: To specify whether to enable cloud security service. Default is TRUE. :param pulumi.Input[str] hostname: The host name of the attached instance. Dot (.) and dash (-) cannot be used as the first and last characters of HostName and cannot be used consecutively. Windows example: The length of the name character is [2, 15], letters (capitalization is not restricted), numbers and dashes (-) are allowed, dots (.) are not supported, and not all numbers are allowed. Examples of other types (Linux, etc.): The character length is [2, 60], and multiple dots are allowed. There is a segment between the dots. Each segment allows letters (with no limitation on capitalization), numbers and dashes (-). :param pulumi.Input[str] hpc_cluster_id: Id of cvm hpc cluster. - :param pulumi.Input[str] img_id: The valid image id, format of img-xxx. + :param pulumi.Input[str] img_id: The valid image id, format of img-xxx. Note: `img_id` will be replaced with the image corresponding to TKE `cluster_os`. :param pulumi.Input[str] instance_charge_type: The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. Note: TencentCloud International only supports `POSTPAID_BY_HOUR`, `PREPAID` instance will not terminated after cluster deleted, and may not allow to delete before expired. :param pulumi.Input[int] instance_charge_type_prepaid_period: The tenancy (time unit is month) of the prepaid instance. NOTE: it only works when instance_charge_type is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. :param pulumi.Input[str] instance_charge_type_prepaid_renew_flag: Auto renewal flag. Valid values: `NOTIFY_AND_AUTO_RENEW`: notify upon expiration and renew automatically, `NOTIFY_AND_MANUAL_RENEW`: notify upon expiration but do not renew automatically, `DISABLE_NOTIFY_AND_MANUAL_RENEW`: neither notify upon expiration nor renew automatically. Default value: `NOTIFY_AND_MANUAL_RENEW`. If this parameter is specified as `NOTIFY_AND_AUTO_RENEW`, the instance will be automatically renewed on a monthly basis if the account balance is sufficient. NOTE: it only works when instance_charge_type is set to `PREPAID`. @@ -1944,7 +1958,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: Security groups to which a CVM instance belongs. :param pulumi.Input[int] system_disk_size: Volume of system disk in GB. Default is `50`. :param pulumi.Input[str] system_disk_type: System disk type. For more information on limits of system disk types, see [Storage Overview](https://intl.cloud.tencent.com/document/product/213/4952). Valid values: `LOCAL_BASIC`: local disk, `LOCAL_SSD`: local SSD disk, `CLOUD_SSD`: SSD, `CLOUD_PREMIUM`: Premium Cloud Storage. NOTE: `CLOUD_BASIC`, `LOCAL_BASIC` and `LOCAL_SSD` are deprecated. - :param pulumi.Input[str] user_data: User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB. + :param pulumi.Input[str] user_data: ase64-encoded User Data text, the length limit is 16KB. """ pulumi.set(__self__, "instance_type", instance_type) pulumi.set(__self__, "subnet_id", subnet_id) @@ -2159,7 +2173,7 @@ def hpc_cluster_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="imgId") def img_id(self) -> Optional[pulumi.Input[str]]: """ - The valid image id, format of img-xxx. + The valid image id, format of img-xxx. Note: `img_id` will be replaced with the image corresponding to TKE `cluster_os`. """ return pulumi.get(self, "img_id") @@ -2315,7 +2329,7 @@ def system_disk_type(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="userData") def user_data(self) -> Optional[pulumi.Input[str]]: """ - User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB. + ase64-encoded User Data text, the length limit is 16KB. """ return pulumi.get(self, "user_data") @@ -2367,238 +2381,1192 @@ def __init__(__self__, *, pulumi.set(__self__, "snapshot_id", snapshot_id) @property - @pulumi.getter(name="autoFormatAndMount") - def auto_format_and_mount(self) -> Optional[pulumi.Input[bool]]: + @pulumi.getter(name="autoFormatAndMount") + def auto_format_and_mount(self) -> Optional[pulumi.Input[bool]]: + """ + Indicate whether to auto format and mount or not. Default is `false`. + """ + return pulumi.get(self, "auto_format_and_mount") + + @auto_format_and_mount.setter + def auto_format_and_mount(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "auto_format_and_mount", value) + + @property + @pulumi.getter(name="diskPartition") + def disk_partition(self) -> Optional[pulumi.Input[str]]: + """ + The name of the device or partition to mount. + """ + return pulumi.get(self, "disk_partition") + + @disk_partition.setter + def disk_partition(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "disk_partition", value) + + @property + @pulumi.getter(name="diskSize") + def disk_size(self) -> Optional[pulumi.Input[int]]: + """ + Volume of disk in GB. Default is `0`. + """ + return pulumi.get(self, "disk_size") + + @disk_size.setter + def disk_size(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "disk_size", value) + + @property + @pulumi.getter(name="diskType") + def disk_type(self) -> Optional[pulumi.Input[str]]: + """ + Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD` and `CLOUD_HSSD` and `CLOUD_TSSD`. + """ + return pulumi.get(self, "disk_type") + + @disk_type.setter + def disk_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "disk_type", value) + + @property + @pulumi.getter + def encrypt(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether to encrypt data disk, default `false`. + """ + return pulumi.get(self, "encrypt") + + @encrypt.setter + def encrypt(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "encrypt", value) + + @property + @pulumi.getter(name="fileSystem") + def file_system(self) -> Optional[pulumi.Input[str]]: + """ + File system, e.g. `ext3/ext4/xfs`. + """ + return pulumi.get(self, "file_system") + + @file_system.setter + def file_system(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "file_system", value) + + @property + @pulumi.getter(name="kmsKeyId") + def kms_key_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the custom CMK in the format of UUID or `kms-abcd1234`. This parameter is used to encrypt cloud disks. + """ + return pulumi.get(self, "kms_key_id") + + @kms_key_id.setter + def kms_key_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "kms_key_id", value) + + @property + @pulumi.getter(name="mountTarget") + def mount_target(self) -> Optional[pulumi.Input[str]]: + """ + Mount target. + """ + return pulumi.get(self, "mount_target") + + @mount_target.setter + def mount_target(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "mount_target", value) + + @property + @pulumi.getter(name="snapshotId") + def snapshot_id(self) -> Optional[pulumi.Input[str]]: + """ + Data disk snapshot ID. + """ + return pulumi.get(self, "snapshot_id") + + @snapshot_id.setter + def snapshot_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "snapshot_id", value) + + +@pulumi.input_type +class ClusterWorkerInstancesListArgs: + def __init__(__self__, *, + failed_reason: Optional[pulumi.Input[str]] = None, + instance_id: Optional[pulumi.Input[str]] = None, + instance_role: Optional[pulumi.Input[str]] = None, + instance_state: Optional[pulumi.Input[str]] = None, + lan_ip: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] failed_reason: Information of the cvm when it is failed. + :param pulumi.Input[str] instance_id: ID of the cvm. + :param pulumi.Input[str] instance_role: Role of the cvm. + :param pulumi.Input[str] instance_state: State of the cvm. + :param pulumi.Input[str] lan_ip: LAN IP of the cvm. + """ + if failed_reason is not None: + pulumi.set(__self__, "failed_reason", failed_reason) + if instance_id is not None: + pulumi.set(__self__, "instance_id", instance_id) + if instance_role is not None: + pulumi.set(__self__, "instance_role", instance_role) + if instance_state is not None: + pulumi.set(__self__, "instance_state", instance_state) + if lan_ip is not None: + pulumi.set(__self__, "lan_ip", lan_ip) + + @property + @pulumi.getter(name="failedReason") + def failed_reason(self) -> Optional[pulumi.Input[str]]: + """ + Information of the cvm when it is failed. + """ + return pulumi.get(self, "failed_reason") + + @failed_reason.setter + def failed_reason(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "failed_reason", value) + + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the cvm. + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "instance_id", value) + + @property + @pulumi.getter(name="instanceRole") + def instance_role(self) -> Optional[pulumi.Input[str]]: + """ + Role of the cvm. + """ + return pulumi.get(self, "instance_role") + + @instance_role.setter + def instance_role(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "instance_role", value) + + @property + @pulumi.getter(name="instanceState") + def instance_state(self) -> Optional[pulumi.Input[str]]: + """ + State of the cvm. + """ + return pulumi.get(self, "instance_state") + + @instance_state.setter + def instance_state(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "instance_state", value) + + @property + @pulumi.getter(name="lanIp") + def lan_ip(self) -> Optional[pulumi.Input[str]]: + """ + LAN IP of the cvm. + """ + return pulumi.get(self, "lan_ip") + + @lan_ip.setter + def lan_ip(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "lan_ip", value) + + +@pulumi.input_type +class EncryptionProtectionKmsConfigurationArgs: + def __init__(__self__, *, + key_id: Optional[pulumi.Input[str]] = None, + kms_region: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] key_id: kms id. + :param pulumi.Input[str] kms_region: kms region. + """ + if key_id is not None: + pulumi.set(__self__, "key_id", key_id) + if kms_region is not None: + pulumi.set(__self__, "kms_region", kms_region) + + @property + @pulumi.getter(name="keyId") + def key_id(self) -> Optional[pulumi.Input[str]]: + """ + kms id. + """ + return pulumi.get(self, "key_id") + + @key_id.setter + def key_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key_id", value) + + @property + @pulumi.getter(name="kmsRegion") + def kms_region(self) -> Optional[pulumi.Input[str]]: + """ + kms region. + """ + return pulumi.get(self, "kms_region") + + @kms_region.setter + def kms_region(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "kms_region", value) + + +@pulumi.input_type +class NativeNodePoolAnnotationArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + value: pulumi.Input[str]): + """ + :param pulumi.Input[str] name: Name in the map table. + :param pulumi.Input[str] value: Value in the map table. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + Name in the map table. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[str]: + """ + Value in the map table. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[str]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class NativeNodePoolLabelArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + value: pulumi.Input[str]): + """ + :param pulumi.Input[str] name: Name in the map table. + :param pulumi.Input[str] value: Value in map table. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + Name in the map table. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[str]: + """ + Value in map table. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[str]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class NativeNodePoolNativeArgs: + def __init__(__self__, *, + instance_charge_type: pulumi.Input[str], + instance_types: pulumi.Input[Sequence[pulumi.Input[str]]], + security_group_ids: pulumi.Input[Sequence[pulumi.Input[str]]], + subnet_ids: pulumi.Input[Sequence[pulumi.Input[str]]], + system_disk: pulumi.Input['NativeNodePoolNativeSystemDiskArgs'], + auto_repair: Optional[pulumi.Input[bool]] = None, + data_disks: Optional[pulumi.Input[Sequence[pulumi.Input['NativeNodePoolNativeDataDiskArgs']]]] = None, + enable_autoscaling: Optional[pulumi.Input[bool]] = None, + health_check_policy_name: Optional[pulumi.Input[str]] = None, + host_name_pattern: Optional[pulumi.Input[str]] = None, + instance_charge_prepaid: Optional[pulumi.Input['NativeNodePoolNativeInstanceChargePrepaidArgs']] = None, + internet_accessible: Optional[pulumi.Input['NativeNodePoolNativeInternetAccessibleArgs']] = None, + key_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + kubelet_args: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + lifecycle: Optional[pulumi.Input['NativeNodePoolNativeLifecycleArgs']] = None, + management: Optional[pulumi.Input['NativeNodePoolNativeManagementArgs']] = None, + replicas: Optional[pulumi.Input[int]] = None, + runtime_root_dir: Optional[pulumi.Input[str]] = None, + scaling: Optional[pulumi.Input['NativeNodePoolNativeScalingArgs']] = None): + """ + :param pulumi.Input[str] instance_charge_type: Node billing type. `PREPAID` is a yearly and monthly subscription, `POSTPAID_BY_HOUR` is a pay-as-you-go plan. The default is `POSTPAID_BY_HOUR`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] instance_types: Model list. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: Security group list. + :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: Subnet list. + :param pulumi.Input['NativeNodePoolNativeSystemDiskArgs'] system_disk: System disk configuration. + :param pulumi.Input[bool] auto_repair: Whether to enable self-healing ability. + :param pulumi.Input[Sequence[pulumi.Input['NativeNodePoolNativeDataDiskArgs']]] data_disks: Native node pool data disk list. + :param pulumi.Input[bool] enable_autoscaling: Whether to enable elastic scaling. + :param pulumi.Input[str] health_check_policy_name: Fault self-healing rule name. + :param pulumi.Input[str] host_name_pattern: Native node pool hostName pattern string. + :param pulumi.Input['NativeNodePoolNativeInstanceChargePrepaidArgs'] instance_charge_prepaid: Billing configuration for yearly and monthly models. + :param pulumi.Input['NativeNodePoolNativeInternetAccessibleArgs'] internet_accessible: Public network bandwidth settings. + :param pulumi.Input[Sequence[pulumi.Input[str]]] key_ids: Node pool ssh public key id array. + :param pulumi.Input[Sequence[pulumi.Input[str]]] kubelet_args: Kubelet custom parameters. + :param pulumi.Input['NativeNodePoolNativeLifecycleArgs'] lifecycle: Predefined scripts. + :param pulumi.Input['NativeNodePoolNativeManagementArgs'] management: Node pool management parameter settings. + :param pulumi.Input[int] replicas: Desired number of nodes. + :param pulumi.Input[str] runtime_root_dir: Runtime root directory. + :param pulumi.Input['NativeNodePoolNativeScalingArgs'] scaling: Node pool scaling configuration. + """ + pulumi.set(__self__, "instance_charge_type", instance_charge_type) + pulumi.set(__self__, "instance_types", instance_types) + pulumi.set(__self__, "security_group_ids", security_group_ids) + pulumi.set(__self__, "subnet_ids", subnet_ids) + pulumi.set(__self__, "system_disk", system_disk) + if auto_repair is not None: + pulumi.set(__self__, "auto_repair", auto_repair) + if data_disks is not None: + pulumi.set(__self__, "data_disks", data_disks) + if enable_autoscaling is not None: + pulumi.set(__self__, "enable_autoscaling", enable_autoscaling) + if health_check_policy_name is not None: + pulumi.set(__self__, "health_check_policy_name", health_check_policy_name) + if host_name_pattern is not None: + pulumi.set(__self__, "host_name_pattern", host_name_pattern) + if instance_charge_prepaid is not None: + pulumi.set(__self__, "instance_charge_prepaid", instance_charge_prepaid) + if internet_accessible is not None: + pulumi.set(__self__, "internet_accessible", internet_accessible) + if key_ids is not None: + pulumi.set(__self__, "key_ids", key_ids) + if kubelet_args is not None: + pulumi.set(__self__, "kubelet_args", kubelet_args) + if lifecycle is not None: + pulumi.set(__self__, "lifecycle", lifecycle) + if management is not None: + pulumi.set(__self__, "management", management) + if replicas is not None: + pulumi.set(__self__, "replicas", replicas) + if runtime_root_dir is not None: + pulumi.set(__self__, "runtime_root_dir", runtime_root_dir) + if scaling is not None: + pulumi.set(__self__, "scaling", scaling) + + @property + @pulumi.getter(name="instanceChargeType") + def instance_charge_type(self) -> pulumi.Input[str]: + """ + Node billing type. `PREPAID` is a yearly and monthly subscription, `POSTPAID_BY_HOUR` is a pay-as-you-go plan. The default is `POSTPAID_BY_HOUR`. + """ + return pulumi.get(self, "instance_charge_type") + + @instance_charge_type.setter + def instance_charge_type(self, value: pulumi.Input[str]): + pulumi.set(self, "instance_charge_type", value) + + @property + @pulumi.getter(name="instanceTypes") + def instance_types(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + Model list. + """ + return pulumi.get(self, "instance_types") + + @instance_types.setter + def instance_types(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "instance_types", value) + + @property + @pulumi.getter(name="securityGroupIds") + def security_group_ids(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + Security group list. + """ + return pulumi.get(self, "security_group_ids") + + @security_group_ids.setter + def security_group_ids(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "security_group_ids", value) + + @property + @pulumi.getter(name="subnetIds") + def subnet_ids(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + Subnet list. + """ + return pulumi.get(self, "subnet_ids") + + @subnet_ids.setter + def subnet_ids(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "subnet_ids", value) + + @property + @pulumi.getter(name="systemDisk") + def system_disk(self) -> pulumi.Input['NativeNodePoolNativeSystemDiskArgs']: + """ + System disk configuration. + """ + return pulumi.get(self, "system_disk") + + @system_disk.setter + def system_disk(self, value: pulumi.Input['NativeNodePoolNativeSystemDiskArgs']): + pulumi.set(self, "system_disk", value) + + @property + @pulumi.getter(name="autoRepair") + def auto_repair(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to enable self-healing ability. + """ + return pulumi.get(self, "auto_repair") + + @auto_repair.setter + def auto_repair(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "auto_repair", value) + + @property + @pulumi.getter(name="dataDisks") + def data_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NativeNodePoolNativeDataDiskArgs']]]]: + """ + Native node pool data disk list. + """ + return pulumi.get(self, "data_disks") + + @data_disks.setter + def data_disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NativeNodePoolNativeDataDiskArgs']]]]): + pulumi.set(self, "data_disks", value) + + @property + @pulumi.getter(name="enableAutoscaling") + def enable_autoscaling(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to enable elastic scaling. + """ + return pulumi.get(self, "enable_autoscaling") + + @enable_autoscaling.setter + def enable_autoscaling(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_autoscaling", value) + + @property + @pulumi.getter(name="healthCheckPolicyName") + def health_check_policy_name(self) -> Optional[pulumi.Input[str]]: + """ + Fault self-healing rule name. + """ + return pulumi.get(self, "health_check_policy_name") + + @health_check_policy_name.setter + def health_check_policy_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "health_check_policy_name", value) + + @property + @pulumi.getter(name="hostNamePattern") + def host_name_pattern(self) -> Optional[pulumi.Input[str]]: + """ + Native node pool hostName pattern string. + """ + return pulumi.get(self, "host_name_pattern") + + @host_name_pattern.setter + def host_name_pattern(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "host_name_pattern", value) + + @property + @pulumi.getter(name="instanceChargePrepaid") + def instance_charge_prepaid(self) -> Optional[pulumi.Input['NativeNodePoolNativeInstanceChargePrepaidArgs']]: + """ + Billing configuration for yearly and monthly models. + """ + return pulumi.get(self, "instance_charge_prepaid") + + @instance_charge_prepaid.setter + def instance_charge_prepaid(self, value: Optional[pulumi.Input['NativeNodePoolNativeInstanceChargePrepaidArgs']]): + pulumi.set(self, "instance_charge_prepaid", value) + + @property + @pulumi.getter(name="internetAccessible") + def internet_accessible(self) -> Optional[pulumi.Input['NativeNodePoolNativeInternetAccessibleArgs']]: + """ + Public network bandwidth settings. + """ + return pulumi.get(self, "internet_accessible") + + @internet_accessible.setter + def internet_accessible(self, value: Optional[pulumi.Input['NativeNodePoolNativeInternetAccessibleArgs']]): + pulumi.set(self, "internet_accessible", value) + + @property + @pulumi.getter(name="keyIds") + def key_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Node pool ssh public key id array. + """ + return pulumi.get(self, "key_ids") + + @key_ids.setter + def key_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "key_ids", value) + + @property + @pulumi.getter(name="kubeletArgs") + def kubelet_args(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Kubelet custom parameters. + """ + return pulumi.get(self, "kubelet_args") + + @kubelet_args.setter + def kubelet_args(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "kubelet_args", value) + + @property + @pulumi.getter + def lifecycle(self) -> Optional[pulumi.Input['NativeNodePoolNativeLifecycleArgs']]: + """ + Predefined scripts. + """ + return pulumi.get(self, "lifecycle") + + @lifecycle.setter + def lifecycle(self, value: Optional[pulumi.Input['NativeNodePoolNativeLifecycleArgs']]): + pulumi.set(self, "lifecycle", value) + + @property + @pulumi.getter + def management(self) -> Optional[pulumi.Input['NativeNodePoolNativeManagementArgs']]: + """ + Node pool management parameter settings. + """ + return pulumi.get(self, "management") + + @management.setter + def management(self, value: Optional[pulumi.Input['NativeNodePoolNativeManagementArgs']]): + pulumi.set(self, "management", value) + + @property + @pulumi.getter + def replicas(self) -> Optional[pulumi.Input[int]]: + """ + Desired number of nodes. + """ + return pulumi.get(self, "replicas") + + @replicas.setter + def replicas(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "replicas", value) + + @property + @pulumi.getter(name="runtimeRootDir") + def runtime_root_dir(self) -> Optional[pulumi.Input[str]]: + """ + Runtime root directory. + """ + return pulumi.get(self, "runtime_root_dir") + + @runtime_root_dir.setter + def runtime_root_dir(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "runtime_root_dir", value) + + @property + @pulumi.getter + def scaling(self) -> Optional[pulumi.Input['NativeNodePoolNativeScalingArgs']]: + """ + Node pool scaling configuration. + """ + return pulumi.get(self, "scaling") + + @scaling.setter + def scaling(self, value: Optional[pulumi.Input['NativeNodePoolNativeScalingArgs']]): + pulumi.set(self, "scaling", value) + + +@pulumi.input_type +class NativeNodePoolNativeDataDiskArgs: + def __init__(__self__, *, + auto_format_and_mount: pulumi.Input[bool], + disk_size: pulumi.Input[int], + disk_type: pulumi.Input[str], + disk_partition: Optional[pulumi.Input[str]] = None, + encrypt: Optional[pulumi.Input[str]] = None, + file_system: Optional[pulumi.Input[str]] = None, + kms_key_id: Optional[pulumi.Input[str]] = None, + mount_target: Optional[pulumi.Input[str]] = None, + snapshot_id: Optional[pulumi.Input[str]] = None, + throughput_performance: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[bool] auto_format_and_mount: Whether to automatically format the disk and mount it. + :param pulumi.Input[int] disk_size: Cloud disk size (G). + :param pulumi.Input[str] disk_type: Cloud disk type. Valid values: `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_SSD`: cloud SSD disk, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD, `LOCAL_NVME`: local NVME disk. + :param pulumi.Input[str] disk_partition: Mount device name or partition name. + :param pulumi.Input[str] encrypt: Pass in this parameter to create an encrypted cloud disk. The value is fixed to `ENCRYPT`. + :param pulumi.Input[str] file_system: File system (ext3/ext4/xfs). + :param pulumi.Input[str] kms_key_id: Customize the key when purchasing an encrypted disk. When this parameter is passed in, the Encrypt parameter is not empty. + :param pulumi.Input[str] mount_target: Mount directory. + :param pulumi.Input[str] snapshot_id: Snapshot ID. If passed in, the cloud disk will be created based on this snapshot. The snapshot type must be a data disk snapshot. + :param pulumi.Input[int] throughput_performance: Cloud disk performance, unit: MB/s. Use this parameter to purchase additional performance for the cloud disk. + """ + pulumi.set(__self__, "auto_format_and_mount", auto_format_and_mount) + pulumi.set(__self__, "disk_size", disk_size) + pulumi.set(__self__, "disk_type", disk_type) + if disk_partition is not None: + pulumi.set(__self__, "disk_partition", disk_partition) + if encrypt is not None: + pulumi.set(__self__, "encrypt", encrypt) + if file_system is not None: + pulumi.set(__self__, "file_system", file_system) + if kms_key_id is not None: + pulumi.set(__self__, "kms_key_id", kms_key_id) + if mount_target is not None: + pulumi.set(__self__, "mount_target", mount_target) + if snapshot_id is not None: + pulumi.set(__self__, "snapshot_id", snapshot_id) + if throughput_performance is not None: + pulumi.set(__self__, "throughput_performance", throughput_performance) + + @property + @pulumi.getter(name="autoFormatAndMount") + def auto_format_and_mount(self) -> pulumi.Input[bool]: + """ + Whether to automatically format the disk and mount it. + """ + return pulumi.get(self, "auto_format_and_mount") + + @auto_format_and_mount.setter + def auto_format_and_mount(self, value: pulumi.Input[bool]): + pulumi.set(self, "auto_format_and_mount", value) + + @property + @pulumi.getter(name="diskSize") + def disk_size(self) -> pulumi.Input[int]: + """ + Cloud disk size (G). + """ + return pulumi.get(self, "disk_size") + + @disk_size.setter + def disk_size(self, value: pulumi.Input[int]): + pulumi.set(self, "disk_size", value) + + @property + @pulumi.getter(name="diskType") + def disk_type(self) -> pulumi.Input[str]: + """ + Cloud disk type. Valid values: `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_SSD`: cloud SSD disk, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD, `LOCAL_NVME`: local NVME disk. + """ + return pulumi.get(self, "disk_type") + + @disk_type.setter + def disk_type(self, value: pulumi.Input[str]): + pulumi.set(self, "disk_type", value) + + @property + @pulumi.getter(name="diskPartition") + def disk_partition(self) -> Optional[pulumi.Input[str]]: + """ + Mount device name or partition name. + """ + return pulumi.get(self, "disk_partition") + + @disk_partition.setter + def disk_partition(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "disk_partition", value) + + @property + @pulumi.getter + def encrypt(self) -> Optional[pulumi.Input[str]]: + """ + Pass in this parameter to create an encrypted cloud disk. The value is fixed to `ENCRYPT`. + """ + return pulumi.get(self, "encrypt") + + @encrypt.setter + def encrypt(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "encrypt", value) + + @property + @pulumi.getter(name="fileSystem") + def file_system(self) -> Optional[pulumi.Input[str]]: + """ + File system (ext3/ext4/xfs). + """ + return pulumi.get(self, "file_system") + + @file_system.setter + def file_system(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "file_system", value) + + @property + @pulumi.getter(name="kmsKeyId") + def kms_key_id(self) -> Optional[pulumi.Input[str]]: + """ + Customize the key when purchasing an encrypted disk. When this parameter is passed in, the Encrypt parameter is not empty. + """ + return pulumi.get(self, "kms_key_id") + + @kms_key_id.setter + def kms_key_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "kms_key_id", value) + + @property + @pulumi.getter(name="mountTarget") + def mount_target(self) -> Optional[pulumi.Input[str]]: + """ + Mount directory. + """ + return pulumi.get(self, "mount_target") + + @mount_target.setter + def mount_target(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "mount_target", value) + + @property + @pulumi.getter(name="snapshotId") + def snapshot_id(self) -> Optional[pulumi.Input[str]]: + """ + Snapshot ID. If passed in, the cloud disk will be created based on this snapshot. The snapshot type must be a data disk snapshot. + """ + return pulumi.get(self, "snapshot_id") + + @snapshot_id.setter + def snapshot_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "snapshot_id", value) + + @property + @pulumi.getter(name="throughputPerformance") + def throughput_performance(self) -> Optional[pulumi.Input[int]]: + """ + Cloud disk performance, unit: MB/s. Use this parameter to purchase additional performance for the cloud disk. + """ + return pulumi.get(self, "throughput_performance") + + @throughput_performance.setter + def throughput_performance(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "throughput_performance", value) + + +@pulumi.input_type +class NativeNodePoolNativeInstanceChargePrepaidArgs: + def __init__(__self__, *, + period: pulumi.Input[int], + renew_flag: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[int] period: Postpaid billing cycle, unit (month): 1, 2, 3, 4, 5,, 6, 7, 8, 9, 10, 11, 12, 24, 36, 48, 60. + :param pulumi.Input[str] renew_flag: Prepaid renewal method: + """ + pulumi.set(__self__, "period", period) + if renew_flag is not None: + pulumi.set(__self__, "renew_flag", renew_flag) + + @property + @pulumi.getter + def period(self) -> pulumi.Input[int]: + """ + Postpaid billing cycle, unit (month): 1, 2, 3, 4, 5,, 6, 7, 8, 9, 10, 11, 12, 24, 36, 48, 60. + """ + return pulumi.get(self, "period") + + @period.setter + def period(self, value: pulumi.Input[int]): + pulumi.set(self, "period", value) + + @property + @pulumi.getter(name="renewFlag") + def renew_flag(self) -> Optional[pulumi.Input[str]]: + """ + Prepaid renewal method: + """ + return pulumi.get(self, "renew_flag") + + @renew_flag.setter + def renew_flag(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "renew_flag", value) + + +@pulumi.input_type +class NativeNodePoolNativeInternetAccessibleArgs: + def __init__(__self__, *, + charge_type: pulumi.Input[str], + max_bandwidth_out: pulumi.Input[int], + bandwidth_package_id: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] charge_type: Network billing method. Optional value is `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. + :param pulumi.Input[int] max_bandwidth_out: Maximum bandwidth output. Note: When chargeType is `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_POSTPAID_BY_HOUR`, the valid range is 1~100. When chargeType is `BANDWIDTH_PACKAG`, the valid range is 1~2000. + :param pulumi.Input[str] bandwidth_package_id: Bandwidth package ID. Note: When ChargeType is BANDWIDTH_PACKAG, the value cannot be empty; otherwise, the value must be empty. + """ + pulumi.set(__self__, "charge_type", charge_type) + pulumi.set(__self__, "max_bandwidth_out", max_bandwidth_out) + if bandwidth_package_id is not None: + pulumi.set(__self__, "bandwidth_package_id", bandwidth_package_id) + + @property + @pulumi.getter(name="chargeType") + def charge_type(self) -> pulumi.Input[str]: + """ + Network billing method. Optional value is `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. + """ + return pulumi.get(self, "charge_type") + + @charge_type.setter + def charge_type(self, value: pulumi.Input[str]): + pulumi.set(self, "charge_type", value) + + @property + @pulumi.getter(name="maxBandwidthOut") + def max_bandwidth_out(self) -> pulumi.Input[int]: + """ + Maximum bandwidth output. Note: When chargeType is `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_POSTPAID_BY_HOUR`, the valid range is 1~100. When chargeType is `BANDWIDTH_PACKAG`, the valid range is 1~2000. + """ + return pulumi.get(self, "max_bandwidth_out") + + @max_bandwidth_out.setter + def max_bandwidth_out(self, value: pulumi.Input[int]): + pulumi.set(self, "max_bandwidth_out", value) + + @property + @pulumi.getter(name="bandwidthPackageId") + def bandwidth_package_id(self) -> Optional[pulumi.Input[str]]: + """ + Bandwidth package ID. Note: When ChargeType is BANDWIDTH_PACKAG, the value cannot be empty; otherwise, the value must be empty. + """ + return pulumi.get(self, "bandwidth_package_id") + + @bandwidth_package_id.setter + def bandwidth_package_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "bandwidth_package_id", value) + + +@pulumi.input_type +class NativeNodePoolNativeLifecycleArgs: + def __init__(__self__, *, + post_init: Optional[pulumi.Input[str]] = None, + pre_init: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] post_init: Custom script after node initialization. + :param pulumi.Input[str] pre_init: Custom script before node initialization. + """ + if post_init is not None: + pulumi.set(__self__, "post_init", post_init) + if pre_init is not None: + pulumi.set(__self__, "pre_init", pre_init) + + @property + @pulumi.getter(name="postInit") + def post_init(self) -> Optional[pulumi.Input[str]]: """ - Indicate whether to auto format and mount or not. Default is `false`. + Custom script after node initialization. """ - return pulumi.get(self, "auto_format_and_mount") + return pulumi.get(self, "post_init") - @auto_format_and_mount.setter - def auto_format_and_mount(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "auto_format_and_mount", value) + @post_init.setter + def post_init(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "post_init", value) @property - @pulumi.getter(name="diskPartition") - def disk_partition(self) -> Optional[pulumi.Input[str]]: + @pulumi.getter(name="preInit") + def pre_init(self) -> Optional[pulumi.Input[str]]: """ - The name of the device or partition to mount. + Custom script before node initialization. """ - return pulumi.get(self, "disk_partition") + return pulumi.get(self, "pre_init") - @disk_partition.setter - def disk_partition(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "disk_partition", value) + @pre_init.setter + def pre_init(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "pre_init", value) + + +@pulumi.input_type +class NativeNodePoolNativeManagementArgs: + def __init__(__self__, *, + hosts: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + kernel_args: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + nameservers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] hosts: Hosts configuration. + :param pulumi.Input[Sequence[pulumi.Input[str]]] kernel_args: Kernel parameter configuration. + :param pulumi.Input[Sequence[pulumi.Input[str]]] nameservers: Dns configuration. + """ + if hosts is not None: + pulumi.set(__self__, "hosts", hosts) + if kernel_args is not None: + pulumi.set(__self__, "kernel_args", kernel_args) + if nameservers is not None: + pulumi.set(__self__, "nameservers", nameservers) @property - @pulumi.getter(name="diskSize") - def disk_size(self) -> Optional[pulumi.Input[int]]: + @pulumi.getter + def hosts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - Volume of disk in GB. Default is `0`. + Hosts configuration. """ - return pulumi.get(self, "disk_size") + return pulumi.get(self, "hosts") - @disk_size.setter - def disk_size(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "disk_size", value) + @hosts.setter + def hosts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "hosts", value) @property - @pulumi.getter(name="diskType") - def disk_type(self) -> Optional[pulumi.Input[str]]: + @pulumi.getter(name="kernelArgs") + def kernel_args(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD` and `CLOUD_HSSD` and `CLOUD_TSSD`. + Kernel parameter configuration. """ - return pulumi.get(self, "disk_type") + return pulumi.get(self, "kernel_args") - @disk_type.setter - def disk_type(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "disk_type", value) + @kernel_args.setter + def kernel_args(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "kernel_args", value) @property @pulumi.getter - def encrypt(self) -> Optional[pulumi.Input[bool]]: + def nameservers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - Indicates whether to encrypt data disk, default `false`. + Dns configuration. """ - return pulumi.get(self, "encrypt") + return pulumi.get(self, "nameservers") - @encrypt.setter - def encrypt(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "encrypt", value) + @nameservers.setter + def nameservers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "nameservers", value) - @property - @pulumi.getter(name="fileSystem") - def file_system(self) -> Optional[pulumi.Input[str]]: + +@pulumi.input_type +class NativeNodePoolNativeScalingArgs: + def __init__(__self__, *, + create_policy: Optional[pulumi.Input[str]] = None, + max_replicas: Optional[pulumi.Input[int]] = None, + min_replicas: Optional[pulumi.Input[int]] = None): """ - File system, e.g. `ext3/ext4/xfs`. + :param pulumi.Input[str] create_policy: Node pool expansion strategy. `ZoneEquality`: multiple availability zones are broken up; `ZonePriority`: the preferred availability zone takes precedence. + :param pulumi.Input[int] max_replicas: Maximum number of replicas in node pool. + :param pulumi.Input[int] min_replicas: Minimum number of replicas in node pool. """ - return pulumi.get(self, "file_system") - - @file_system.setter - def file_system(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "file_system", value) + if create_policy is not None: + pulumi.set(__self__, "create_policy", create_policy) + if max_replicas is not None: + pulumi.set(__self__, "max_replicas", max_replicas) + if min_replicas is not None: + pulumi.set(__self__, "min_replicas", min_replicas) @property - @pulumi.getter(name="kmsKeyId") - def kms_key_id(self) -> Optional[pulumi.Input[str]]: + @pulumi.getter(name="createPolicy") + def create_policy(self) -> Optional[pulumi.Input[str]]: """ - ID of the custom CMK in the format of UUID or `kms-abcd1234`. This parameter is used to encrypt cloud disks. + Node pool expansion strategy. `ZoneEquality`: multiple availability zones are broken up; `ZonePriority`: the preferred availability zone takes precedence. """ - return pulumi.get(self, "kms_key_id") + return pulumi.get(self, "create_policy") - @kms_key_id.setter - def kms_key_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "kms_key_id", value) + @create_policy.setter + def create_policy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "create_policy", value) @property - @pulumi.getter(name="mountTarget") - def mount_target(self) -> Optional[pulumi.Input[str]]: + @pulumi.getter(name="maxReplicas") + def max_replicas(self) -> Optional[pulumi.Input[int]]: """ - Mount target. + Maximum number of replicas in node pool. """ - return pulumi.get(self, "mount_target") + return pulumi.get(self, "max_replicas") - @mount_target.setter - def mount_target(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "mount_target", value) + @max_replicas.setter + def max_replicas(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "max_replicas", value) @property - @pulumi.getter(name="snapshotId") - def snapshot_id(self) -> Optional[pulumi.Input[str]]: + @pulumi.getter(name="minReplicas") + def min_replicas(self) -> Optional[pulumi.Input[int]]: """ - Data disk snapshot ID. + Minimum number of replicas in node pool. """ - return pulumi.get(self, "snapshot_id") + return pulumi.get(self, "min_replicas") - @snapshot_id.setter - def snapshot_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "snapshot_id", value) + @min_replicas.setter + def min_replicas(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "min_replicas", value) @pulumi.input_type -class ClusterWorkerInstancesListArgs: +class NativeNodePoolNativeSystemDiskArgs: def __init__(__self__, *, - failed_reason: Optional[pulumi.Input[str]] = None, - instance_id: Optional[pulumi.Input[str]] = None, - instance_role: Optional[pulumi.Input[str]] = None, - instance_state: Optional[pulumi.Input[str]] = None, - lan_ip: Optional[pulumi.Input[str]] = None): + disk_size: pulumi.Input[int], + disk_type: pulumi.Input[str]): """ - :param pulumi.Input[str] failed_reason: Information of the cvm when it is failed. - :param pulumi.Input[str] instance_id: ID of the cvm. - :param pulumi.Input[str] instance_role: Role of the cvm. - :param pulumi.Input[str] instance_state: State of the cvm. - :param pulumi.Input[str] lan_ip: LAN IP of the cvm. + :param pulumi.Input[int] disk_size: Cloud disk size (G). + :param pulumi.Input[str] disk_type: Cloud disk type. Valid values: `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_SSD`: cloud SSD disk, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD. """ - if failed_reason is not None: - pulumi.set(__self__, "failed_reason", failed_reason) - if instance_id is not None: - pulumi.set(__self__, "instance_id", instance_id) - if instance_role is not None: - pulumi.set(__self__, "instance_role", instance_role) - if instance_state is not None: - pulumi.set(__self__, "instance_state", instance_state) - if lan_ip is not None: - pulumi.set(__self__, "lan_ip", lan_ip) + pulumi.set(__self__, "disk_size", disk_size) + pulumi.set(__self__, "disk_type", disk_type) @property - @pulumi.getter(name="failedReason") - def failed_reason(self) -> Optional[pulumi.Input[str]]: + @pulumi.getter(name="diskSize") + def disk_size(self) -> pulumi.Input[int]: """ - Information of the cvm when it is failed. + Cloud disk size (G). """ - return pulumi.get(self, "failed_reason") + return pulumi.get(self, "disk_size") - @failed_reason.setter - def failed_reason(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "failed_reason", value) + @disk_size.setter + def disk_size(self, value: pulumi.Input[int]): + pulumi.set(self, "disk_size", value) @property - @pulumi.getter(name="instanceId") - def instance_id(self) -> Optional[pulumi.Input[str]]: + @pulumi.getter(name="diskType") + def disk_type(self) -> pulumi.Input[str]: """ - ID of the cvm. + Cloud disk type. Valid values: `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_SSD`: cloud SSD disk, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD. """ - return pulumi.get(self, "instance_id") + return pulumi.get(self, "disk_type") - @instance_id.setter - def instance_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "instance_id", value) + @disk_type.setter + def disk_type(self, value: pulumi.Input[str]): + pulumi.set(self, "disk_type", value) + + +@pulumi.input_type +class NativeNodePoolTagArgs: + def __init__(__self__, *, + resource_type: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input['NativeNodePoolTagTagArgs']]]] = None): + """ + :param pulumi.Input[str] resource_type: The resource type bound to the label. + :param pulumi.Input[Sequence[pulumi.Input['NativeNodePoolTagTagArgs']]] tags: Tag pair list. + """ + if resource_type is not None: + pulumi.set(__self__, "resource_type", resource_type) + if tags is not None: + pulumi.set(__self__, "tags", tags) @property - @pulumi.getter(name="instanceRole") - def instance_role(self) -> Optional[pulumi.Input[str]]: + @pulumi.getter(name="resourceType") + def resource_type(self) -> Optional[pulumi.Input[str]]: """ - Role of the cvm. + The resource type bound to the label. """ - return pulumi.get(self, "instance_role") + return pulumi.get(self, "resource_type") - @instance_role.setter - def instance_role(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "instance_role", value) + @resource_type.setter + def resource_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "resource_type", value) @property - @pulumi.getter(name="instanceState") - def instance_state(self) -> Optional[pulumi.Input[str]]: + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NativeNodePoolTagTagArgs']]]]: """ - State of the cvm. + Tag pair list. """ - return pulumi.get(self, "instance_state") + return pulumi.get(self, "tags") - @instance_state.setter - def instance_state(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "instance_state", value) + @tags.setter + def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NativeNodePoolTagTagArgs']]]]): + pulumi.set(self, "tags", value) + + +@pulumi.input_type +class NativeNodePoolTagTagArgs: + def __init__(__self__, *, + key: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] key: Tag Key. + :param pulumi.Input[str] value: Tag Value. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if value is not None: + pulumi.set(__self__, "value", value) @property - @pulumi.getter(name="lanIp") - def lan_ip(self) -> Optional[pulumi.Input[str]]: + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: """ - LAN IP of the cvm. + Tag Key. """ - return pulumi.get(self, "lan_ip") + return pulumi.get(self, "key") - @lan_ip.setter - def lan_ip(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "lan_ip", value) + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter + def value(self) -> Optional[pulumi.Input[str]]: + """ + Tag Value. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "value", value) @pulumi.input_type -class EncryptionProtectionKmsConfigurationArgs: +class NativeNodePoolTaintArgs: def __init__(__self__, *, - key_id: Optional[pulumi.Input[str]] = None, - kms_region: Optional[pulumi.Input[str]] = None): + effect: Optional[pulumi.Input[str]] = None, + key: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[str] key_id: kms id. - :param pulumi.Input[str] kms_region: kms region. + :param pulumi.Input[str] effect: Effect of the taint. + :param pulumi.Input[str] key: Key of the taint. + :param pulumi.Input[str] value: Value of the taint. """ - if key_id is not None: - pulumi.set(__self__, "key_id", key_id) - if kms_region is not None: - pulumi.set(__self__, "kms_region", kms_region) + if effect is not None: + pulumi.set(__self__, "effect", effect) + if key is not None: + pulumi.set(__self__, "key", key) + if value is not None: + pulumi.set(__self__, "value", value) @property - @pulumi.getter(name="keyId") - def key_id(self) -> Optional[pulumi.Input[str]]: + @pulumi.getter + def effect(self) -> Optional[pulumi.Input[str]]: """ - kms id. + Effect of the taint. """ - return pulumi.get(self, "key_id") + return pulumi.get(self, "effect") - @key_id.setter - def key_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "key_id", value) + @effect.setter + def effect(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "effect", value) @property - @pulumi.getter(name="kmsRegion") - def kms_region(self) -> Optional[pulumi.Input[str]]: + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: """ - kms region. + Key of the taint. """ - return pulumi.get(self, "kms_region") + return pulumi.get(self, "key") - @kms_region.setter - def kms_region(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "kms_region", value) + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter + def value(self) -> Optional[pulumi.Input[str]]: + """ + Value of the taint. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "value", value) @pulumi.input_type @@ -4469,6 +5437,43 @@ def values(self, value: Sequence[str]): pulumi.set(self, "values", value) +@pulumi.input_type +class GetClusterNativeNodePoolsFilterArgs: + def __init__(__self__, *, + name: str, + values: Sequence[str]): + """ + :param str name: The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + :param Sequence[str] values: Attribute values, if there are multiple values in the same filter, the relationship between values under the same filter is a logical OR relationship. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def name(self) -> str: + """ + The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: str): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + Attribute values, if there are multiple values in the same filter, the relationship between values under the same filter is a logical OR relationship. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Sequence[str]): + pulumi.set(self, "values", value) + + @pulumi.input_type class GetClusterNodePoolsFilterArgs: def __init__(__self__, *, diff --git a/sdk/python/tencentcloud_iac_pulumi/kubernetes/auth_attachment.py b/sdk/python/tencentcloud_iac_pulumi/kubernetes/auth_attachment.py index 1d817058b..1586ada38 100644 --- a/sdk/python/tencentcloud_iac_pulumi/kubernetes/auth_attachment.py +++ b/sdk/python/tencentcloud_iac_pulumi/kubernetes/auth_attachment.py @@ -469,6 +469,14 @@ def __init__(__self__, ``` + ## Import + + tke cluster authentication can be imported, e.g. + + ```sh + $ pulumi import tencentcloud:Kubernetes/authAttachment:AuthAttachment test cls-xxx + ``` + :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Sequence[pulumi.Input[str]]] auto_create_client_ids: Creating ClientId of the identity provider. @@ -627,6 +635,14 @@ def __init__(__self__, ``` + ## Import + + tke cluster authentication can be imported, e.g. + + ```sh + $ pulumi import tencentcloud:Kubernetes/authAttachment:AuthAttachment test cls-xxx + ``` + :param str resource_name: The name of the resource. :param AuthAttachmentArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. diff --git a/sdk/python/tencentcloud_iac_pulumi/kubernetes/cluster.py b/sdk/python/tencentcloud_iac_pulumi/kubernetes/cluster.py index 7c0bcd786..8e92f8703 100644 --- a/sdk/python/tencentcloud_iac_pulumi/kubernetes/cluster.py +++ b/sdk/python/tencentcloud_iac_pulumi/kubernetes/cluster.py @@ -95,7 +95,7 @@ def __init__(__self__, *, :param pulumi.Input[int] cluster_max_pod_num: The maximum number of Pods per node in the cluster. Default is 256. The minimum value is 4. When its power unequal to 2, it will round upward to the closest power of 2. :param pulumi.Input[int] cluster_max_service_num: The maximum number of services in the cluster. Default is 256. The range is from 32 to 32768. When its power unequal to 2, it will round upward to the closest power of 2. :param pulumi.Input[str] cluster_name: Name of the cluster. - :param pulumi.Input[str] cluster_os: Operating system of the cluster, the available values include: 'centos7.6.0_x64','ubuntu18.04.1x86_64','tlinux2.4x86_64'. Default is 'tlinux2.4x86_64'. + :param pulumi.Input[str] cluster_os: Cluster operating system, supports setting public images (the field passes the corresponding image Name) and custom images (the field passes the corresponding image ID). For details, please refer to: https://cloud.tencent.com/document/product/457/68289. :param pulumi.Input[str] cluster_os_type: Image type of the cluster os, the available values include: 'GENERAL'. Default is 'GENERAL'. :param pulumi.Input[str] cluster_subnet_id: Subnet ID of the cluster, such as: subnet-b3p7d7q5. :param pulumi.Input[str] cluster_version: Version of the cluster. Use `kubernetes_get_available_cluster_versions` to get the upgradable cluster version. @@ -127,7 +127,7 @@ def __init__(__self__, *, :param pulumi.Input[int] unschedulable: Sets whether the joining node participates in the schedule. Default is '0'. Participate in scheduling. :param pulumi.Input[bool] upgrade_instances_follow_cluster: Indicates whether upgrade all instances when cluster_version change. Default is false. :param pulumi.Input[str] vpc_cni_type: Distinguish between shared network card multi-IP mode and independent network card mode. Fill in `tke-route-eni` for shared network card multi-IP mode and `tke-direct-eni` for independent network card mode. The default is shared network card mode. When it is necessary to turn off the vpc-cni container network capability, both `eni_subnet_ids` and `vpc_cni_type` must be set to empty. - :param pulumi.Input[Sequence[pulumi.Input['ClusterWorkerConfigArgs']]] worker_configs: Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_worker'. + :param pulumi.Input[Sequence[pulumi.Input['ClusterWorkerConfigArgs']]] worker_configs: Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_scale_worker'. """ pulumi.set(__self__, "vpc_id", vpc_id) if acquire_cluster_admin_role is not None: @@ -510,7 +510,7 @@ def cluster_name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="clusterOs") def cluster_os(self) -> Optional[pulumi.Input[str]]: """ - Operating system of the cluster, the available values include: 'centos7.6.0_x64','ubuntu18.04.1x86_64','tlinux2.4x86_64'. Default is 'tlinux2.4x86_64'. + Cluster operating system, supports setting public images (the field passes the corresponding image Name) and custom images (the field passes the corresponding image ID). For details, please refer to: https://cloud.tencent.com/document/product/457/68289. """ return pulumi.get(self, "cluster_os") @@ -897,7 +897,7 @@ def vpc_cni_type(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="workerConfigs") def worker_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterWorkerConfigArgs']]]]: """ - Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_worker'. + Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_scale_worker'. """ return pulumi.get(self, "worker_configs") @@ -1003,7 +1003,7 @@ def __init__(__self__, *, :param pulumi.Input[int] cluster_max_service_num: The maximum number of services in the cluster. Default is 256. The range is from 32 to 32768. When its power unequal to 2, it will round upward to the closest power of 2. :param pulumi.Input[str] cluster_name: Name of the cluster. :param pulumi.Input[int] cluster_node_num: Number of nodes in the cluster. - :param pulumi.Input[str] cluster_os: Operating system of the cluster, the available values include: 'centos7.6.0_x64','ubuntu18.04.1x86_64','tlinux2.4x86_64'. Default is 'tlinux2.4x86_64'. + :param pulumi.Input[str] cluster_os: Cluster operating system, supports setting public images (the field passes the corresponding image Name) and custom images (the field passes the corresponding image ID). For details, please refer to: https://cloud.tencent.com/document/product/457/68289. :param pulumi.Input[str] cluster_os_type: Image type of the cluster os, the available values include: 'GENERAL'. Default is 'GENERAL'. :param pulumi.Input[str] cluster_subnet_id: Subnet ID of the cluster, such as: subnet-b3p7d7q5. :param pulumi.Input[str] cluster_version: Version of the cluster. Use `kubernetes_get_available_cluster_versions` to get the upgradable cluster version. @@ -1043,7 +1043,7 @@ def __init__(__self__, *, :param pulumi.Input[str] user_name: User name of account. :param pulumi.Input[str] vpc_cni_type: Distinguish between shared network card multi-IP mode and independent network card mode. Fill in `tke-route-eni` for shared network card multi-IP mode and `tke-direct-eni` for independent network card mode. The default is shared network card mode. When it is necessary to turn off the vpc-cni container network capability, both `eni_subnet_ids` and `vpc_cni_type` must be set to empty. :param pulumi.Input[str] vpc_id: Vpc Id of the cluster. - :param pulumi.Input[Sequence[pulumi.Input['ClusterWorkerConfigArgs']]] worker_configs: Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_worker'. + :param pulumi.Input[Sequence[pulumi.Input['ClusterWorkerConfigArgs']]] worker_configs: Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_scale_worker'. :param pulumi.Input[Sequence[pulumi.Input['ClusterWorkerInstancesListArgs']]] worker_instances_lists: An information list of cvm within the 'WORKER' clusters. Each element contains the following attributes: """ if acquire_cluster_admin_role is not None: @@ -1494,7 +1494,7 @@ def cluster_node_num(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="clusterOs") def cluster_os(self) -> Optional[pulumi.Input[str]]: """ - Operating system of the cluster, the available values include: 'centos7.6.0_x64','ubuntu18.04.1x86_64','tlinux2.4x86_64'. Default is 'tlinux2.4x86_64'. + Cluster operating system, supports setting public images (the field passes the corresponding image Name) and custom images (the field passes the corresponding image ID). For details, please refer to: https://cloud.tencent.com/document/product/457/68289. """ return pulumi.get(self, "cluster_os") @@ -1977,7 +1977,7 @@ def vpc_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="workerConfigs") def worker_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterWorkerConfigArgs']]]]: """ - Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_worker'. + Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_scale_worker'. """ return pulumi.get(self, "worker_configs") @@ -2214,6 +2214,14 @@ def __init__(__self__, ``` + ## Import + + tke cluster can be imported, e.g. + + ```sh + $ pulumi import tencentcloud:Kubernetes/cluster:Cluster test cls-xxx + ``` + :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[bool] acquire_cluster_admin_role: If set to true, it will acquire the ClusterRole tke:admin. NOTE: this arguments cannot revoke to `false` after acquired. @@ -2237,7 +2245,7 @@ def __init__(__self__, :param pulumi.Input[int] cluster_max_pod_num: The maximum number of Pods per node in the cluster. Default is 256. The minimum value is 4. When its power unequal to 2, it will round upward to the closest power of 2. :param pulumi.Input[int] cluster_max_service_num: The maximum number of services in the cluster. Default is 256. The range is from 32 to 32768. When its power unequal to 2, it will round upward to the closest power of 2. :param pulumi.Input[str] cluster_name: Name of the cluster. - :param pulumi.Input[str] cluster_os: Operating system of the cluster, the available values include: 'centos7.6.0_x64','ubuntu18.04.1x86_64','tlinux2.4x86_64'. Default is 'tlinux2.4x86_64'. + :param pulumi.Input[str] cluster_os: Cluster operating system, supports setting public images (the field passes the corresponding image Name) and custom images (the field passes the corresponding image ID). For details, please refer to: https://cloud.tencent.com/document/product/457/68289. :param pulumi.Input[str] cluster_os_type: Image type of the cluster os, the available values include: 'GENERAL'. Default is 'GENERAL'. :param pulumi.Input[str] cluster_subnet_id: Subnet ID of the cluster, such as: subnet-b3p7d7q5. :param pulumi.Input[str] cluster_version: Version of the cluster. Use `kubernetes_get_available_cluster_versions` to get the upgradable cluster version. @@ -2270,7 +2278,7 @@ def __init__(__self__, :param pulumi.Input[bool] upgrade_instances_follow_cluster: Indicates whether upgrade all instances when cluster_version change. Default is false. :param pulumi.Input[str] vpc_cni_type: Distinguish between shared network card multi-IP mode and independent network card mode. Fill in `tke-route-eni` for shared network card multi-IP mode and `tke-direct-eni` for independent network card mode. The default is shared network card mode. When it is necessary to turn off the vpc-cni container network capability, both `eni_subnet_ids` and `vpc_cni_type` must be set to empty. :param pulumi.Input[str] vpc_id: Vpc Id of the cluster. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterWorkerConfigArgs']]]] worker_configs: Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_worker'. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterWorkerConfigArgs']]]] worker_configs: Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_scale_worker'. """ ... @overload @@ -2433,6 +2441,14 @@ def __init__(__self__, ``` + ## Import + + tke cluster can be imported, e.g. + + ```sh + $ pulumi import tencentcloud:Kubernetes/cluster:Cluster test cls-xxx + ``` + :param str resource_name: The name of the resource. :param ClusterArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. @@ -2690,7 +2706,7 @@ def get(resource_name: str, :param pulumi.Input[int] cluster_max_service_num: The maximum number of services in the cluster. Default is 256. The range is from 32 to 32768. When its power unequal to 2, it will round upward to the closest power of 2. :param pulumi.Input[str] cluster_name: Name of the cluster. :param pulumi.Input[int] cluster_node_num: Number of nodes in the cluster. - :param pulumi.Input[str] cluster_os: Operating system of the cluster, the available values include: 'centos7.6.0_x64','ubuntu18.04.1x86_64','tlinux2.4x86_64'. Default is 'tlinux2.4x86_64'. + :param pulumi.Input[str] cluster_os: Cluster operating system, supports setting public images (the field passes the corresponding image Name) and custom images (the field passes the corresponding image ID). For details, please refer to: https://cloud.tencent.com/document/product/457/68289. :param pulumi.Input[str] cluster_os_type: Image type of the cluster os, the available values include: 'GENERAL'. Default is 'GENERAL'. :param pulumi.Input[str] cluster_subnet_id: Subnet ID of the cluster, such as: subnet-b3p7d7q5. :param pulumi.Input[str] cluster_version: Version of the cluster. Use `kubernetes_get_available_cluster_versions` to get the upgradable cluster version. @@ -2730,7 +2746,7 @@ def get(resource_name: str, :param pulumi.Input[str] user_name: User name of account. :param pulumi.Input[str] vpc_cni_type: Distinguish between shared network card multi-IP mode and independent network card mode. Fill in `tke-route-eni` for shared network card multi-IP mode and `tke-direct-eni` for independent network card mode. The default is shared network card mode. When it is necessary to turn off the vpc-cni container network capability, both `eni_subnet_ids` and `vpc_cni_type` must be set to empty. :param pulumi.Input[str] vpc_id: Vpc Id of the cluster. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterWorkerConfigArgs']]]] worker_configs: Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_worker'. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterWorkerConfigArgs']]]] worker_configs: Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_scale_worker'. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterWorkerInstancesListArgs']]]] worker_instances_lists: An information list of cvm within the 'WORKER' clusters. Each element contains the following attributes: """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -2915,7 +2931,7 @@ def cluster_extra_args(self) -> pulumi.Output[Optional['outputs.ClusterClusterEx @property @pulumi.getter(name="clusterInternet") - def cluster_internet(self) -> pulumi.Output[bool]: + def cluster_internet(self) -> pulumi.Output[Optional[bool]]: """ Open internet access or not. If this field is set 'true', the field below `worker_config` must be set. Because only cluster with node is allowed enable access endpoint. You may open it through `Kubernetes.ClusterEndpoint`. """ @@ -2939,7 +2955,7 @@ def cluster_internet_security_group(self) -> pulumi.Output[str]: @property @pulumi.getter(name="clusterIntranet") - def cluster_intranet(self) -> pulumi.Output[bool]: + def cluster_intranet(self) -> pulumi.Output[Optional[bool]]: """ Open intranet access or not. If this field is set 'true', the field below `worker_config` must be set. Because only cluster with node is allowed enable access endpoint. You may open it through `Kubernetes.ClusterEndpoint`. """ @@ -3013,7 +3029,7 @@ def cluster_node_num(self) -> pulumi.Output[int]: @pulumi.getter(name="clusterOs") def cluster_os(self) -> pulumi.Output[Optional[str]]: """ - Operating system of the cluster, the available values include: 'centos7.6.0_x64','ubuntu18.04.1x86_64','tlinux2.4x86_64'. Default is 'tlinux2.4x86_64'. + Cluster operating system, supports setting public images (the field passes the corresponding image Name) and custom images (the field passes the corresponding image ID). For details, please refer to: https://cloud.tencent.com/document/product/457/68289. """ return pulumi.get(self, "cluster_os") @@ -3336,7 +3352,7 @@ def vpc_id(self) -> pulumi.Output[str]: @pulumi.getter(name="workerConfigs") def worker_configs(self) -> pulumi.Output[Optional[Sequence['outputs.ClusterWorkerConfig']]]: """ - Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_worker'. + Deploy the machine configuration information of the 'WORKER' service, and create <=20 units for common users. The other 'WORK' service are added by 'tencentcloud_kubernetes_scale_worker'. """ return pulumi.get(self, "worker_configs") diff --git a/sdk/python/tencentcloud_iac_pulumi/kubernetes/get_cluster_native_node_pools.py b/sdk/python/tencentcloud_iac_pulumi/kubernetes/get_cluster_native_node_pools.py new file mode 100644 index 000000000..56f228bbe --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/kubernetes/get_cluster_native_node_pools.py @@ -0,0 +1,173 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = [ + 'GetClusterNativeNodePoolsResult', + 'AwaitableGetClusterNativeNodePoolsResult', + 'get_cluster_native_node_pools', + 'get_cluster_native_node_pools_output', +] + +@pulumi.output_type +class GetClusterNativeNodePoolsResult: + """ + A collection of values returned by getClusterNativeNodePools. + """ + def __init__(__self__, cluster_id=None, filters=None, id=None, node_pools=None, result_output_file=None): + if cluster_id and not isinstance(cluster_id, str): + raise TypeError("Expected argument 'cluster_id' to be a str") + pulumi.set(__self__, "cluster_id", cluster_id) + if filters and not isinstance(filters, list): + raise TypeError("Expected argument 'filters' to be a list") + pulumi.set(__self__, "filters", filters) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if node_pools and not isinstance(node_pools, list): + raise TypeError("Expected argument 'node_pools' to be a list") + pulumi.set(__self__, "node_pools", node_pools) + if result_output_file and not isinstance(result_output_file, str): + raise TypeError("Expected argument 'result_output_file' to be a str") + pulumi.set(__self__, "result_output_file", result_output_file) + + @property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> str: + """ + ID of the cluster. + """ + return pulumi.get(self, "cluster_id") + + @property + @pulumi.getter + def filters(self) -> Optional[Sequence['outputs.GetClusterNativeNodePoolsFilterResult']]: + return pulumi.get(self, "filters") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="nodePools") + def node_pools(self) -> Sequence['outputs.GetClusterNativeNodePoolsNodePoolResult']: + """ + Node pool list. + """ + return pulumi.get(self, "node_pools") + + @property + @pulumi.getter(name="resultOutputFile") + def result_output_file(self) -> Optional[str]: + return pulumi.get(self, "result_output_file") + + +class AwaitableGetClusterNativeNodePoolsResult(GetClusterNativeNodePoolsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetClusterNativeNodePoolsResult( + cluster_id=self.cluster_id, + filters=self.filters, + id=self.id, + node_pools=self.node_pools, + result_output_file=self.result_output_file) + + +def get_cluster_native_node_pools(cluster_id: Optional[str] = None, + filters: Optional[Sequence[pulumi.InputType['GetClusterNativeNodePoolsFilterArgs']]] = None, + result_output_file: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetClusterNativeNodePoolsResult: + """ + Use this data source to query detailed information of tke kubernetes cluster_native_node_pools + + ## Example Usage + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + kubernetes_cluster_native_node_pools = tencentcloud.Kubernetes.get_cluster_native_node_pools(cluster_id="cls-eyi0erm0", + filters=[ + tencentcloud.kubernetes.GetClusterNativeNodePoolsFilterArgs( + name="NodePoolsName", + values=["native_node_pool"], + ), + tencentcloud.kubernetes.GetClusterNativeNodePoolsFilterArgs( + name="NodePoolsId", + values=["np-ngjwhdv4"], + ), + ]) + ``` + + + + :param str cluster_id: ID of the cluster. + :param Sequence[pulumi.InputType['GetClusterNativeNodePoolsFilterArgs']] filters: Query filter conditions: NodePoolsName, Filter according to the node pool name, type: String, required: no. NodePoolsId, Filter according to the node pool ID, type: String, required: no. tags, Filter according to the label key value pairs, type: String, required: no. tag:tag-key, Filter according to the label key value pairs, type: String, required: no. + :param str result_output_file: Used to save results. + """ + __args__ = dict() + __args__['clusterId'] = cluster_id + __args__['filters'] = filters + __args__['resultOutputFile'] = result_output_file + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('tencentcloud:Kubernetes/getClusterNativeNodePools:getClusterNativeNodePools', __args__, opts=opts, typ=GetClusterNativeNodePoolsResult).value + + return AwaitableGetClusterNativeNodePoolsResult( + cluster_id=pulumi.get(__ret__, 'cluster_id'), + filters=pulumi.get(__ret__, 'filters'), + id=pulumi.get(__ret__, 'id'), + node_pools=pulumi.get(__ret__, 'node_pools'), + result_output_file=pulumi.get(__ret__, 'result_output_file')) + + +@_utilities.lift_output_func(get_cluster_native_node_pools) +def get_cluster_native_node_pools_output(cluster_id: Optional[pulumi.Input[str]] = None, + filters: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetClusterNativeNodePoolsFilterArgs']]]]] = None, + result_output_file: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetClusterNativeNodePoolsResult]: + """ + Use this data source to query detailed information of tke kubernetes cluster_native_node_pools + + ## Example Usage + + + ```python + import pulumi + import pulumi_tencentcloud as tencentcloud + + kubernetes_cluster_native_node_pools = tencentcloud.Kubernetes.get_cluster_native_node_pools(cluster_id="cls-eyi0erm0", + filters=[ + tencentcloud.kubernetes.GetClusterNativeNodePoolsFilterArgs( + name="NodePoolsName", + values=["native_node_pool"], + ), + tencentcloud.kubernetes.GetClusterNativeNodePoolsFilterArgs( + name="NodePoolsId", + values=["np-ngjwhdv4"], + ), + ]) + ``` + + + + :param str cluster_id: ID of the cluster. + :param Sequence[pulumi.InputType['GetClusterNativeNodePoolsFilterArgs']] filters: Query filter conditions: NodePoolsName, Filter according to the node pool name, type: String, required: no. NodePoolsId, Filter according to the node pool ID, type: String, required: no. tags, Filter according to the label key value pairs, type: String, required: no. tag:tag-key, Filter according to the label key value pairs, type: String, required: no. + :param str result_output_file: Used to save results. + """ + ... diff --git a/sdk/python/tencentcloud_iac_pulumi/kubernetes/native_node_pool.py b/sdk/python/tencentcloud_iac_pulumi/kubernetes/native_node_pool.py new file mode 100644 index 000000000..c73c4702d --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/kubernetes/native_node_pool.py @@ -0,0 +1,855 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['NativeNodePoolArgs', 'NativeNodePool'] + +@pulumi.input_type +class NativeNodePoolArgs: + def __init__(__self__, *, + cluster_id: pulumi.Input[str], + native: pulumi.Input['NativeNodePoolNativeArgs'], + type: pulumi.Input[str], + annotations: Optional[pulumi.Input[Sequence[pulumi.Input['NativeNodePoolAnnotationArgs']]]] = None, + deletion_protection: Optional[pulumi.Input[bool]] = None, + labels: Optional[pulumi.Input[Sequence[pulumi.Input['NativeNodePoolLabelArgs']]]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input['NativeNodePoolTagArgs']]]] = None, + taints: Optional[pulumi.Input[Sequence[pulumi.Input['NativeNodePoolTaintArgs']]]] = None, + unschedulable: Optional[pulumi.Input[bool]] = None): + """ + The set of arguments for constructing a NativeNodePool resource. + :param pulumi.Input[str] cluster_id: ID of the cluster. + :param pulumi.Input['NativeNodePoolNativeArgs'] native: Native node pool creation parameters. + :param pulumi.Input[str] type: Node pool type. Optional value is `Native`. + :param pulumi.Input[Sequence[pulumi.Input['NativeNodePoolAnnotationArgs']]] annotations: Node Annotation List. + :param pulumi.Input[bool] deletion_protection: Whether to enable deletion protection. + :param pulumi.Input[Sequence[pulumi.Input['NativeNodePoolLabelArgs']]] labels: Node Labels. + :param pulumi.Input[str] name: Node pool name. + :param pulumi.Input[Sequence[pulumi.Input['NativeNodePoolTagArgs']]] tags: Node tags. + :param pulumi.Input[Sequence[pulumi.Input['NativeNodePoolTaintArgs']]] taints: Node taint. + :param pulumi.Input[bool] unschedulable: Whether the node is not schedulable by default. The native node is not aware of it and passes false by default. + """ + pulumi.set(__self__, "cluster_id", cluster_id) + pulumi.set(__self__, "native", native) + pulumi.set(__self__, "type", type) + if annotations is not None: + pulumi.set(__self__, "annotations", annotations) + if deletion_protection is not None: + pulumi.set(__self__, "deletion_protection", deletion_protection) + if labels is not None: + pulumi.set(__self__, "labels", labels) + if name is not None: + pulumi.set(__self__, "name", name) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if taints is not None: + pulumi.set(__self__, "taints", taints) + if unschedulable is not None: + pulumi.set(__self__, "unschedulable", unschedulable) + + @property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> pulumi.Input[str]: + """ + ID of the cluster. + """ + return pulumi.get(self, "cluster_id") + + @cluster_id.setter + def cluster_id(self, value: pulumi.Input[str]): + pulumi.set(self, "cluster_id", value) + + @property + @pulumi.getter + def native(self) -> pulumi.Input['NativeNodePoolNativeArgs']: + """ + Native node pool creation parameters. + """ + return pulumi.get(self, "native") + + @native.setter + def native(self, value: pulumi.Input['NativeNodePoolNativeArgs']): + pulumi.set(self, "native", value) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + """ + Node pool type. Optional value is `Native`. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def annotations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NativeNodePoolAnnotationArgs']]]]: + """ + Node Annotation List. + """ + return pulumi.get(self, "annotations") + + @annotations.setter + def annotations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NativeNodePoolAnnotationArgs']]]]): + pulumi.set(self, "annotations", value) + + @property + @pulumi.getter(name="deletionProtection") + def deletion_protection(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to enable deletion protection. + """ + return pulumi.get(self, "deletion_protection") + + @deletion_protection.setter + def deletion_protection(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "deletion_protection", value) + + @property + @pulumi.getter + def labels(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NativeNodePoolLabelArgs']]]]: + """ + Node Labels. + """ + return pulumi.get(self, "labels") + + @labels.setter + def labels(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NativeNodePoolLabelArgs']]]]): + pulumi.set(self, "labels", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Node pool name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NativeNodePoolTagArgs']]]]: + """ + Node tags. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NativeNodePoolTagArgs']]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter + def taints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NativeNodePoolTaintArgs']]]]: + """ + Node taint. + """ + return pulumi.get(self, "taints") + + @taints.setter + def taints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NativeNodePoolTaintArgs']]]]): + pulumi.set(self, "taints", value) + + @property + @pulumi.getter + def unschedulable(self) -> Optional[pulumi.Input[bool]]: + """ + Whether the node is not schedulable by default. The native node is not aware of it and passes false by default. + """ + return pulumi.get(self, "unschedulable") + + @unschedulable.setter + def unschedulable(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "unschedulable", value) + + +@pulumi.input_type +class _NativeNodePoolState: + def __init__(__self__, *, + annotations: Optional[pulumi.Input[Sequence[pulumi.Input['NativeNodePoolAnnotationArgs']]]] = None, + cluster_id: Optional[pulumi.Input[str]] = None, + created_at: Optional[pulumi.Input[str]] = None, + deletion_protection: Optional[pulumi.Input[bool]] = None, + labels: Optional[pulumi.Input[Sequence[pulumi.Input['NativeNodePoolLabelArgs']]]] = None, + life_state: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + native: Optional[pulumi.Input['NativeNodePoolNativeArgs']] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input['NativeNodePoolTagArgs']]]] = None, + taints: Optional[pulumi.Input[Sequence[pulumi.Input['NativeNodePoolTaintArgs']]]] = None, + type: Optional[pulumi.Input[str]] = None, + unschedulable: Optional[pulumi.Input[bool]] = None): + """ + Input properties used for looking up and filtering NativeNodePool resources. + :param pulumi.Input[Sequence[pulumi.Input['NativeNodePoolAnnotationArgs']]] annotations: Node Annotation List. + :param pulumi.Input[str] cluster_id: ID of the cluster. + :param pulumi.Input[str] created_at: Creation time. + :param pulumi.Input[bool] deletion_protection: Whether to enable deletion protection. + :param pulumi.Input[Sequence[pulumi.Input['NativeNodePoolLabelArgs']]] labels: Node Labels. + :param pulumi.Input[str] life_state: Node pool status. + :param pulumi.Input[str] name: Node pool name. + :param pulumi.Input['NativeNodePoolNativeArgs'] native: Native node pool creation parameters. + :param pulumi.Input[Sequence[pulumi.Input['NativeNodePoolTagArgs']]] tags: Node tags. + :param pulumi.Input[Sequence[pulumi.Input['NativeNodePoolTaintArgs']]] taints: Node taint. + :param pulumi.Input[str] type: Node pool type. Optional value is `Native`. + :param pulumi.Input[bool] unschedulable: Whether the node is not schedulable by default. The native node is not aware of it and passes false by default. + """ + if annotations is not None: + pulumi.set(__self__, "annotations", annotations) + if cluster_id is not None: + pulumi.set(__self__, "cluster_id", cluster_id) + if created_at is not None: + pulumi.set(__self__, "created_at", created_at) + if deletion_protection is not None: + pulumi.set(__self__, "deletion_protection", deletion_protection) + if labels is not None: + pulumi.set(__self__, "labels", labels) + if life_state is not None: + pulumi.set(__self__, "life_state", life_state) + if name is not None: + pulumi.set(__self__, "name", name) + if native is not None: + pulumi.set(__self__, "native", native) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if taints is not None: + pulumi.set(__self__, "taints", taints) + if type is not None: + pulumi.set(__self__, "type", type) + if unschedulable is not None: + pulumi.set(__self__, "unschedulable", unschedulable) + + @property + @pulumi.getter + def annotations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NativeNodePoolAnnotationArgs']]]]: + """ + Node Annotation List. + """ + return pulumi.get(self, "annotations") + + @annotations.setter + def annotations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NativeNodePoolAnnotationArgs']]]]): + pulumi.set(self, "annotations", value) + + @property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the cluster. + """ + return pulumi.get(self, "cluster_id") + + @cluster_id.setter + def cluster_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cluster_id", value) + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> Optional[pulumi.Input[str]]: + """ + Creation time. + """ + return pulumi.get(self, "created_at") + + @created_at.setter + def created_at(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "created_at", value) + + @property + @pulumi.getter(name="deletionProtection") + def deletion_protection(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to enable deletion protection. + """ + return pulumi.get(self, "deletion_protection") + + @deletion_protection.setter + def deletion_protection(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "deletion_protection", value) + + @property + @pulumi.getter + def labels(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NativeNodePoolLabelArgs']]]]: + """ + Node Labels. + """ + return pulumi.get(self, "labels") + + @labels.setter + def labels(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NativeNodePoolLabelArgs']]]]): + pulumi.set(self, "labels", value) + + @property + @pulumi.getter(name="lifeState") + def life_state(self) -> Optional[pulumi.Input[str]]: + """ + Node pool status. + """ + return pulumi.get(self, "life_state") + + @life_state.setter + def life_state(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "life_state", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Node pool name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def native(self) -> Optional[pulumi.Input['NativeNodePoolNativeArgs']]: + """ + Native node pool creation parameters. + """ + return pulumi.get(self, "native") + + @native.setter + def native(self, value: Optional[pulumi.Input['NativeNodePoolNativeArgs']]): + pulumi.set(self, "native", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NativeNodePoolTagArgs']]]]: + """ + Node tags. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NativeNodePoolTagArgs']]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter + def taints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NativeNodePoolTaintArgs']]]]: + """ + Node taint. + """ + return pulumi.get(self, "taints") + + @taints.setter + def taints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NativeNodePoolTaintArgs']]]]): + pulumi.set(self, "taints", value) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[str]]: + """ + Node pool type. Optional value is `Native`. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def unschedulable(self) -> Optional[pulumi.Input[bool]]: + """ + Whether the node is not schedulable by default. The native node is not aware of it and passes false by default. + """ + return pulumi.get(self, "unschedulable") + + @unschedulable.setter + def unschedulable(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "unschedulable", value) + + +class NativeNodePool(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + annotations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NativeNodePoolAnnotationArgs']]]]] = None, + cluster_id: Optional[pulumi.Input[str]] = None, + deletion_protection: Optional[pulumi.Input[bool]] = None, + labels: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NativeNodePoolLabelArgs']]]]] = None, + name: Optional[pulumi.Input[str]] = None, + native: Optional[pulumi.Input[pulumi.InputType['NativeNodePoolNativeArgs']]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NativeNodePoolTagArgs']]]]] = None, + taints: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NativeNodePoolTaintArgs']]]]] = None, + type: Optional[pulumi.Input[str]] = None, + unschedulable: Optional[pulumi.Input[bool]] = None, + __props__=None): + """ + Provides a resource to create a tke kubernetes_native_node_pool + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + kubernetes_native_node_pool = tencentcloud.kubernetes.NativeNodePool("kubernetesNativeNodePool", + annotations=[ + tencentcloud.kubernetes.NativeNodePoolAnnotationArgs( + name="node.tke.cloud.tencent.com/test-anno", + value="test", + ), + tencentcloud.kubernetes.NativeNodePoolAnnotationArgs( + name="node.tke.cloud.tencent.com/test-label", + value="test", + ), + ], + cluster_id="cls-eyier120", + deletion_protection=False, + labels=[tencentcloud.kubernetes.NativeNodePoolLabelArgs( + name="test11", + value="test21", + )], + native=tencentcloud.kubernetes.NativeNodePoolNativeArgs( + auto_repair=False, + data_disks=[tencentcloud.kubernetes.NativeNodePoolNativeDataDiskArgs( + auto_format_and_mount=True, + disk_size=60, + disk_type="CLOUD_PREMIUM", + file_system="ext4", + mount_target="/var/lib/containerd", + )], + enable_autoscaling=True, + host_name_pattern="aaa{R:3}", + instance_charge_prepaid=tencentcloud.kubernetes.NativeNodePoolNativeInstanceChargePrepaidArgs( + period=1, + renew_flag="NOTIFY_AND_MANUAL_RENEW", + ), + instance_charge_type="PREPAID", + instance_types=["SA2.MEDIUM2"], + internet_accessible=tencentcloud.kubernetes.NativeNodePoolNativeInternetAccessibleArgs( + charge_type="TRAFFIC_POSTPAID_BY_HOUR", + max_bandwidth_out=50, + ), + key_ids=["skey-9pcs2100"], + kubelet_args=[ + "allowed-unsafe-sysctls=net.core.somaxconn", + "root-dir=/var/lib/test", + ], + lifecycle=tencentcloud.kubernetes.NativeNodePoolNativeLifecycleArgs( + post_init="ZWNobyBoZWxsb3dvcmxk", + pre_init="ZWNobyBoZWxsb3dvcmxk", + ), + management=tencentcloud.kubernetes.NativeNodePoolNativeManagementArgs( + hosts=[ + "192.168.2.42 static.fake.com", + "192.168.2.42 static.fake.com2", + ], + kernel_args=[ + "kernel.pid_max=65535", + "fs.file-max=400000", + ], + nameservers=[ + "183.60.83.19", + "183.60.82.98", + ], + ), + replicas=2, + runtime_root_dir="/var/lib/docker", + scaling=tencentcloud.kubernetes.NativeNodePoolNativeScalingArgs( + create_policy="ZoneEquality", + max_replicas=10, + min_replicas=1, + ), + security_group_ids=["sg-7tum9120"], + subnet_ids=["subnet-itb6d123"], + system_disk=tencentcloud.kubernetes.NativeNodePoolNativeSystemDiskArgs( + disk_size=50, + disk_type="CLOUD_SSD", + ), + ), + tags=[tencentcloud.kubernetes.NativeNodePoolTagArgs( + resource_type="machine", + tags=[ + tencentcloud.kubernetes.NativeNodePoolTagTagArgs( + key="keep-test-np1", + value="test1", + ), + tencentcloud.kubernetes.NativeNodePoolTagTagArgs( + key="keep-test-np3", + value="test3", + ), + ], + )], + taints=[tencentcloud.kubernetes.NativeNodePoolTaintArgs( + effect="NoExecute", + key="product", + value="coderider", + )], + type="Native", + unschedulable=False) + ``` + + + ## Import + + tke kubernetes_native_node_pool can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Kubernetes/nativeNodePool:NativeNodePool kubernetes_native_node_pool cls-xxx#np-xxx + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NativeNodePoolAnnotationArgs']]]] annotations: Node Annotation List. + :param pulumi.Input[str] cluster_id: ID of the cluster. + :param pulumi.Input[bool] deletion_protection: Whether to enable deletion protection. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NativeNodePoolLabelArgs']]]] labels: Node Labels. + :param pulumi.Input[str] name: Node pool name. + :param pulumi.Input[pulumi.InputType['NativeNodePoolNativeArgs']] native: Native node pool creation parameters. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NativeNodePoolTagArgs']]]] tags: Node tags. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NativeNodePoolTaintArgs']]]] taints: Node taint. + :param pulumi.Input[str] type: Node pool type. Optional value is `Native`. + :param pulumi.Input[bool] unschedulable: Whether the node is not schedulable by default. The native node is not aware of it and passes false by default. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: NativeNodePoolArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a tke kubernetes_native_node_pool + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + kubernetes_native_node_pool = tencentcloud.kubernetes.NativeNodePool("kubernetesNativeNodePool", + annotations=[ + tencentcloud.kubernetes.NativeNodePoolAnnotationArgs( + name="node.tke.cloud.tencent.com/test-anno", + value="test", + ), + tencentcloud.kubernetes.NativeNodePoolAnnotationArgs( + name="node.tke.cloud.tencent.com/test-label", + value="test", + ), + ], + cluster_id="cls-eyier120", + deletion_protection=False, + labels=[tencentcloud.kubernetes.NativeNodePoolLabelArgs( + name="test11", + value="test21", + )], + native=tencentcloud.kubernetes.NativeNodePoolNativeArgs( + auto_repair=False, + data_disks=[tencentcloud.kubernetes.NativeNodePoolNativeDataDiskArgs( + auto_format_and_mount=True, + disk_size=60, + disk_type="CLOUD_PREMIUM", + file_system="ext4", + mount_target="/var/lib/containerd", + )], + enable_autoscaling=True, + host_name_pattern="aaa{R:3}", + instance_charge_prepaid=tencentcloud.kubernetes.NativeNodePoolNativeInstanceChargePrepaidArgs( + period=1, + renew_flag="NOTIFY_AND_MANUAL_RENEW", + ), + instance_charge_type="PREPAID", + instance_types=["SA2.MEDIUM2"], + internet_accessible=tencentcloud.kubernetes.NativeNodePoolNativeInternetAccessibleArgs( + charge_type="TRAFFIC_POSTPAID_BY_HOUR", + max_bandwidth_out=50, + ), + key_ids=["skey-9pcs2100"], + kubelet_args=[ + "allowed-unsafe-sysctls=net.core.somaxconn", + "root-dir=/var/lib/test", + ], + lifecycle=tencentcloud.kubernetes.NativeNodePoolNativeLifecycleArgs( + post_init="ZWNobyBoZWxsb3dvcmxk", + pre_init="ZWNobyBoZWxsb3dvcmxk", + ), + management=tencentcloud.kubernetes.NativeNodePoolNativeManagementArgs( + hosts=[ + "192.168.2.42 static.fake.com", + "192.168.2.42 static.fake.com2", + ], + kernel_args=[ + "kernel.pid_max=65535", + "fs.file-max=400000", + ], + nameservers=[ + "183.60.83.19", + "183.60.82.98", + ], + ), + replicas=2, + runtime_root_dir="/var/lib/docker", + scaling=tencentcloud.kubernetes.NativeNodePoolNativeScalingArgs( + create_policy="ZoneEquality", + max_replicas=10, + min_replicas=1, + ), + security_group_ids=["sg-7tum9120"], + subnet_ids=["subnet-itb6d123"], + system_disk=tencentcloud.kubernetes.NativeNodePoolNativeSystemDiskArgs( + disk_size=50, + disk_type="CLOUD_SSD", + ), + ), + tags=[tencentcloud.kubernetes.NativeNodePoolTagArgs( + resource_type="machine", + tags=[ + tencentcloud.kubernetes.NativeNodePoolTagTagArgs( + key="keep-test-np1", + value="test1", + ), + tencentcloud.kubernetes.NativeNodePoolTagTagArgs( + key="keep-test-np3", + value="test3", + ), + ], + )], + taints=[tencentcloud.kubernetes.NativeNodePoolTaintArgs( + effect="NoExecute", + key="product", + value="coderider", + )], + type="Native", + unschedulable=False) + ``` + + + ## Import + + tke kubernetes_native_node_pool can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Kubernetes/nativeNodePool:NativeNodePool kubernetes_native_node_pool cls-xxx#np-xxx + ``` + + :param str resource_name: The name of the resource. + :param NativeNodePoolArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(NativeNodePoolArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + annotations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NativeNodePoolAnnotationArgs']]]]] = None, + cluster_id: Optional[pulumi.Input[str]] = None, + deletion_protection: Optional[pulumi.Input[bool]] = None, + labels: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NativeNodePoolLabelArgs']]]]] = None, + name: Optional[pulumi.Input[str]] = None, + native: Optional[pulumi.Input[pulumi.InputType['NativeNodePoolNativeArgs']]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NativeNodePoolTagArgs']]]]] = None, + taints: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NativeNodePoolTaintArgs']]]]] = None, + type: Optional[pulumi.Input[str]] = None, + unschedulable: Optional[pulumi.Input[bool]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = NativeNodePoolArgs.__new__(NativeNodePoolArgs) + + __props__.__dict__["annotations"] = annotations + if cluster_id is None and not opts.urn: + raise TypeError("Missing required property 'cluster_id'") + __props__.__dict__["cluster_id"] = cluster_id + __props__.__dict__["deletion_protection"] = deletion_protection + __props__.__dict__["labels"] = labels + __props__.__dict__["name"] = name + if native is None and not opts.urn: + raise TypeError("Missing required property 'native'") + __props__.__dict__["native"] = native + __props__.__dict__["tags"] = tags + __props__.__dict__["taints"] = taints + if type is None and not opts.urn: + raise TypeError("Missing required property 'type'") + __props__.__dict__["type"] = type + __props__.__dict__["unschedulable"] = unschedulable + __props__.__dict__["created_at"] = None + __props__.__dict__["life_state"] = None + super(NativeNodePool, __self__).__init__( + 'tencentcloud:Kubernetes/nativeNodePool:NativeNodePool', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + annotations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NativeNodePoolAnnotationArgs']]]]] = None, + cluster_id: Optional[pulumi.Input[str]] = None, + created_at: Optional[pulumi.Input[str]] = None, + deletion_protection: Optional[pulumi.Input[bool]] = None, + labels: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NativeNodePoolLabelArgs']]]]] = None, + life_state: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + native: Optional[pulumi.Input[pulumi.InputType['NativeNodePoolNativeArgs']]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NativeNodePoolTagArgs']]]]] = None, + taints: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NativeNodePoolTaintArgs']]]]] = None, + type: Optional[pulumi.Input[str]] = None, + unschedulable: Optional[pulumi.Input[bool]] = None) -> 'NativeNodePool': + """ + Get an existing NativeNodePool resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NativeNodePoolAnnotationArgs']]]] annotations: Node Annotation List. + :param pulumi.Input[str] cluster_id: ID of the cluster. + :param pulumi.Input[str] created_at: Creation time. + :param pulumi.Input[bool] deletion_protection: Whether to enable deletion protection. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NativeNodePoolLabelArgs']]]] labels: Node Labels. + :param pulumi.Input[str] life_state: Node pool status. + :param pulumi.Input[str] name: Node pool name. + :param pulumi.Input[pulumi.InputType['NativeNodePoolNativeArgs']] native: Native node pool creation parameters. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NativeNodePoolTagArgs']]]] tags: Node tags. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NativeNodePoolTaintArgs']]]] taints: Node taint. + :param pulumi.Input[str] type: Node pool type. Optional value is `Native`. + :param pulumi.Input[bool] unschedulable: Whether the node is not schedulable by default. The native node is not aware of it and passes false by default. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _NativeNodePoolState.__new__(_NativeNodePoolState) + + __props__.__dict__["annotations"] = annotations + __props__.__dict__["cluster_id"] = cluster_id + __props__.__dict__["created_at"] = created_at + __props__.__dict__["deletion_protection"] = deletion_protection + __props__.__dict__["labels"] = labels + __props__.__dict__["life_state"] = life_state + __props__.__dict__["name"] = name + __props__.__dict__["native"] = native + __props__.__dict__["tags"] = tags + __props__.__dict__["taints"] = taints + __props__.__dict__["type"] = type + __props__.__dict__["unschedulable"] = unschedulable + return NativeNodePool(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def annotations(self) -> pulumi.Output[Sequence['outputs.NativeNodePoolAnnotation']]: + """ + Node Annotation List. + """ + return pulumi.get(self, "annotations") + + @property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> pulumi.Output[str]: + """ + ID of the cluster. + """ + return pulumi.get(self, "cluster_id") + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> pulumi.Output[str]: + """ + Creation time. + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter(name="deletionProtection") + def deletion_protection(self) -> pulumi.Output[bool]: + """ + Whether to enable deletion protection. + """ + return pulumi.get(self, "deletion_protection") + + @property + @pulumi.getter + def labels(self) -> pulumi.Output[Optional[Sequence['outputs.NativeNodePoolLabel']]]: + """ + Node Labels. + """ + return pulumi.get(self, "labels") + + @property + @pulumi.getter(name="lifeState") + def life_state(self) -> pulumi.Output[str]: + """ + Node pool status. + """ + return pulumi.get(self, "life_state") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Node pool name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def native(self) -> pulumi.Output['outputs.NativeNodePoolNative']: + """ + Native node pool creation parameters. + """ + return pulumi.get(self, "native") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Sequence['outputs.NativeNodePoolTag']]]: + """ + Node tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def taints(self) -> pulumi.Output[Optional[Sequence['outputs.NativeNodePoolTaint']]]: + """ + Node taint. + """ + return pulumi.get(self, "taints") + + @property + @pulumi.getter + def type(self) -> pulumi.Output[str]: + """ + Node pool type. Optional value is `Native`. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter + def unschedulable(self) -> pulumi.Output[bool]: + """ + Whether the node is not schedulable by default. The native node is not aware of it and passes false by default. + """ + return pulumi.get(self, "unschedulable") + diff --git a/sdk/python/tencentcloud_iac_pulumi/kubernetes/outputs.py b/sdk/python/tencentcloud_iac_pulumi/kubernetes/outputs.py index 47c1e132b..cc4796ffc 100644 --- a/sdk/python/tencentcloud_iac_pulumi/kubernetes/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/kubernetes/outputs.py @@ -32,6 +32,19 @@ 'ClusterWorkerConfigDataDisk', 'ClusterWorkerInstancesList', 'EncryptionProtectionKmsConfiguration', + 'NativeNodePoolAnnotation', + 'NativeNodePoolLabel', + 'NativeNodePoolNative', + 'NativeNodePoolNativeDataDisk', + 'NativeNodePoolNativeInstanceChargePrepaid', + 'NativeNodePoolNativeInternetAccessible', + 'NativeNodePoolNativeLifecycle', + 'NativeNodePoolNativeManagement', + 'NativeNodePoolNativeScaling', + 'NativeNodePoolNativeSystemDisk', + 'NativeNodePoolTag', + 'NativeNodePoolTagTag', + 'NativeNodePoolTaint', 'NodePoolAutoScalingConfig', 'NodePoolAutoScalingConfigDataDisk', 'NodePoolNodeConfig', @@ -63,6 +76,21 @@ 'GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelResult', 'GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintResult', 'GetClusterLevelsListResult', + 'GetClusterNativeNodePoolsFilterResult', + 'GetClusterNativeNodePoolsNodePoolResult', + 'GetClusterNativeNodePoolsNodePoolAnnotationResult', + 'GetClusterNativeNodePoolsNodePoolLabelResult', + 'GetClusterNativeNodePoolsNodePoolNativeResult', + 'GetClusterNativeNodePoolsNodePoolNativeDataDiskResult', + 'GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidResult', + 'GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleResult', + 'GetClusterNativeNodePoolsNodePoolNativeLifecycleResult', + 'GetClusterNativeNodePoolsNodePoolNativeManagementResult', + 'GetClusterNativeNodePoolsNodePoolNativeScalingResult', + 'GetClusterNativeNodePoolsNodePoolNativeSystemDiskResult', + 'GetClusterNativeNodePoolsNodePoolTagResult', + 'GetClusterNativeNodePoolsNodePoolTagTagResult', + 'GetClusterNativeNodePoolsNodePoolTaintResult', 'GetClusterNodePoolsFilterResult', 'GetClusterNodePoolsNodePoolSetResult', 'GetClusterNodePoolsNodePoolSetDataDiskResult', @@ -1335,7 +1363,7 @@ def __init__(__self__, *, :param bool enhanced_security_service: To specify whether to enable cloud security service. Default is TRUE. :param str hostname: The host name of the attached instance. Dot (.) and dash (-) cannot be used as the first and last characters of HostName and cannot be used consecutively. Windows example: The length of the name character is [2, 15], letters (capitalization is not restricted), numbers and dashes (-) are allowed, dots (.) are not supported, and not all numbers are allowed. Examples of other types (Linux, etc.): The character length is [2, 60], and multiple dots are allowed. There is a segment between the dots. Each segment allows letters (with no limitation on capitalization), numbers and dashes (-). :param str hpc_cluster_id: Id of cvm hpc cluster. - :param str img_id: The valid image id, format of img-xxx. + :param str img_id: The valid image id, format of img-xxx. Note: `img_id` will be replaced with the image corresponding to TKE `cluster_os`. :param str instance_charge_type: The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. Note: TencentCloud International only supports `POSTPAID_BY_HOUR`, `PREPAID` instance will not terminated after cluster deleted, and may not allow to delete before expired. :param int instance_charge_type_prepaid_period: The tenancy (time unit is month) of the prepaid instance. NOTE: it only works when instance_charge_type is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. :param str instance_charge_type_prepaid_renew_flag: Auto renewal flag. Valid values: `NOTIFY_AND_AUTO_RENEW`: notify upon expiration and renew automatically, `NOTIFY_AND_MANUAL_RENEW`: notify upon expiration but do not renew automatically, `DISABLE_NOTIFY_AND_MANUAL_RENEW`: neither notify upon expiration nor renew automatically. Default value: `NOTIFY_AND_MANUAL_RENEW`. If this parameter is specified as `NOTIFY_AND_AUTO_RENEW`, the instance will be automatically renewed on a monthly basis if the account balance is sufficient. NOTE: it only works when instance_charge_type is set to `PREPAID`. @@ -1348,7 +1376,7 @@ def __init__(__self__, *, :param Sequence[str] security_group_ids: Security groups to which a CVM instance belongs. :param int system_disk_size: Volume of system disk in GB. Default is `50`. :param str system_disk_type: System disk type. For more information on limits of system disk types, see [Storage Overview](https://intl.cloud.tencent.com/document/product/213/4952). Valid values: `LOCAL_BASIC`: local disk, `LOCAL_SSD`: local SSD disk, `CLOUD_SSD`: SSD, `CLOUD_PREMIUM`: Premium Cloud Storage. NOTE: `CLOUD_BASIC`, `LOCAL_BASIC` and `LOCAL_SSD` are deprecated. - :param str user_data: User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB. + :param str user_data: ase64-encoded User Data text, the length limit is 16KB. """ pulumi.set(__self__, "instance_type", instance_type) pulumi.set(__self__, "subnet_id", subnet_id) @@ -1511,7 +1539,7 @@ def hpc_cluster_id(self) -> Optional[str]: @pulumi.getter(name="imgId") def img_id(self) -> Optional[str]: """ - The valid image id, format of img-xxx. + The valid image id, format of img-xxx. Note: `img_id` will be replaced with the image corresponding to TKE `cluster_os`. """ return pulumi.get(self, "img_id") @@ -1615,7 +1643,7 @@ def system_disk_type(self) -> Optional[str]: @pulumi.getter(name="userData") def user_data(self) -> Optional[str]: """ - User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB. + ase64-encoded User Data text, the length limit is 16KB. """ return pulumi.get(self, "user_data") @@ -2019,7 +2047,7 @@ def __init__(__self__, *, :param bool enhanced_security_service: To specify whether to enable cloud security service. Default is TRUE. :param str hostname: The host name of the attached instance. Dot (.) and dash (-) cannot be used as the first and last characters of HostName and cannot be used consecutively. Windows example: The length of the name character is [2, 15], letters (capitalization is not restricted), numbers and dashes (-) are allowed, dots (.) are not supported, and not all numbers are allowed. Examples of other types (Linux, etc.): The character length is [2, 60], and multiple dots are allowed. There is a segment between the dots. Each segment allows letters (with no limitation on capitalization), numbers and dashes (-). :param str hpc_cluster_id: Id of cvm hpc cluster. - :param str img_id: The valid image id, format of img-xxx. + :param str img_id: The valid image id, format of img-xxx. Note: `img_id` will be replaced with the image corresponding to TKE `cluster_os`. :param str instance_charge_type: The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. Note: TencentCloud International only supports `POSTPAID_BY_HOUR`, `PREPAID` instance will not terminated after cluster deleted, and may not allow to delete before expired. :param int instance_charge_type_prepaid_period: The tenancy (time unit is month) of the prepaid instance. NOTE: it only works when instance_charge_type is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. :param str instance_charge_type_prepaid_renew_flag: Auto renewal flag. Valid values: `NOTIFY_AND_AUTO_RENEW`: notify upon expiration and renew automatically, `NOTIFY_AND_MANUAL_RENEW`: notify upon expiration but do not renew automatically, `DISABLE_NOTIFY_AND_MANUAL_RENEW`: neither notify upon expiration nor renew automatically. Default value: `NOTIFY_AND_MANUAL_RENEW`. If this parameter is specified as `NOTIFY_AND_AUTO_RENEW`, the instance will be automatically renewed on a monthly basis if the account balance is sufficient. NOTE: it only works when instance_charge_type is set to `PREPAID`. @@ -2032,7 +2060,7 @@ def __init__(__self__, *, :param Sequence[str] security_group_ids: Security groups to which a CVM instance belongs. :param int system_disk_size: Volume of system disk in GB. Default is `50`. :param str system_disk_type: System disk type. For more information on limits of system disk types, see [Storage Overview](https://intl.cloud.tencent.com/document/product/213/4952). Valid values: `LOCAL_BASIC`: local disk, `LOCAL_SSD`: local SSD disk, `CLOUD_SSD`: SSD, `CLOUD_PREMIUM`: Premium Cloud Storage. NOTE: `CLOUD_BASIC`, `LOCAL_BASIC` and `LOCAL_SSD` are deprecated. - :param str user_data: User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB. + :param str user_data: ase64-encoded User Data text, the length limit is 16KB. """ pulumi.set(__self__, "instance_type", instance_type) pulumi.set(__self__, "subnet_id", subnet_id) @@ -2195,7 +2223,7 @@ def hpc_cluster_id(self) -> Optional[str]: @pulumi.getter(name="imgId") def img_id(self) -> Optional[str]: """ - The valid image id, format of img-xxx. + The valid image id, format of img-xxx. Note: `img_id` will be replaced with the image corresponding to TKE `cluster_os`. """ return pulumi.get(self, "img_id") @@ -2299,7 +2327,7 @@ def system_disk_type(self) -> Optional[str]: @pulumi.getter(name="userData") def user_data(self) -> Optional[str]: """ - User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB. + ase64-encoded User Data text, the length limit is 16KB. """ return pulumi.get(self, "user_data") @@ -2593,455 +2621,483 @@ def kms_region(self) -> Optional[str]: @pulumi.output_type -class NodePoolAutoScalingConfig(dict): +class NativeNodePoolAnnotation(dict): + def __init__(__self__, *, + name: str, + value: str): + """ + :param str name: Name in the map table. + :param str value: Value in the map table. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> str: + """ + Name in the map table. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def value(self) -> str: + """ + Value in the map table. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class NativeNodePoolLabel(dict): + def __init__(__self__, *, + name: str, + value: str): + """ + :param str name: Name in the map table. + :param str value: Value in map table. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> str: + """ + Name in the map table. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def value(self) -> str: + """ + Value in map table. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class NativeNodePoolNative(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "instanceType": - suggest = "instance_type" - elif key == "backupInstanceTypes": - suggest = "backup_instance_types" - elif key == "bandwidthPackageId": - suggest = "bandwidth_package_id" - elif key == "camRoleName": - suggest = "cam_role_name" + if key == "instanceChargeType": + suggest = "instance_charge_type" + elif key == "instanceTypes": + suggest = "instance_types" + elif key == "securityGroupIds": + suggest = "security_group_ids" + elif key == "subnetIds": + suggest = "subnet_ids" + elif key == "systemDisk": + suggest = "system_disk" + elif key == "autoRepair": + suggest = "auto_repair" elif key == "dataDisks": suggest = "data_disks" - elif key == "enhancedMonitorService": - suggest = "enhanced_monitor_service" - elif key == "enhancedSecurityService": - suggest = "enhanced_security_service" - elif key == "hostName": - suggest = "host_name" - elif key == "hostNameStyle": - suggest = "host_name_style" - elif key == "instanceChargeType": - suggest = "instance_charge_type" - elif key == "instanceChargeTypePrepaidPeriod": - suggest = "instance_charge_type_prepaid_period" - elif key == "instanceChargeTypePrepaidRenewFlag": - suggest = "instance_charge_type_prepaid_renew_flag" - elif key == "instanceName": - suggest = "instance_name" - elif key == "internetChargeType": - suggest = "internet_charge_type" - elif key == "internetMaxBandwidthOut": - suggest = "internet_max_bandwidth_out" + elif key == "enableAutoscaling": + suggest = "enable_autoscaling" + elif key == "healthCheckPolicyName": + suggest = "health_check_policy_name" + elif key == "hostNamePattern": + suggest = "host_name_pattern" + elif key == "instanceChargePrepaid": + suggest = "instance_charge_prepaid" + elif key == "internetAccessible": + suggest = "internet_accessible" elif key == "keyIds": suggest = "key_ids" - elif key == "orderlySecurityGroupIds": - suggest = "orderly_security_group_ids" - elif key == "publicIpAssigned": - suggest = "public_ip_assigned" - elif key == "securityGroupIds": - suggest = "security_group_ids" - elif key == "spotInstanceType": - suggest = "spot_instance_type" - elif key == "spotMaxPrice": - suggest = "spot_max_price" - elif key == "systemDiskSize": - suggest = "system_disk_size" - elif key == "systemDiskType": - suggest = "system_disk_type" + elif key == "kubeletArgs": + suggest = "kubelet_args" + elif key == "runtimeRootDir": + suggest = "runtime_root_dir" if suggest: - pulumi.log.warn(f"Key '{key}' not found in NodePoolAutoScalingConfig. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in NativeNodePoolNative. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - NodePoolAutoScalingConfig.__key_warning(key) + NativeNodePoolNative.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - NodePoolAutoScalingConfig.__key_warning(key) + NativeNodePoolNative.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - instance_type: str, - backup_instance_types: Optional[Sequence[str]] = None, - bandwidth_package_id: Optional[str] = None, - cam_role_name: Optional[str] = None, - data_disks: Optional[Sequence['outputs.NodePoolAutoScalingConfigDataDisk']] = None, - enhanced_monitor_service: Optional[bool] = None, - enhanced_security_service: Optional[bool] = None, - host_name: Optional[str] = None, - host_name_style: Optional[str] = None, - instance_charge_type: Optional[str] = None, - instance_charge_type_prepaid_period: Optional[int] = None, - instance_charge_type_prepaid_renew_flag: Optional[str] = None, - instance_name: Optional[str] = None, - internet_charge_type: Optional[str] = None, - internet_max_bandwidth_out: Optional[int] = None, + instance_charge_type: str, + instance_types: Sequence[str], + security_group_ids: Sequence[str], + subnet_ids: Sequence[str], + system_disk: 'outputs.NativeNodePoolNativeSystemDisk', + auto_repair: Optional[bool] = None, + data_disks: Optional[Sequence['outputs.NativeNodePoolNativeDataDisk']] = None, + enable_autoscaling: Optional[bool] = None, + health_check_policy_name: Optional[str] = None, + host_name_pattern: Optional[str] = None, + instance_charge_prepaid: Optional['outputs.NativeNodePoolNativeInstanceChargePrepaid'] = None, + internet_accessible: Optional['outputs.NativeNodePoolNativeInternetAccessible'] = None, key_ids: Optional[Sequence[str]] = None, - orderly_security_group_ids: Optional[Sequence[str]] = None, - password: Optional[str] = None, - public_ip_assigned: Optional[bool] = None, - security_group_ids: Optional[Sequence[str]] = None, - spot_instance_type: Optional[str] = None, - spot_max_price: Optional[str] = None, - system_disk_size: Optional[int] = None, - system_disk_type: Optional[str] = None): - """ - :param str instance_type: Specified types of CVM instance. - :param Sequence[str] backup_instance_types: Backup CVM instance types if specified instance type sold out or mismatch. - :param str bandwidth_package_id: bandwidth package id. if user is standard user, then the bandwidth_package_id is needed, or default has bandwidth_package_id. - :param str cam_role_name: Name of cam role. - :param Sequence['NodePoolAutoScalingConfigDataDiskArgs'] data_disks: Configurations of data disk. - :param bool enhanced_monitor_service: To specify whether to enable cloud monitor service. Default is TRUE. - :param bool enhanced_security_service: To specify whether to enable cloud security service. Default is TRUE. - :param str host_name: The hostname of the cloud server, dot (.) and dash (-) cannot be used as the first and last characters of HostName and cannot be used consecutively. Windows instances are not supported. Examples of other types (Linux, etc.): The character length is [2, 40], multiple periods are allowed, and there is a paragraph between the dots, and each paragraph is allowed to consist of letters (unlimited case), numbers and dashes (-). Pure numbers are not allowed. For usage, refer to `HostNameSettings` in https://www.tencentcloud.com/document/product/377/31001. - :param str host_name_style: The style of the host name of the cloud server, the value range includes ORIGINAL and UNIQUE, and the default is ORIGINAL. For usage, refer to `HostNameSettings` in https://www.tencentcloud.com/document/product/377/31001. - :param str instance_charge_type: Charge type of instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `SPOTPAID`. The default is `POSTPAID_BY_HOUR`. NOTE: `SPOTPAID` instance must set `spot_instance_type` and `spot_max_price` at the same time. - :param int instance_charge_type_prepaid_period: The tenancy (in month) of the prepaid instance, NOTE: it only works when instance_charge_type is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. - :param str instance_charge_type_prepaid_renew_flag: Auto renewal flag. Valid values: `NOTIFY_AND_AUTO_RENEW`: notify upon expiration and renew automatically, `NOTIFY_AND_MANUAL_RENEW`: notify upon expiration but do not renew automatically, `DISABLE_NOTIFY_AND_MANUAL_RENEW`: neither notify upon expiration nor renew automatically. Default value: `NOTIFY_AND_MANUAL_RENEW`. If this parameter is specified as `NOTIFY_AND_AUTO_RENEW`, the instance will be automatically renewed on a monthly basis if the account balance is sufficient. NOTE: it only works when instance_charge_type is set to `PREPAID`. - :param str instance_name: Instance name, no more than 60 characters. For usage, refer to `InstanceNameSettings` in https://www.tencentcloud.com/document/product/377/31001. - :param str internet_charge_type: Charge types for network traffic. Valid value: `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. - :param int internet_max_bandwidth_out: Max bandwidth of Internet access in Mbps. Default is `0`. - :param Sequence[str] key_ids: ID list of keys. - :param Sequence[str] orderly_security_group_ids: Ordered security groups to which a CVM instance belongs. - :param str password: Password to access. - :param bool public_ip_assigned: Specify whether to assign an Internet IP address. - :param Sequence[str] security_group_ids: The order of elements in this field cannot be guaranteed. Use `orderly_security_group_ids` instead. Security groups to which a CVM instance belongs. - :param str spot_instance_type: Type of spot instance, only support `one-time` now. Note: it only works when instance_charge_type is set to `SPOTPAID`. - :param str spot_max_price: Max price of a spot instance, is the format of decimal string, for example "0.50". Note: it only works when instance_charge_type is set to `SPOTPAID`. - :param int system_disk_size: Volume of system disk in GB. Default is `50`. - :param str system_disk_type: Type of a CVM disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. Default is `CLOUD_PREMIUM`. - """ - pulumi.set(__self__, "instance_type", instance_type) - if backup_instance_types is not None: - pulumi.set(__self__, "backup_instance_types", backup_instance_types) - if bandwidth_package_id is not None: - pulumi.set(__self__, "bandwidth_package_id", bandwidth_package_id) - if cam_role_name is not None: - pulumi.set(__self__, "cam_role_name", cam_role_name) + kubelet_args: Optional[Sequence[str]] = None, + lifecycle: Optional['outputs.NativeNodePoolNativeLifecycle'] = None, + management: Optional['outputs.NativeNodePoolNativeManagement'] = None, + replicas: Optional[int] = None, + runtime_root_dir: Optional[str] = None, + scaling: Optional['outputs.NativeNodePoolNativeScaling'] = None): + """ + :param str instance_charge_type: Node billing type. `PREPAID` is a yearly and monthly subscription, `POSTPAID_BY_HOUR` is a pay-as-you-go plan. The default is `POSTPAID_BY_HOUR`. + :param Sequence[str] instance_types: Model list. + :param Sequence[str] security_group_ids: Security group list. + :param Sequence[str] subnet_ids: Subnet list. + :param 'NativeNodePoolNativeSystemDiskArgs' system_disk: System disk configuration. + :param bool auto_repair: Whether to enable self-healing ability. + :param Sequence['NativeNodePoolNativeDataDiskArgs'] data_disks: Native node pool data disk list. + :param bool enable_autoscaling: Whether to enable elastic scaling. + :param str health_check_policy_name: Fault self-healing rule name. + :param str host_name_pattern: Native node pool hostName pattern string. + :param 'NativeNodePoolNativeInstanceChargePrepaidArgs' instance_charge_prepaid: Billing configuration for yearly and monthly models. + :param 'NativeNodePoolNativeInternetAccessibleArgs' internet_accessible: Public network bandwidth settings. + :param Sequence[str] key_ids: Node pool ssh public key id array. + :param Sequence[str] kubelet_args: Kubelet custom parameters. + :param 'NativeNodePoolNativeLifecycleArgs' lifecycle: Predefined scripts. + :param 'NativeNodePoolNativeManagementArgs' management: Node pool management parameter settings. + :param int replicas: Desired number of nodes. + :param str runtime_root_dir: Runtime root directory. + :param 'NativeNodePoolNativeScalingArgs' scaling: Node pool scaling configuration. + """ + pulumi.set(__self__, "instance_charge_type", instance_charge_type) + pulumi.set(__self__, "instance_types", instance_types) + pulumi.set(__self__, "security_group_ids", security_group_ids) + pulumi.set(__self__, "subnet_ids", subnet_ids) + pulumi.set(__self__, "system_disk", system_disk) + if auto_repair is not None: + pulumi.set(__self__, "auto_repair", auto_repair) if data_disks is not None: pulumi.set(__self__, "data_disks", data_disks) - if enhanced_monitor_service is not None: - pulumi.set(__self__, "enhanced_monitor_service", enhanced_monitor_service) - if enhanced_security_service is not None: - pulumi.set(__self__, "enhanced_security_service", enhanced_security_service) - if host_name is not None: - pulumi.set(__self__, "host_name", host_name) - if host_name_style is not None: - pulumi.set(__self__, "host_name_style", host_name_style) - if instance_charge_type is not None: - pulumi.set(__self__, "instance_charge_type", instance_charge_type) - if instance_charge_type_prepaid_period is not None: - pulumi.set(__self__, "instance_charge_type_prepaid_period", instance_charge_type_prepaid_period) - if instance_charge_type_prepaid_renew_flag is not None: - pulumi.set(__self__, "instance_charge_type_prepaid_renew_flag", instance_charge_type_prepaid_renew_flag) - if instance_name is not None: - pulumi.set(__self__, "instance_name", instance_name) - if internet_charge_type is not None: - pulumi.set(__self__, "internet_charge_type", internet_charge_type) - if internet_max_bandwidth_out is not None: - pulumi.set(__self__, "internet_max_bandwidth_out", internet_max_bandwidth_out) + if enable_autoscaling is not None: + pulumi.set(__self__, "enable_autoscaling", enable_autoscaling) + if health_check_policy_name is not None: + pulumi.set(__self__, "health_check_policy_name", health_check_policy_name) + if host_name_pattern is not None: + pulumi.set(__self__, "host_name_pattern", host_name_pattern) + if instance_charge_prepaid is not None: + pulumi.set(__self__, "instance_charge_prepaid", instance_charge_prepaid) + if internet_accessible is not None: + pulumi.set(__self__, "internet_accessible", internet_accessible) if key_ids is not None: pulumi.set(__self__, "key_ids", key_ids) - if orderly_security_group_ids is not None: - pulumi.set(__self__, "orderly_security_group_ids", orderly_security_group_ids) - if password is not None: - pulumi.set(__self__, "password", password) - if public_ip_assigned is not None: - pulumi.set(__self__, "public_ip_assigned", public_ip_assigned) - if security_group_ids is not None: - pulumi.set(__self__, "security_group_ids", security_group_ids) - if spot_instance_type is not None: - pulumi.set(__self__, "spot_instance_type", spot_instance_type) - if spot_max_price is not None: - pulumi.set(__self__, "spot_max_price", spot_max_price) - if system_disk_size is not None: - pulumi.set(__self__, "system_disk_size", system_disk_size) - if system_disk_type is not None: - pulumi.set(__self__, "system_disk_type", system_disk_type) + if kubelet_args is not None: + pulumi.set(__self__, "kubelet_args", kubelet_args) + if lifecycle is not None: + pulumi.set(__self__, "lifecycle", lifecycle) + if management is not None: + pulumi.set(__self__, "management", management) + if replicas is not None: + pulumi.set(__self__, "replicas", replicas) + if runtime_root_dir is not None: + pulumi.set(__self__, "runtime_root_dir", runtime_root_dir) + if scaling is not None: + pulumi.set(__self__, "scaling", scaling) @property - @pulumi.getter(name="instanceType") - def instance_type(self) -> str: + @pulumi.getter(name="instanceChargeType") + def instance_charge_type(self) -> str: """ - Specified types of CVM instance. + Node billing type. `PREPAID` is a yearly and monthly subscription, `POSTPAID_BY_HOUR` is a pay-as-you-go plan. The default is `POSTPAID_BY_HOUR`. """ - return pulumi.get(self, "instance_type") + return pulumi.get(self, "instance_charge_type") @property - @pulumi.getter(name="backupInstanceTypes") - def backup_instance_types(self) -> Optional[Sequence[str]]: + @pulumi.getter(name="instanceTypes") + def instance_types(self) -> Sequence[str]: """ - Backup CVM instance types if specified instance type sold out or mismatch. + Model list. """ - return pulumi.get(self, "backup_instance_types") + return pulumi.get(self, "instance_types") @property - @pulumi.getter(name="bandwidthPackageId") - def bandwidth_package_id(self) -> Optional[str]: + @pulumi.getter(name="securityGroupIds") + def security_group_ids(self) -> Sequence[str]: """ - bandwidth package id. if user is standard user, then the bandwidth_package_id is needed, or default has bandwidth_package_id. + Security group list. """ - return pulumi.get(self, "bandwidth_package_id") + return pulumi.get(self, "security_group_ids") @property - @pulumi.getter(name="camRoleName") - def cam_role_name(self) -> Optional[str]: + @pulumi.getter(name="subnetIds") + def subnet_ids(self) -> Sequence[str]: """ - Name of cam role. + Subnet list. """ - return pulumi.get(self, "cam_role_name") + return pulumi.get(self, "subnet_ids") @property - @pulumi.getter(name="dataDisks") - def data_disks(self) -> Optional[Sequence['outputs.NodePoolAutoScalingConfigDataDisk']]: + @pulumi.getter(name="systemDisk") + def system_disk(self) -> 'outputs.NativeNodePoolNativeSystemDisk': """ - Configurations of data disk. + System disk configuration. """ - return pulumi.get(self, "data_disks") + return pulumi.get(self, "system_disk") @property - @pulumi.getter(name="enhancedMonitorService") - def enhanced_monitor_service(self) -> Optional[bool]: + @pulumi.getter(name="autoRepair") + def auto_repair(self) -> Optional[bool]: """ - To specify whether to enable cloud monitor service. Default is TRUE. + Whether to enable self-healing ability. """ - return pulumi.get(self, "enhanced_monitor_service") + return pulumi.get(self, "auto_repair") @property - @pulumi.getter(name="enhancedSecurityService") - def enhanced_security_service(self) -> Optional[bool]: + @pulumi.getter(name="dataDisks") + def data_disks(self) -> Optional[Sequence['outputs.NativeNodePoolNativeDataDisk']]: """ - To specify whether to enable cloud security service. Default is TRUE. + Native node pool data disk list. """ - return pulumi.get(self, "enhanced_security_service") + return pulumi.get(self, "data_disks") @property - @pulumi.getter(name="hostName") - def host_name(self) -> Optional[str]: + @pulumi.getter(name="enableAutoscaling") + def enable_autoscaling(self) -> Optional[bool]: """ - The hostname of the cloud server, dot (.) and dash (-) cannot be used as the first and last characters of HostName and cannot be used consecutively. Windows instances are not supported. Examples of other types (Linux, etc.): The character length is [2, 40], multiple periods are allowed, and there is a paragraph between the dots, and each paragraph is allowed to consist of letters (unlimited case), numbers and dashes (-). Pure numbers are not allowed. For usage, refer to `HostNameSettings` in https://www.tencentcloud.com/document/product/377/31001. + Whether to enable elastic scaling. """ - return pulumi.get(self, "host_name") + return pulumi.get(self, "enable_autoscaling") @property - @pulumi.getter(name="hostNameStyle") - def host_name_style(self) -> Optional[str]: + @pulumi.getter(name="healthCheckPolicyName") + def health_check_policy_name(self) -> Optional[str]: """ - The style of the host name of the cloud server, the value range includes ORIGINAL and UNIQUE, and the default is ORIGINAL. For usage, refer to `HostNameSettings` in https://www.tencentcloud.com/document/product/377/31001. + Fault self-healing rule name. """ - return pulumi.get(self, "host_name_style") + return pulumi.get(self, "health_check_policy_name") @property - @pulumi.getter(name="instanceChargeType") - def instance_charge_type(self) -> Optional[str]: + @pulumi.getter(name="hostNamePattern") + def host_name_pattern(self) -> Optional[str]: """ - Charge type of instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `SPOTPAID`. The default is `POSTPAID_BY_HOUR`. NOTE: `SPOTPAID` instance must set `spot_instance_type` and `spot_max_price` at the same time. + Native node pool hostName pattern string. """ - return pulumi.get(self, "instance_charge_type") + return pulumi.get(self, "host_name_pattern") @property - @pulumi.getter(name="instanceChargeTypePrepaidPeriod") - def instance_charge_type_prepaid_period(self) -> Optional[int]: + @pulumi.getter(name="instanceChargePrepaid") + def instance_charge_prepaid(self) -> Optional['outputs.NativeNodePoolNativeInstanceChargePrepaid']: """ - The tenancy (in month) of the prepaid instance, NOTE: it only works when instance_charge_type is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. + Billing configuration for yearly and monthly models. """ - return pulumi.get(self, "instance_charge_type_prepaid_period") + return pulumi.get(self, "instance_charge_prepaid") @property - @pulumi.getter(name="instanceChargeTypePrepaidRenewFlag") - def instance_charge_type_prepaid_renew_flag(self) -> Optional[str]: + @pulumi.getter(name="internetAccessible") + def internet_accessible(self) -> Optional['outputs.NativeNodePoolNativeInternetAccessible']: """ - Auto renewal flag. Valid values: `NOTIFY_AND_AUTO_RENEW`: notify upon expiration and renew automatically, `NOTIFY_AND_MANUAL_RENEW`: notify upon expiration but do not renew automatically, `DISABLE_NOTIFY_AND_MANUAL_RENEW`: neither notify upon expiration nor renew automatically. Default value: `NOTIFY_AND_MANUAL_RENEW`. If this parameter is specified as `NOTIFY_AND_AUTO_RENEW`, the instance will be automatically renewed on a monthly basis if the account balance is sufficient. NOTE: it only works when instance_charge_type is set to `PREPAID`. + Public network bandwidth settings. """ - return pulumi.get(self, "instance_charge_type_prepaid_renew_flag") + return pulumi.get(self, "internet_accessible") @property - @pulumi.getter(name="instanceName") - def instance_name(self) -> Optional[str]: + @pulumi.getter(name="keyIds") + def key_ids(self) -> Optional[Sequence[str]]: """ - Instance name, no more than 60 characters. For usage, refer to `InstanceNameSettings` in https://www.tencentcloud.com/document/product/377/31001. - """ - return pulumi.get(self, "instance_name") - - @property - @pulumi.getter(name="internetChargeType") - def internet_charge_type(self) -> Optional[str]: - """ - Charge types for network traffic. Valid value: `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. - """ - return pulumi.get(self, "internet_charge_type") - - @property - @pulumi.getter(name="internetMaxBandwidthOut") - def internet_max_bandwidth_out(self) -> Optional[int]: - """ - Max bandwidth of Internet access in Mbps. Default is `0`. - """ - return pulumi.get(self, "internet_max_bandwidth_out") - - @property - @pulumi.getter(name="keyIds") - def key_ids(self) -> Optional[Sequence[str]]: - """ - ID list of keys. + Node pool ssh public key id array. """ return pulumi.get(self, "key_ids") @property - @pulumi.getter(name="orderlySecurityGroupIds") - def orderly_security_group_ids(self) -> Optional[Sequence[str]]: + @pulumi.getter(name="kubeletArgs") + def kubelet_args(self) -> Optional[Sequence[str]]: """ - Ordered security groups to which a CVM instance belongs. + Kubelet custom parameters. """ - return pulumi.get(self, "orderly_security_group_ids") + return pulumi.get(self, "kubelet_args") @property @pulumi.getter - def password(self) -> Optional[str]: - """ - Password to access. + def lifecycle(self) -> Optional['outputs.NativeNodePoolNativeLifecycle']: """ - return pulumi.get(self, "password") - - @property - @pulumi.getter(name="publicIpAssigned") - def public_ip_assigned(self) -> Optional[bool]: - """ - Specify whether to assign an Internet IP address. - """ - return pulumi.get(self, "public_ip_assigned") - - @property - @pulumi.getter(name="securityGroupIds") - def security_group_ids(self) -> Optional[Sequence[str]]: - """ - The order of elements in this field cannot be guaranteed. Use `orderly_security_group_ids` instead. Security groups to which a CVM instance belongs. + Predefined scripts. """ - warnings.warn("""The order of elements in this field cannot be guaranteed. Use `orderly_security_group_ids` instead.""", DeprecationWarning) - pulumi.log.warn("""security_group_ids is deprecated: The order of elements in this field cannot be guaranteed. Use `orderly_security_group_ids` instead.""") - - return pulumi.get(self, "security_group_ids") + return pulumi.get(self, "lifecycle") @property - @pulumi.getter(name="spotInstanceType") - def spot_instance_type(self) -> Optional[str]: + @pulumi.getter + def management(self) -> Optional['outputs.NativeNodePoolNativeManagement']: """ - Type of spot instance, only support `one-time` now. Note: it only works when instance_charge_type is set to `SPOTPAID`. + Node pool management parameter settings. """ - return pulumi.get(self, "spot_instance_type") + return pulumi.get(self, "management") @property - @pulumi.getter(name="spotMaxPrice") - def spot_max_price(self) -> Optional[str]: + @pulumi.getter + def replicas(self) -> Optional[int]: """ - Max price of a spot instance, is the format of decimal string, for example "0.50". Note: it only works when instance_charge_type is set to `SPOTPAID`. + Desired number of nodes. """ - return pulumi.get(self, "spot_max_price") + return pulumi.get(self, "replicas") @property - @pulumi.getter(name="systemDiskSize") - def system_disk_size(self) -> Optional[int]: + @pulumi.getter(name="runtimeRootDir") + def runtime_root_dir(self) -> Optional[str]: """ - Volume of system disk in GB. Default is `50`. + Runtime root directory. """ - return pulumi.get(self, "system_disk_size") + return pulumi.get(self, "runtime_root_dir") @property - @pulumi.getter(name="systemDiskType") - def system_disk_type(self) -> Optional[str]: + @pulumi.getter + def scaling(self) -> Optional['outputs.NativeNodePoolNativeScaling']: """ - Type of a CVM disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. Default is `CLOUD_PREMIUM`. + Node pool scaling configuration. """ - return pulumi.get(self, "system_disk_type") + return pulumi.get(self, "scaling") @pulumi.output_type -class NodePoolAutoScalingConfigDataDisk(dict): +class NativeNodePoolNativeDataDisk(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "deleteWithInstance": - suggest = "delete_with_instance" + if key == "autoFormatAndMount": + suggest = "auto_format_and_mount" elif key == "diskSize": suggest = "disk_size" elif key == "diskType": suggest = "disk_type" + elif key == "diskPartition": + suggest = "disk_partition" + elif key == "fileSystem": + suggest = "file_system" + elif key == "kmsKeyId": + suggest = "kms_key_id" + elif key == "mountTarget": + suggest = "mount_target" elif key == "snapshotId": suggest = "snapshot_id" elif key == "throughputPerformance": suggest = "throughput_performance" if suggest: - pulumi.log.warn(f"Key '{key}' not found in NodePoolAutoScalingConfigDataDisk. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in NativeNodePoolNativeDataDisk. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - NodePoolAutoScalingConfigDataDisk.__key_warning(key) + NativeNodePoolNativeDataDisk.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - NodePoolAutoScalingConfigDataDisk.__key_warning(key) + NativeNodePoolNativeDataDisk.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - delete_with_instance: Optional[bool] = None, - disk_size: Optional[int] = None, - disk_type: Optional[str] = None, - encrypt: Optional[bool] = None, + auto_format_and_mount: bool, + disk_size: int, + disk_type: str, + disk_partition: Optional[str] = None, + encrypt: Optional[str] = None, + file_system: Optional[str] = None, + kms_key_id: Optional[str] = None, + mount_target: Optional[str] = None, snapshot_id: Optional[str] = None, throughput_performance: Optional[int] = None): """ - :param bool delete_with_instance: Indicates whether the disk remove after instance terminated. Default is `false`. - :param int disk_size: Volume of disk in GB. Default is `0`. - :param str disk_type: Types of disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. - :param bool encrypt: Specify whether to encrypt data disk, default: false. NOTE: Make sure the instance type is offering and the cam role `QcloudKMSAccessForCVMRole` was provided. - :param str snapshot_id: Data disk snapshot ID. - :param int throughput_performance: Add extra performance to the data disk. Only works when disk type is `CLOUD_TSSD` or `CLOUD_HSSD` and `data_size` > 460GB. + :param bool auto_format_and_mount: Whether to automatically format the disk and mount it. + :param int disk_size: Cloud disk size (G). + :param str disk_type: Cloud disk type. Valid values: `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_SSD`: cloud SSD disk, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD, `LOCAL_NVME`: local NVME disk. + :param str disk_partition: Mount device name or partition name. + :param str encrypt: Pass in this parameter to create an encrypted cloud disk. The value is fixed to `ENCRYPT`. + :param str file_system: File system (ext3/ext4/xfs). + :param str kms_key_id: Customize the key when purchasing an encrypted disk. When this parameter is passed in, the Encrypt parameter is not empty. + :param str mount_target: Mount directory. + :param str snapshot_id: Snapshot ID. If passed in, the cloud disk will be created based on this snapshot. The snapshot type must be a data disk snapshot. + :param int throughput_performance: Cloud disk performance, unit: MB/s. Use this parameter to purchase additional performance for the cloud disk. """ - if delete_with_instance is not None: - pulumi.set(__self__, "delete_with_instance", delete_with_instance) - if disk_size is not None: - pulumi.set(__self__, "disk_size", disk_size) - if disk_type is not None: - pulumi.set(__self__, "disk_type", disk_type) + pulumi.set(__self__, "auto_format_and_mount", auto_format_and_mount) + pulumi.set(__self__, "disk_size", disk_size) + pulumi.set(__self__, "disk_type", disk_type) + if disk_partition is not None: + pulumi.set(__self__, "disk_partition", disk_partition) if encrypt is not None: pulumi.set(__self__, "encrypt", encrypt) + if file_system is not None: + pulumi.set(__self__, "file_system", file_system) + if kms_key_id is not None: + pulumi.set(__self__, "kms_key_id", kms_key_id) + if mount_target is not None: + pulumi.set(__self__, "mount_target", mount_target) if snapshot_id is not None: pulumi.set(__self__, "snapshot_id", snapshot_id) if throughput_performance is not None: pulumi.set(__self__, "throughput_performance", throughput_performance) @property - @pulumi.getter(name="deleteWithInstance") - def delete_with_instance(self) -> Optional[bool]: + @pulumi.getter(name="autoFormatAndMount") + def auto_format_and_mount(self) -> bool: """ - Indicates whether the disk remove after instance terminated. Default is `false`. + Whether to automatically format the disk and mount it. """ - return pulumi.get(self, "delete_with_instance") + return pulumi.get(self, "auto_format_and_mount") @property @pulumi.getter(name="diskSize") - def disk_size(self) -> Optional[int]: + def disk_size(self) -> int: """ - Volume of disk in GB. Default is `0`. + Cloud disk size (G). """ return pulumi.get(self, "disk_size") @property @pulumi.getter(name="diskType") - def disk_type(self) -> Optional[str]: + def disk_type(self) -> str: """ - Types of disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. + Cloud disk type. Valid values: `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_SSD`: cloud SSD disk, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD, `LOCAL_NVME`: local NVME disk. """ return pulumi.get(self, "disk_type") + @property + @pulumi.getter(name="diskPartition") + def disk_partition(self) -> Optional[str]: + """ + Mount device name or partition name. + """ + return pulumi.get(self, "disk_partition") + @property @pulumi.getter - def encrypt(self) -> Optional[bool]: + def encrypt(self) -> Optional[str]: """ - Specify whether to encrypt data disk, default: false. NOTE: Make sure the instance type is offering and the cam role `QcloudKMSAccessForCVMRole` was provided. + Pass in this parameter to create an encrypted cloud disk. The value is fixed to `ENCRYPT`. """ return pulumi.get(self, "encrypt") + @property + @pulumi.getter(name="fileSystem") + def file_system(self) -> Optional[str]: + """ + File system (ext3/ext4/xfs). + """ + return pulumi.get(self, "file_system") + + @property + @pulumi.getter(name="kmsKeyId") + def kms_key_id(self) -> Optional[str]: + """ + Customize the key when purchasing an encrypted disk. When this parameter is passed in, the Encrypt parameter is not empty. + """ + return pulumi.get(self, "kms_key_id") + + @property + @pulumi.getter(name="mountTarget") + def mount_target(self) -> Optional[str]: + """ + Mount directory. + """ + return pulumi.get(self, "mount_target") + @property @pulumi.getter(name="snapshotId") def snapshot_id(self) -> Optional[str]: """ - Data disk snapshot ID. + Snapshot ID. If passed in, the cloud disk will be created based on this snapshot. The snapshot type must be a data disk snapshot. """ return pulumi.get(self, "snapshot_id") @@ -3049,385 +3105,458 @@ def snapshot_id(self) -> Optional[str]: @pulumi.getter(name="throughputPerformance") def throughput_performance(self) -> Optional[int]: """ - Add extra performance to the data disk. Only works when disk type is `CLOUD_TSSD` or `CLOUD_HSSD` and `data_size` > 460GB. + Cloud disk performance, unit: MB/s. Use this parameter to purchase additional performance for the cloud disk. """ return pulumi.get(self, "throughput_performance") @pulumi.output_type -class NodePoolNodeConfig(dict): +class NativeNodePoolNativeInstanceChargePrepaid(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "dataDisks": - suggest = "data_disks" - elif key == "desiredPodNum": - suggest = "desired_pod_num" - elif key == "dockerGraphPath": - suggest = "docker_graph_path" - elif key == "extraArgs": - suggest = "extra_args" - elif key == "gpuArgs": - suggest = "gpu_args" - elif key == "isSchedule": - suggest = "is_schedule" - elif key == "mountTarget": - suggest = "mount_target" - elif key == "preStartUserScript": - suggest = "pre_start_user_script" - elif key == "userData": - suggest = "user_data" + if key == "renewFlag": + suggest = "renew_flag" if suggest: - pulumi.log.warn(f"Key '{key}' not found in NodePoolNodeConfig. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in NativeNodePoolNativeInstanceChargePrepaid. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - NodePoolNodeConfig.__key_warning(key) + NativeNodePoolNativeInstanceChargePrepaid.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - NodePoolNodeConfig.__key_warning(key) + NativeNodePoolNativeInstanceChargePrepaid.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - data_disks: Optional[Sequence['outputs.NodePoolNodeConfigDataDisk']] = None, - desired_pod_num: Optional[int] = None, - docker_graph_path: Optional[str] = None, - extra_args: Optional[Sequence[str]] = None, - gpu_args: Optional['outputs.NodePoolNodeConfigGpuArgs'] = None, - is_schedule: Optional[bool] = None, - mount_target: Optional[str] = None, - pre_start_user_script: Optional[str] = None, - user_data: Optional[str] = None): + period: int, + renew_flag: Optional[str] = None): """ - :param Sequence['NodePoolNodeConfigDataDiskArgs'] data_disks: Configurations of data disk. - :param int desired_pod_num: Indicate to set desired pod number in node. valid when the cluster is podCIDR. - :param str docker_graph_path: Docker graph path. Default is `/var/lib/docker`. - :param Sequence[str] extra_args: Custom parameter information related to the node. This is a white-list parameter. - :param 'NodePoolNodeConfigGpuArgsArgs' gpu_args: GPU driver parameters. - :param bool is_schedule: Indicate to schedule the adding node or not. Default is true. - :param str mount_target: Mount target. Default is not mounting. - :param str pre_start_user_script: Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. - :param str user_data: Base64-encoded User Data text, the length limit is 16KB. + :param int period: Postpaid billing cycle, unit (month): 1, 2, 3, 4, 5,, 6, 7, 8, 9, 10, 11, 12, 24, 36, 48, 60. + :param str renew_flag: Prepaid renewal method: """ - if data_disks is not None: - pulumi.set(__self__, "data_disks", data_disks) - if desired_pod_num is not None: - pulumi.set(__self__, "desired_pod_num", desired_pod_num) - if docker_graph_path is not None: - pulumi.set(__self__, "docker_graph_path", docker_graph_path) - if extra_args is not None: - pulumi.set(__self__, "extra_args", extra_args) - if gpu_args is not None: - pulumi.set(__self__, "gpu_args", gpu_args) - if is_schedule is not None: - pulumi.set(__self__, "is_schedule", is_schedule) - if mount_target is not None: - pulumi.set(__self__, "mount_target", mount_target) - if pre_start_user_script is not None: - pulumi.set(__self__, "pre_start_user_script", pre_start_user_script) - if user_data is not None: - pulumi.set(__self__, "user_data", user_data) + pulumi.set(__self__, "period", period) + if renew_flag is not None: + pulumi.set(__self__, "renew_flag", renew_flag) @property - @pulumi.getter(name="dataDisks") - def data_disks(self) -> Optional[Sequence['outputs.NodePoolNodeConfigDataDisk']]: + @pulumi.getter + def period(self) -> int: """ - Configurations of data disk. + Postpaid billing cycle, unit (month): 1, 2, 3, 4, 5,, 6, 7, 8, 9, 10, 11, 12, 24, 36, 48, 60. """ - return pulumi.get(self, "data_disks") + return pulumi.get(self, "period") @property - @pulumi.getter(name="desiredPodNum") - def desired_pod_num(self) -> Optional[int]: + @pulumi.getter(name="renewFlag") + def renew_flag(self) -> Optional[str]: """ - Indicate to set desired pod number in node. valid when the cluster is podCIDR. + Prepaid renewal method: """ - return pulumi.get(self, "desired_pod_num") + return pulumi.get(self, "renew_flag") - @property - @pulumi.getter(name="dockerGraphPath") - def docker_graph_path(self) -> Optional[str]: - """ - Docker graph path. Default is `/var/lib/docker`. - """ - return pulumi.get(self, "docker_graph_path") - @property - @pulumi.getter(name="extraArgs") - def extra_args(self) -> Optional[Sequence[str]]: - """ - Custom parameter information related to the node. This is a white-list parameter. - """ - return pulumi.get(self, "extra_args") +@pulumi.output_type +class NativeNodePoolNativeInternetAccessible(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "chargeType": + suggest = "charge_type" + elif key == "maxBandwidthOut": + suggest = "max_bandwidth_out" + elif key == "bandwidthPackageId": + suggest = "bandwidth_package_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in NativeNodePoolNativeInternetAccessible. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + NativeNodePoolNativeInternetAccessible.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + NativeNodePoolNativeInternetAccessible.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + charge_type: str, + max_bandwidth_out: int, + bandwidth_package_id: Optional[str] = None): + """ + :param str charge_type: Network billing method. Optional value is `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. + :param int max_bandwidth_out: Maximum bandwidth output. Note: When chargeType is `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_POSTPAID_BY_HOUR`, the valid range is 1~100. When chargeType is `BANDWIDTH_PACKAG`, the valid range is 1~2000. + :param str bandwidth_package_id: Bandwidth package ID. Note: When ChargeType is BANDWIDTH_PACKAG, the value cannot be empty; otherwise, the value must be empty. + """ + pulumi.set(__self__, "charge_type", charge_type) + pulumi.set(__self__, "max_bandwidth_out", max_bandwidth_out) + if bandwidth_package_id is not None: + pulumi.set(__self__, "bandwidth_package_id", bandwidth_package_id) @property - @pulumi.getter(name="gpuArgs") - def gpu_args(self) -> Optional['outputs.NodePoolNodeConfigGpuArgs']: + @pulumi.getter(name="chargeType") + def charge_type(self) -> str: """ - GPU driver parameters. + Network billing method. Optional value is `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. """ - return pulumi.get(self, "gpu_args") + return pulumi.get(self, "charge_type") @property - @pulumi.getter(name="isSchedule") - def is_schedule(self) -> Optional[bool]: + @pulumi.getter(name="maxBandwidthOut") + def max_bandwidth_out(self) -> int: """ - Indicate to schedule the adding node or not. Default is true. + Maximum bandwidth output. Note: When chargeType is `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_POSTPAID_BY_HOUR`, the valid range is 1~100. When chargeType is `BANDWIDTH_PACKAG`, the valid range is 1~2000. """ - return pulumi.get(self, "is_schedule") + return pulumi.get(self, "max_bandwidth_out") @property - @pulumi.getter(name="mountTarget") - def mount_target(self) -> Optional[str]: + @pulumi.getter(name="bandwidthPackageId") + def bandwidth_package_id(self) -> Optional[str]: """ - Mount target. Default is not mounting. + Bandwidth package ID. Note: When ChargeType is BANDWIDTH_PACKAG, the value cannot be empty; otherwise, the value must be empty. """ - return pulumi.get(self, "mount_target") + return pulumi.get(self, "bandwidth_package_id") + + +@pulumi.output_type +class NativeNodePoolNativeLifecycle(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "postInit": + suggest = "post_init" + elif key == "preInit": + suggest = "pre_init" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in NativeNodePoolNativeLifecycle. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + NativeNodePoolNativeLifecycle.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + NativeNodePoolNativeLifecycle.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + post_init: Optional[str] = None, + pre_init: Optional[str] = None): + """ + :param str post_init: Custom script after node initialization. + :param str pre_init: Custom script before node initialization. + """ + if post_init is not None: + pulumi.set(__self__, "post_init", post_init) + if pre_init is not None: + pulumi.set(__self__, "pre_init", pre_init) @property - @pulumi.getter(name="preStartUserScript") - def pre_start_user_script(self) -> Optional[str]: + @pulumi.getter(name="postInit") + def post_init(self) -> Optional[str]: """ - Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. + Custom script after node initialization. """ - return pulumi.get(self, "pre_start_user_script") + return pulumi.get(self, "post_init") @property - @pulumi.getter(name="userData") - def user_data(self) -> Optional[str]: + @pulumi.getter(name="preInit") + def pre_init(self) -> Optional[str]: """ - Base64-encoded User Data text, the length limit is 16KB. + Custom script before node initialization. """ - return pulumi.get(self, "user_data") + return pulumi.get(self, "pre_init") @pulumi.output_type -class NodePoolNodeConfigDataDisk(dict): +class NativeNodePoolNativeManagement(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "autoFormatAndMount": - suggest = "auto_format_and_mount" - elif key == "diskPartition": - suggest = "disk_partition" - elif key == "diskSize": - suggest = "disk_size" - elif key == "diskType": - suggest = "disk_type" - elif key == "fileSystem": - suggest = "file_system" - elif key == "mountTarget": - suggest = "mount_target" + if key == "kernelArgs": + suggest = "kernel_args" if suggest: - pulumi.log.warn(f"Key '{key}' not found in NodePoolNodeConfigDataDisk. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in NativeNodePoolNativeManagement. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - NodePoolNodeConfigDataDisk.__key_warning(key) + NativeNodePoolNativeManagement.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - NodePoolNodeConfigDataDisk.__key_warning(key) + NativeNodePoolNativeManagement.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - auto_format_and_mount: Optional[bool] = None, - disk_partition: Optional[str] = None, - disk_size: Optional[int] = None, - disk_type: Optional[str] = None, - file_system: Optional[str] = None, - mount_target: Optional[str] = None): + hosts: Optional[Sequence[str]] = None, + kernel_args: Optional[Sequence[str]] = None, + nameservers: Optional[Sequence[str]] = None): """ - :param bool auto_format_and_mount: Indicate whether to auto format and mount or not. Default is `false`. - :param str disk_partition: The name of the device or partition to mount. NOTE: this argument doesn't support setting in node pool, or will leads to mount error. - :param int disk_size: Volume of disk in GB. Default is `0`. - :param str disk_type: Types of disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. - :param str file_system: File system, e.g. `ext3/ext4/xfs`. - :param str mount_target: Mount target. + :param Sequence[str] hosts: Hosts configuration. + :param Sequence[str] kernel_args: Kernel parameter configuration. + :param Sequence[str] nameservers: Dns configuration. """ - if auto_format_and_mount is not None: - pulumi.set(__self__, "auto_format_and_mount", auto_format_and_mount) - if disk_partition is not None: - pulumi.set(__self__, "disk_partition", disk_partition) - if disk_size is not None: - pulumi.set(__self__, "disk_size", disk_size) - if disk_type is not None: - pulumi.set(__self__, "disk_type", disk_type) - if file_system is not None: - pulumi.set(__self__, "file_system", file_system) - if mount_target is not None: - pulumi.set(__self__, "mount_target", mount_target) + if hosts is not None: + pulumi.set(__self__, "hosts", hosts) + if kernel_args is not None: + pulumi.set(__self__, "kernel_args", kernel_args) + if nameservers is not None: + pulumi.set(__self__, "nameservers", nameservers) @property - @pulumi.getter(name="autoFormatAndMount") - def auto_format_and_mount(self) -> Optional[bool]: + @pulumi.getter + def hosts(self) -> Optional[Sequence[str]]: """ - Indicate whether to auto format and mount or not. Default is `false`. + Hosts configuration. """ - return pulumi.get(self, "auto_format_and_mount") + return pulumi.get(self, "hosts") @property - @pulumi.getter(name="diskPartition") - def disk_partition(self) -> Optional[str]: + @pulumi.getter(name="kernelArgs") + def kernel_args(self) -> Optional[Sequence[str]]: """ - The name of the device or partition to mount. NOTE: this argument doesn't support setting in node pool, or will leads to mount error. + Kernel parameter configuration. """ - return pulumi.get(self, "disk_partition") + return pulumi.get(self, "kernel_args") @property - @pulumi.getter(name="diskSize") - def disk_size(self) -> Optional[int]: + @pulumi.getter + def nameservers(self) -> Optional[Sequence[str]]: """ - Volume of disk in GB. Default is `0`. + Dns configuration. """ - return pulumi.get(self, "disk_size") + return pulumi.get(self, "nameservers") + + +@pulumi.output_type +class NativeNodePoolNativeScaling(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "createPolicy": + suggest = "create_policy" + elif key == "maxReplicas": + suggest = "max_replicas" + elif key == "minReplicas": + suggest = "min_replicas" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in NativeNodePoolNativeScaling. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + NativeNodePoolNativeScaling.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + NativeNodePoolNativeScaling.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + create_policy: Optional[str] = None, + max_replicas: Optional[int] = None, + min_replicas: Optional[int] = None): + """ + :param str create_policy: Node pool expansion strategy. `ZoneEquality`: multiple availability zones are broken up; `ZonePriority`: the preferred availability zone takes precedence. + :param int max_replicas: Maximum number of replicas in node pool. + :param int min_replicas: Minimum number of replicas in node pool. + """ + if create_policy is not None: + pulumi.set(__self__, "create_policy", create_policy) + if max_replicas is not None: + pulumi.set(__self__, "max_replicas", max_replicas) + if min_replicas is not None: + pulumi.set(__self__, "min_replicas", min_replicas) @property - @pulumi.getter(name="diskType") - def disk_type(self) -> Optional[str]: + @pulumi.getter(name="createPolicy") + def create_policy(self) -> Optional[str]: """ - Types of disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. + Node pool expansion strategy. `ZoneEquality`: multiple availability zones are broken up; `ZonePriority`: the preferred availability zone takes precedence. """ - return pulumi.get(self, "disk_type") + return pulumi.get(self, "create_policy") @property - @pulumi.getter(name="fileSystem") - def file_system(self) -> Optional[str]: + @pulumi.getter(name="maxReplicas") + def max_replicas(self) -> Optional[int]: """ - File system, e.g. `ext3/ext4/xfs`. + Maximum number of replicas in node pool. """ - return pulumi.get(self, "file_system") + return pulumi.get(self, "max_replicas") @property - @pulumi.getter(name="mountTarget") - def mount_target(self) -> Optional[str]: + @pulumi.getter(name="minReplicas") + def min_replicas(self) -> Optional[int]: """ - Mount target. + Minimum number of replicas in node pool. """ - return pulumi.get(self, "mount_target") + return pulumi.get(self, "min_replicas") @pulumi.output_type -class NodePoolNodeConfigGpuArgs(dict): +class NativeNodePoolNativeSystemDisk(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "customDriver": - suggest = "custom_driver" - elif key == "migEnable": - suggest = "mig_enable" + if key == "diskSize": + suggest = "disk_size" + elif key == "diskType": + suggest = "disk_type" if suggest: - pulumi.log.warn(f"Key '{key}' not found in NodePoolNodeConfigGpuArgs. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in NativeNodePoolNativeSystemDisk. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - NodePoolNodeConfigGpuArgs.__key_warning(key) + NativeNodePoolNativeSystemDisk.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - NodePoolNodeConfigGpuArgs.__key_warning(key) + NativeNodePoolNativeSystemDisk.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - cuda: Optional[Mapping[str, Any]] = None, - cudnn: Optional[Mapping[str, Any]] = None, - custom_driver: Optional[Mapping[str, Any]] = None, - driver: Optional[Mapping[str, Any]] = None, - mig_enable: Optional[bool] = None): + disk_size: int, + disk_type: str): """ - :param Mapping[str, Any] cuda: CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. - :param Mapping[str, Any] cudnn: cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `doc_name`: Doc name of cuDNN; `dev_name`: Dev name of cuDNN. - :param Mapping[str, Any] custom_driver: Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. - :param Mapping[str, Any] driver: GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. - :param bool mig_enable: Whether to enable MIG. + :param int disk_size: Cloud disk size (G). + :param str disk_type: Cloud disk type. Valid values: `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_SSD`: cloud SSD disk, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD. """ - if cuda is not None: - pulumi.set(__self__, "cuda", cuda) - if cudnn is not None: - pulumi.set(__self__, "cudnn", cudnn) - if custom_driver is not None: - pulumi.set(__self__, "custom_driver", custom_driver) - if driver is not None: - pulumi.set(__self__, "driver", driver) - if mig_enable is not None: - pulumi.set(__self__, "mig_enable", mig_enable) + pulumi.set(__self__, "disk_size", disk_size) + pulumi.set(__self__, "disk_type", disk_type) @property - @pulumi.getter - def cuda(self) -> Optional[Mapping[str, Any]]: + @pulumi.getter(name="diskSize") + def disk_size(self) -> int: """ - CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + Cloud disk size (G). """ - return pulumi.get(self, "cuda") + return pulumi.get(self, "disk_size") @property - @pulumi.getter - def cudnn(self) -> Optional[Mapping[str, Any]]: + @pulumi.getter(name="diskType") + def disk_type(self) -> str: """ - cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `doc_name`: Doc name of cuDNN; `dev_name`: Dev name of cuDNN. + Cloud disk type. Valid values: `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_SSD`: cloud SSD disk, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD. """ - return pulumi.get(self, "cudnn") + return pulumi.get(self, "disk_type") + + +@pulumi.output_type +class NativeNodePoolTag(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "resourceType": + suggest = "resource_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in NativeNodePoolTag. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + NativeNodePoolTag.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + NativeNodePoolTag.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + resource_type: Optional[str] = None, + tags: Optional[Sequence['outputs.NativeNodePoolTagTag']] = None): + """ + :param str resource_type: The resource type bound to the label. + :param Sequence['NativeNodePoolTagTagArgs'] tags: Tag pair list. + """ + if resource_type is not None: + pulumi.set(__self__, "resource_type", resource_type) + if tags is not None: + pulumi.set(__self__, "tags", tags) @property - @pulumi.getter(name="customDriver") - def custom_driver(self) -> Optional[Mapping[str, Any]]: + @pulumi.getter(name="resourceType") + def resource_type(self) -> Optional[str]: """ - Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. + The resource type bound to the label. """ - return pulumi.get(self, "custom_driver") + return pulumi.get(self, "resource_type") @property @pulumi.getter - def driver(self) -> Optional[Mapping[str, Any]]: + def tags(self) -> Optional[Sequence['outputs.NativeNodePoolTagTag']]: """ - GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + Tag pair list. """ - return pulumi.get(self, "driver") + return pulumi.get(self, "tags") + + +@pulumi.output_type +class NativeNodePoolTagTag(dict): + def __init__(__self__, *, + key: Optional[str] = None, + value: Optional[str] = None): + """ + :param str key: Tag Key. + :param str value: Tag Value. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if value is not None: + pulumi.set(__self__, "value", value) @property - @pulumi.getter(name="migEnable") - def mig_enable(self) -> Optional[bool]: + @pulumi.getter + def key(self) -> Optional[str]: """ - Whether to enable MIG. + Tag Key. """ - return pulumi.get(self, "mig_enable") + return pulumi.get(self, "key") + + @property + @pulumi.getter + def value(self) -> Optional[str]: + """ + Tag Value. + """ + return pulumi.get(self, "value") @pulumi.output_type -class NodePoolTaint(dict): +class NativeNodePoolTaint(dict): def __init__(__self__, *, - effect: str, - key: str, - value: str): + effect: Optional[str] = None, + key: Optional[str] = None, + value: Optional[str] = None): """ - :param str effect: Effect of the taint. Valid values are: `NoSchedule`, `PreferNoSchedule`, `NoExecute`. - :param str key: Key of the taint. The taint key name does not exceed 63 characters, only supports English, numbers,'/','-', and does not allow beginning with ('/'). + :param str effect: Effect of the taint. + :param str key: Key of the taint. :param str value: Value of the taint. """ - pulumi.set(__self__, "effect", effect) - pulumi.set(__self__, "key", key) - pulumi.set(__self__, "value", value) + if effect is not None: + pulumi.set(__self__, "effect", effect) + if key is not None: + pulumi.set(__self__, "key", key) + if value is not None: + pulumi.set(__self__, "value", value) @property @pulumi.getter - def effect(self) -> str: + def effect(self) -> Optional[str]: """ - Effect of the taint. Valid values are: `NoSchedule`, `PreferNoSchedule`, `NoExecute`. + Effect of the taint. """ return pulumi.get(self, "effect") @property @pulumi.getter - def key(self) -> str: + def key(self) -> Optional[str]: """ - Key of the taint. The taint key name does not exceed 63 characters, only supports English, numbers,'/','-', and does not allow beginning with ('/'). + Key of the taint. """ return pulumi.get(self, "key") @property @pulumi.getter - def value(self) -> str: + def value(self) -> Optional[str]: """ Value of the taint. """ @@ -3435,212 +3564,28 @@ def value(self) -> str: @pulumi.output_type -class ScaleWorkerDataDisk(dict): - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "autoFormatAndMount": - suggest = "auto_format_and_mount" - elif key == "diskSize": - suggest = "disk_size" - elif key == "diskType": - suggest = "disk_type" - elif key == "fileSystem": - suggest = "file_system" - elif key == "mountTarget": - suggest = "mount_target" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in ScaleWorkerDataDisk. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - ScaleWorkerDataDisk.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - ScaleWorkerDataDisk.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - auto_format_and_mount: Optional[bool] = None, - disk_size: Optional[int] = None, - disk_type: Optional[str] = None, - file_system: Optional[str] = None, - mount_target: Optional[str] = None): - """ - :param bool auto_format_and_mount: Indicate whether to auto format and mount or not. Default is `false`. - :param int disk_size: Volume of disk in GB. Default is `0`. - :param str disk_type: Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD` and `CLOUD_HSSD` and `CLOUD_TSSD`. - :param str file_system: File system, e.g. `ext3/ext4/xfs`. - :param str mount_target: Mount target. - """ - if auto_format_and_mount is not None: - pulumi.set(__self__, "auto_format_and_mount", auto_format_and_mount) - if disk_size is not None: - pulumi.set(__self__, "disk_size", disk_size) - if disk_type is not None: - pulumi.set(__self__, "disk_type", disk_type) - if file_system is not None: - pulumi.set(__self__, "file_system", file_system) - if mount_target is not None: - pulumi.set(__self__, "mount_target", mount_target) - - @property - @pulumi.getter(name="autoFormatAndMount") - def auto_format_and_mount(self) -> Optional[bool]: - """ - Indicate whether to auto format and mount or not. Default is `false`. - """ - return pulumi.get(self, "auto_format_and_mount") - - @property - @pulumi.getter(name="diskSize") - def disk_size(self) -> Optional[int]: - """ - Volume of disk in GB. Default is `0`. - """ - return pulumi.get(self, "disk_size") - - @property - @pulumi.getter(name="diskType") - def disk_type(self) -> Optional[str]: - """ - Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD` and `CLOUD_HSSD` and `CLOUD_TSSD`. - """ - return pulumi.get(self, "disk_type") - - @property - @pulumi.getter(name="fileSystem") - def file_system(self) -> Optional[str]: - """ - File system, e.g. `ext3/ext4/xfs`. - """ - return pulumi.get(self, "file_system") - - @property - @pulumi.getter(name="mountTarget") - def mount_target(self) -> Optional[str]: - """ - Mount target. - """ - return pulumi.get(self, "mount_target") - - -@pulumi.output_type -class ScaleWorkerGpuArgs(dict): - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "customDriver": - suggest = "custom_driver" - elif key == "migEnable": - suggest = "mig_enable" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in ScaleWorkerGpuArgs. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - ScaleWorkerGpuArgs.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - ScaleWorkerGpuArgs.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - cuda: Optional[Mapping[str, Any]] = None, - cudnn: Optional[Mapping[str, Any]] = None, - custom_driver: Optional[Mapping[str, Any]] = None, - driver: Optional[Mapping[str, Any]] = None, - mig_enable: Optional[bool] = None): - """ - :param Mapping[str, Any] cuda: CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. - :param Mapping[str, Any] cudnn: cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `doc_name`: Doc name of cuDNN; `dev_name`: Dev name of cuDNN. - :param Mapping[str, Any] custom_driver: Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. - :param Mapping[str, Any] driver: GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. - :param bool mig_enable: Whether to enable MIG. - """ - if cuda is not None: - pulumi.set(__self__, "cuda", cuda) - if cudnn is not None: - pulumi.set(__self__, "cudnn", cudnn) - if custom_driver is not None: - pulumi.set(__self__, "custom_driver", custom_driver) - if driver is not None: - pulumi.set(__self__, "driver", driver) - if mig_enable is not None: - pulumi.set(__self__, "mig_enable", mig_enable) - - @property - @pulumi.getter - def cuda(self) -> Optional[Mapping[str, Any]]: - """ - CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. - """ - return pulumi.get(self, "cuda") - - @property - @pulumi.getter - def cudnn(self) -> Optional[Mapping[str, Any]]: - """ - cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `doc_name`: Doc name of cuDNN; `dev_name`: Dev name of cuDNN. - """ - return pulumi.get(self, "cudnn") - - @property - @pulumi.getter(name="customDriver") - def custom_driver(self) -> Optional[Mapping[str, Any]]: - """ - Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. - """ - return pulumi.get(self, "custom_driver") - - @property - @pulumi.getter - def driver(self) -> Optional[Mapping[str, Any]]: - """ - GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. - """ - return pulumi.get(self, "driver") - - @property - @pulumi.getter(name="migEnable") - def mig_enable(self) -> Optional[bool]: - """ - Whether to enable MIG. - """ - return pulumi.get(self, "mig_enable") - - -@pulumi.output_type -class ScaleWorkerWorkerConfig(dict): +class NodePoolAutoScalingConfig(dict): @staticmethod def __key_warning(key: str): suggest = None if key == "instanceType": suggest = "instance_type" - elif key == "subnetId": - suggest = "subnet_id" - elif key == "availabilityZone": - suggest = "availability_zone" + elif key == "backupInstanceTypes": + suggest = "backup_instance_types" elif key == "bandwidthPackageId": suggest = "bandwidth_package_id" elif key == "camRoleName": suggest = "cam_role_name" elif key == "dataDisks": suggest = "data_disks" - elif key == "desiredPodNum": - suggest = "desired_pod_num" - elif key == "disasterRecoverGroupIds": - suggest = "disaster_recover_group_ids" elif key == "enhancedMonitorService": suggest = "enhanced_monitor_service" elif key == "enhancedSecurityService": suggest = "enhanced_security_service" - elif key == "hpcClusterId": - suggest = "hpc_cluster_id" - elif key == "imgId": - suggest = "img_id" + elif key == "hostName": + suggest = "host_name" + elif key == "hostNameStyle": + suggest = "host_name_style" elif key == "instanceChargeType": suggest = "instance_charge_type" elif key == "instanceChargeTypePrepaidPeriod": @@ -3655,111 +3600,100 @@ def __key_warning(key: str): suggest = "internet_max_bandwidth_out" elif key == "keyIds": suggest = "key_ids" + elif key == "orderlySecurityGroupIds": + suggest = "orderly_security_group_ids" elif key == "publicIpAssigned": suggest = "public_ip_assigned" elif key == "securityGroupIds": suggest = "security_group_ids" + elif key == "spotInstanceType": + suggest = "spot_instance_type" + elif key == "spotMaxPrice": + suggest = "spot_max_price" elif key == "systemDiskSize": suggest = "system_disk_size" elif key == "systemDiskType": suggest = "system_disk_type" - elif key == "userData": - suggest = "user_data" if suggest: - pulumi.log.warn(f"Key '{key}' not found in ScaleWorkerWorkerConfig. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in NodePoolAutoScalingConfig. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - ScaleWorkerWorkerConfig.__key_warning(key) + NodePoolAutoScalingConfig.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - ScaleWorkerWorkerConfig.__key_warning(key) + NodePoolAutoScalingConfig.__key_warning(key) return super().get(key, default) def __init__(__self__, *, instance_type: str, - subnet_id: str, - availability_zone: Optional[str] = None, + backup_instance_types: Optional[Sequence[str]] = None, bandwidth_package_id: Optional[str] = None, cam_role_name: Optional[str] = None, - count: Optional[int] = None, - data_disks: Optional[Sequence['outputs.ScaleWorkerWorkerConfigDataDisk']] = None, - desired_pod_num: Optional[int] = None, - disaster_recover_group_ids: Optional[str] = None, + data_disks: Optional[Sequence['outputs.NodePoolAutoScalingConfigDataDisk']] = None, enhanced_monitor_service: Optional[bool] = None, enhanced_security_service: Optional[bool] = None, - hostname: Optional[str] = None, - hpc_cluster_id: Optional[str] = None, - img_id: Optional[str] = None, + host_name: Optional[str] = None, + host_name_style: Optional[str] = None, instance_charge_type: Optional[str] = None, instance_charge_type_prepaid_period: Optional[int] = None, instance_charge_type_prepaid_renew_flag: Optional[str] = None, instance_name: Optional[str] = None, internet_charge_type: Optional[str] = None, internet_max_bandwidth_out: Optional[int] = None, - key_ids: Optional[str] = None, + key_ids: Optional[Sequence[str]] = None, + orderly_security_group_ids: Optional[Sequence[str]] = None, password: Optional[str] = None, public_ip_assigned: Optional[bool] = None, security_group_ids: Optional[Sequence[str]] = None, + spot_instance_type: Optional[str] = None, + spot_max_price: Optional[str] = None, system_disk_size: Optional[int] = None, - system_disk_type: Optional[str] = None, - user_data: Optional[str] = None): + system_disk_type: Optional[str] = None): """ :param str instance_type: Specified types of CVM instance. - :param str subnet_id: Private network ID. - :param str availability_zone: Indicates which availability zone will be used. + :param Sequence[str] backup_instance_types: Backup CVM instance types if specified instance type sold out or mismatch. :param str bandwidth_package_id: bandwidth package id. if user is standard user, then the bandwidth_package_id is needed, or default has bandwidth_package_id. - :param str cam_role_name: CAM role name authorized to access. - :param int count: Number of cvm. - :param Sequence['ScaleWorkerWorkerConfigDataDiskArgs'] data_disks: Configurations of data disk. - :param int desired_pod_num: Indicate to set desired pod number in node. valid when enable_customized_pod_cidr=true, and it override `[globe_]desired_pod_num` for current node. Either all the fields `desired_pod_num` or none. - :param str disaster_recover_group_ids: Disaster recover groups to which a CVM instance belongs. Only support maximum 1. + :param str cam_role_name: Name of cam role. + :param Sequence['NodePoolAutoScalingConfigDataDiskArgs'] data_disks: Configurations of data disk. :param bool enhanced_monitor_service: To specify whether to enable cloud monitor service. Default is TRUE. :param bool enhanced_security_service: To specify whether to enable cloud security service. Default is TRUE. - :param str hostname: The host name of the attached instance. Dot (.) and dash (-) cannot be used as the first and last characters of HostName and cannot be used consecutively. Windows example: The length of the name character is [2, 15], letters (capitalization is not restricted), numbers and dashes (-) are allowed, dots (.) are not supported, and not all numbers are allowed. Examples of other types (Linux, etc.): The character length is [2, 60], and multiple dots are allowed. There is a segment between the dots. Each segment allows letters (with no limitation on capitalization), numbers and dashes (-). - :param str hpc_cluster_id: Id of cvm hpc cluster. - :param str img_id: The valid image id, format of img-xxx. - :param str instance_charge_type: The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. Note: TencentCloud International only supports `POSTPAID_BY_HOUR`, `PREPAID` instance will not terminated after cluster deleted, and may not allow to delete before expired. - :param int instance_charge_type_prepaid_period: The tenancy (time unit is month) of the prepaid instance. NOTE: it only works when instance_charge_type is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. + :param str host_name: The hostname of the cloud server, dot (.) and dash (-) cannot be used as the first and last characters of HostName and cannot be used consecutively. Windows instances are not supported. Examples of other types (Linux, etc.): The character length is [2, 40], multiple periods are allowed, and there is a paragraph between the dots, and each paragraph is allowed to consist of letters (unlimited case), numbers and dashes (-). Pure numbers are not allowed. For usage, refer to `HostNameSettings` in https://www.tencentcloud.com/document/product/377/31001. + :param str host_name_style: The style of the host name of the cloud server, the value range includes ORIGINAL and UNIQUE, and the default is ORIGINAL. For usage, refer to `HostNameSettings` in https://www.tencentcloud.com/document/product/377/31001. + :param str instance_charge_type: Charge type of instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `SPOTPAID`. The default is `POSTPAID_BY_HOUR`. NOTE: `SPOTPAID` instance must set `spot_instance_type` and `spot_max_price` at the same time. + :param int instance_charge_type_prepaid_period: The tenancy (in month) of the prepaid instance, NOTE: it only works when instance_charge_type is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. :param str instance_charge_type_prepaid_renew_flag: Auto renewal flag. Valid values: `NOTIFY_AND_AUTO_RENEW`: notify upon expiration and renew automatically, `NOTIFY_AND_MANUAL_RENEW`: notify upon expiration but do not renew automatically, `DISABLE_NOTIFY_AND_MANUAL_RENEW`: neither notify upon expiration nor renew automatically. Default value: `NOTIFY_AND_MANUAL_RENEW`. If this parameter is specified as `NOTIFY_AND_AUTO_RENEW`, the instance will be automatically renewed on a monthly basis if the account balance is sufficient. NOTE: it only works when instance_charge_type is set to `PREPAID`. - :param str instance_name: Name of the CVMs. - :param str internet_charge_type: Charge types for network traffic. Available values include `TRAFFIC_POSTPAID_BY_HOUR`. - :param int internet_max_bandwidth_out: Max bandwidth of Internet access in Mbps. Default is 0. - :param str key_ids: ID list of keys, should be set if `password` not set. - :param str password: Password to access, should be set if `key_ids` not set. - :param bool public_ip_assigned: Specify whether to assign an Internet IP address. - :param Sequence[str] security_group_ids: Security groups to which a CVM instance belongs. + :param str instance_name: Instance name, no more than 60 characters. For usage, refer to `InstanceNameSettings` in https://www.tencentcloud.com/document/product/377/31001. + :param str internet_charge_type: Charge types for network traffic. Valid value: `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. + :param int internet_max_bandwidth_out: Max bandwidth of Internet access in Mbps. Default is `0`. + :param Sequence[str] key_ids: ID list of keys. + :param Sequence[str] orderly_security_group_ids: Ordered security groups to which a CVM instance belongs. + :param str password: Password to access. + :param bool public_ip_assigned: Specify whether to assign an Internet IP address. + :param Sequence[str] security_group_ids: The order of elements in this field cannot be guaranteed. Use `orderly_security_group_ids` instead. Security groups to which a CVM instance belongs. + :param str spot_instance_type: Type of spot instance, only support `one-time` now. Note: it only works when instance_charge_type is set to `SPOTPAID`. + :param str spot_max_price: Max price of a spot instance, is the format of decimal string, for example "0.50". Note: it only works when instance_charge_type is set to `SPOTPAID`. :param int system_disk_size: Volume of system disk in GB. Default is `50`. - :param str system_disk_type: System disk type. For more information on limits of system disk types, see [Storage Overview](https://intl.cloud.tencent.com/document/product/213/4952). Valid values: `LOCAL_BASIC`: local disk, `LOCAL_SSD`: local SSD disk, `CLOUD_SSD`: SSD, `CLOUD_PREMIUM`: Premium Cloud Storage. NOTE: `CLOUD_BASIC`, `LOCAL_BASIC` and `LOCAL_SSD` are deprecated. - :param str user_data: User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB. + :param str system_disk_type: Type of a CVM disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. Default is `CLOUD_PREMIUM`. """ pulumi.set(__self__, "instance_type", instance_type) - pulumi.set(__self__, "subnet_id", subnet_id) - if availability_zone is not None: - pulumi.set(__self__, "availability_zone", availability_zone) + if backup_instance_types is not None: + pulumi.set(__self__, "backup_instance_types", backup_instance_types) if bandwidth_package_id is not None: pulumi.set(__self__, "bandwidth_package_id", bandwidth_package_id) if cam_role_name is not None: pulumi.set(__self__, "cam_role_name", cam_role_name) - if count is not None: - pulumi.set(__self__, "count", count) if data_disks is not None: pulumi.set(__self__, "data_disks", data_disks) - if desired_pod_num is not None: - pulumi.set(__self__, "desired_pod_num", desired_pod_num) - if disaster_recover_group_ids is not None: - pulumi.set(__self__, "disaster_recover_group_ids", disaster_recover_group_ids) if enhanced_monitor_service is not None: pulumi.set(__self__, "enhanced_monitor_service", enhanced_monitor_service) if enhanced_security_service is not None: pulumi.set(__self__, "enhanced_security_service", enhanced_security_service) - if hostname is not None: - pulumi.set(__self__, "hostname", hostname) - if hpc_cluster_id is not None: - pulumi.set(__self__, "hpc_cluster_id", hpc_cluster_id) - if img_id is not None: - pulumi.set(__self__, "img_id", img_id) + if host_name is not None: + pulumi.set(__self__, "host_name", host_name) + if host_name_style is not None: + pulumi.set(__self__, "host_name_style", host_name_style) if instance_charge_type is not None: pulumi.set(__self__, "instance_charge_type", instance_charge_type) if instance_charge_type_prepaid_period is not None: @@ -3774,18 +3708,22 @@ def __init__(__self__, *, pulumi.set(__self__, "internet_max_bandwidth_out", internet_max_bandwidth_out) if key_ids is not None: pulumi.set(__self__, "key_ids", key_ids) + if orderly_security_group_ids is not None: + pulumi.set(__self__, "orderly_security_group_ids", orderly_security_group_ids) if password is not None: pulumi.set(__self__, "password", password) if public_ip_assigned is not None: pulumi.set(__self__, "public_ip_assigned", public_ip_assigned) if security_group_ids is not None: pulumi.set(__self__, "security_group_ids", security_group_ids) + if spot_instance_type is not None: + pulumi.set(__self__, "spot_instance_type", spot_instance_type) + if spot_max_price is not None: + pulumi.set(__self__, "spot_max_price", spot_max_price) if system_disk_size is not None: pulumi.set(__self__, "system_disk_size", system_disk_size) if system_disk_type is not None: pulumi.set(__self__, "system_disk_type", system_disk_type) - if user_data is not None: - pulumi.set(__self__, "user_data", user_data) @property @pulumi.getter(name="instanceType") @@ -3796,20 +3734,12 @@ def instance_type(self) -> str: return pulumi.get(self, "instance_type") @property - @pulumi.getter(name="subnetId") - def subnet_id(self) -> str: - """ - Private network ID. - """ - return pulumi.get(self, "subnet_id") - - @property - @pulumi.getter(name="availabilityZone") - def availability_zone(self) -> Optional[str]: + @pulumi.getter(name="backupInstanceTypes") + def backup_instance_types(self) -> Optional[Sequence[str]]: """ - Indicates which availability zone will be used. + Backup CVM instance types if specified instance type sold out or mismatch. """ - return pulumi.get(self, "availability_zone") + return pulumi.get(self, "backup_instance_types") @property @pulumi.getter(name="bandwidthPackageId") @@ -3823,484 +3753,2337 @@ def bandwidth_package_id(self) -> Optional[str]: @pulumi.getter(name="camRoleName") def cam_role_name(self) -> Optional[str]: """ - CAM role name authorized to access. + Name of cam role. """ return pulumi.get(self, "cam_role_name") + @property + @pulumi.getter(name="dataDisks") + def data_disks(self) -> Optional[Sequence['outputs.NodePoolAutoScalingConfigDataDisk']]: + """ + Configurations of data disk. + """ + return pulumi.get(self, "data_disks") + + @property + @pulumi.getter(name="enhancedMonitorService") + def enhanced_monitor_service(self) -> Optional[bool]: + """ + To specify whether to enable cloud monitor service. Default is TRUE. + """ + return pulumi.get(self, "enhanced_monitor_service") + + @property + @pulumi.getter(name="enhancedSecurityService") + def enhanced_security_service(self) -> Optional[bool]: + """ + To specify whether to enable cloud security service. Default is TRUE. + """ + return pulumi.get(self, "enhanced_security_service") + + @property + @pulumi.getter(name="hostName") + def host_name(self) -> Optional[str]: + """ + The hostname of the cloud server, dot (.) and dash (-) cannot be used as the first and last characters of HostName and cannot be used consecutively. Windows instances are not supported. Examples of other types (Linux, etc.): The character length is [2, 40], multiple periods are allowed, and there is a paragraph between the dots, and each paragraph is allowed to consist of letters (unlimited case), numbers and dashes (-). Pure numbers are not allowed. For usage, refer to `HostNameSettings` in https://www.tencentcloud.com/document/product/377/31001. + """ + return pulumi.get(self, "host_name") + + @property + @pulumi.getter(name="hostNameStyle") + def host_name_style(self) -> Optional[str]: + """ + The style of the host name of the cloud server, the value range includes ORIGINAL and UNIQUE, and the default is ORIGINAL. For usage, refer to `HostNameSettings` in https://www.tencentcloud.com/document/product/377/31001. + """ + return pulumi.get(self, "host_name_style") + + @property + @pulumi.getter(name="instanceChargeType") + def instance_charge_type(self) -> Optional[str]: + """ + Charge type of instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `SPOTPAID`. The default is `POSTPAID_BY_HOUR`. NOTE: `SPOTPAID` instance must set `spot_instance_type` and `spot_max_price` at the same time. + """ + return pulumi.get(self, "instance_charge_type") + + @property + @pulumi.getter(name="instanceChargeTypePrepaidPeriod") + def instance_charge_type_prepaid_period(self) -> Optional[int]: + """ + The tenancy (in month) of the prepaid instance, NOTE: it only works when instance_charge_type is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. + """ + return pulumi.get(self, "instance_charge_type_prepaid_period") + + @property + @pulumi.getter(name="instanceChargeTypePrepaidRenewFlag") + def instance_charge_type_prepaid_renew_flag(self) -> Optional[str]: + """ + Auto renewal flag. Valid values: `NOTIFY_AND_AUTO_RENEW`: notify upon expiration and renew automatically, `NOTIFY_AND_MANUAL_RENEW`: notify upon expiration but do not renew automatically, `DISABLE_NOTIFY_AND_MANUAL_RENEW`: neither notify upon expiration nor renew automatically. Default value: `NOTIFY_AND_MANUAL_RENEW`. If this parameter is specified as `NOTIFY_AND_AUTO_RENEW`, the instance will be automatically renewed on a monthly basis if the account balance is sufficient. NOTE: it only works when instance_charge_type is set to `PREPAID`. + """ + return pulumi.get(self, "instance_charge_type_prepaid_renew_flag") + + @property + @pulumi.getter(name="instanceName") + def instance_name(self) -> Optional[str]: + """ + Instance name, no more than 60 characters. For usage, refer to `InstanceNameSettings` in https://www.tencentcloud.com/document/product/377/31001. + """ + return pulumi.get(self, "instance_name") + + @property + @pulumi.getter(name="internetChargeType") + def internet_charge_type(self) -> Optional[str]: + """ + Charge types for network traffic. Valid value: `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. + """ + return pulumi.get(self, "internet_charge_type") + + @property + @pulumi.getter(name="internetMaxBandwidthOut") + def internet_max_bandwidth_out(self) -> Optional[int]: + """ + Max bandwidth of Internet access in Mbps. Default is `0`. + """ + return pulumi.get(self, "internet_max_bandwidth_out") + + @property + @pulumi.getter(name="keyIds") + def key_ids(self) -> Optional[Sequence[str]]: + """ + ID list of keys. + """ + return pulumi.get(self, "key_ids") + + @property + @pulumi.getter(name="orderlySecurityGroupIds") + def orderly_security_group_ids(self) -> Optional[Sequence[str]]: + """ + Ordered security groups to which a CVM instance belongs. + """ + return pulumi.get(self, "orderly_security_group_ids") + @property @pulumi.getter - def count(self) -> Optional[int]: + def password(self) -> Optional[str]: """ - Number of cvm. + Password to access. """ - return pulumi.get(self, "count") + return pulumi.get(self, "password") @property - @pulumi.getter(name="dataDisks") - def data_disks(self) -> Optional[Sequence['outputs.ScaleWorkerWorkerConfigDataDisk']]: + @pulumi.getter(name="publicIpAssigned") + def public_ip_assigned(self) -> Optional[bool]: """ - Configurations of data disk. + Specify whether to assign an Internet IP address. """ - return pulumi.get(self, "data_disks") + return pulumi.get(self, "public_ip_assigned") @property - @pulumi.getter(name="desiredPodNum") - def desired_pod_num(self) -> Optional[int]: + @pulumi.getter(name="securityGroupIds") + def security_group_ids(self) -> Optional[Sequence[str]]: """ - Indicate to set desired pod number in node. valid when enable_customized_pod_cidr=true, and it override `[globe_]desired_pod_num` for current node. Either all the fields `desired_pod_num` or none. + The order of elements in this field cannot be guaranteed. Use `orderly_security_group_ids` instead. Security groups to which a CVM instance belongs. """ - return pulumi.get(self, "desired_pod_num") + warnings.warn("""The order of elements in this field cannot be guaranteed. Use `orderly_security_group_ids` instead.""", DeprecationWarning) + pulumi.log.warn("""security_group_ids is deprecated: The order of elements in this field cannot be guaranteed. Use `orderly_security_group_ids` instead.""") + + return pulumi.get(self, "security_group_ids") @property - @pulumi.getter(name="disasterRecoverGroupIds") - def disaster_recover_group_ids(self) -> Optional[str]: + @pulumi.getter(name="spotInstanceType") + def spot_instance_type(self) -> Optional[str]: """ - Disaster recover groups to which a CVM instance belongs. Only support maximum 1. + Type of spot instance, only support `one-time` now. Note: it only works when instance_charge_type is set to `SPOTPAID`. + """ + return pulumi.get(self, "spot_instance_type") + + @property + @pulumi.getter(name="spotMaxPrice") + def spot_max_price(self) -> Optional[str]: + """ + Max price of a spot instance, is the format of decimal string, for example "0.50". Note: it only works when instance_charge_type is set to `SPOTPAID`. + """ + return pulumi.get(self, "spot_max_price") + + @property + @pulumi.getter(name="systemDiskSize") + def system_disk_size(self) -> Optional[int]: + """ + Volume of system disk in GB. Default is `50`. + """ + return pulumi.get(self, "system_disk_size") + + @property + @pulumi.getter(name="systemDiskType") + def system_disk_type(self) -> Optional[str]: + """ + Type of a CVM disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. Default is `CLOUD_PREMIUM`. + """ + return pulumi.get(self, "system_disk_type") + + +@pulumi.output_type +class NodePoolAutoScalingConfigDataDisk(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "deleteWithInstance": + suggest = "delete_with_instance" + elif key == "diskSize": + suggest = "disk_size" + elif key == "diskType": + suggest = "disk_type" + elif key == "snapshotId": + suggest = "snapshot_id" + elif key == "throughputPerformance": + suggest = "throughput_performance" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in NodePoolAutoScalingConfigDataDisk. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + NodePoolAutoScalingConfigDataDisk.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + NodePoolAutoScalingConfigDataDisk.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + delete_with_instance: Optional[bool] = None, + disk_size: Optional[int] = None, + disk_type: Optional[str] = None, + encrypt: Optional[bool] = None, + snapshot_id: Optional[str] = None, + throughput_performance: Optional[int] = None): + """ + :param bool delete_with_instance: Indicates whether the disk remove after instance terminated. Default is `false`. + :param int disk_size: Volume of disk in GB. Default is `0`. + :param str disk_type: Types of disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. + :param bool encrypt: Specify whether to encrypt data disk, default: false. NOTE: Make sure the instance type is offering and the cam role `QcloudKMSAccessForCVMRole` was provided. + :param str snapshot_id: Data disk snapshot ID. + :param int throughput_performance: Add extra performance to the data disk. Only works when disk type is `CLOUD_TSSD` or `CLOUD_HSSD` and `data_size` > 460GB. + """ + if delete_with_instance is not None: + pulumi.set(__self__, "delete_with_instance", delete_with_instance) + if disk_size is not None: + pulumi.set(__self__, "disk_size", disk_size) + if disk_type is not None: + pulumi.set(__self__, "disk_type", disk_type) + if encrypt is not None: + pulumi.set(__self__, "encrypt", encrypt) + if snapshot_id is not None: + pulumi.set(__self__, "snapshot_id", snapshot_id) + if throughput_performance is not None: + pulumi.set(__self__, "throughput_performance", throughput_performance) + + @property + @pulumi.getter(name="deleteWithInstance") + def delete_with_instance(self) -> Optional[bool]: + """ + Indicates whether the disk remove after instance terminated. Default is `false`. + """ + return pulumi.get(self, "delete_with_instance") + + @property + @pulumi.getter(name="diskSize") + def disk_size(self) -> Optional[int]: + """ + Volume of disk in GB. Default is `0`. + """ + return pulumi.get(self, "disk_size") + + @property + @pulumi.getter(name="diskType") + def disk_type(self) -> Optional[str]: + """ + Types of disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. + """ + return pulumi.get(self, "disk_type") + + @property + @pulumi.getter + def encrypt(self) -> Optional[bool]: + """ + Specify whether to encrypt data disk, default: false. NOTE: Make sure the instance type is offering and the cam role `QcloudKMSAccessForCVMRole` was provided. + """ + return pulumi.get(self, "encrypt") + + @property + @pulumi.getter(name="snapshotId") + def snapshot_id(self) -> Optional[str]: + """ + Data disk snapshot ID. + """ + return pulumi.get(self, "snapshot_id") + + @property + @pulumi.getter(name="throughputPerformance") + def throughput_performance(self) -> Optional[int]: + """ + Add extra performance to the data disk. Only works when disk type is `CLOUD_TSSD` or `CLOUD_HSSD` and `data_size` > 460GB. + """ + return pulumi.get(self, "throughput_performance") + + +@pulumi.output_type +class NodePoolNodeConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dataDisks": + suggest = "data_disks" + elif key == "desiredPodNum": + suggest = "desired_pod_num" + elif key == "dockerGraphPath": + suggest = "docker_graph_path" + elif key == "extraArgs": + suggest = "extra_args" + elif key == "gpuArgs": + suggest = "gpu_args" + elif key == "isSchedule": + suggest = "is_schedule" + elif key == "mountTarget": + suggest = "mount_target" + elif key == "preStartUserScript": + suggest = "pre_start_user_script" + elif key == "userData": + suggest = "user_data" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in NodePoolNodeConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + NodePoolNodeConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + NodePoolNodeConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + data_disks: Optional[Sequence['outputs.NodePoolNodeConfigDataDisk']] = None, + desired_pod_num: Optional[int] = None, + docker_graph_path: Optional[str] = None, + extra_args: Optional[Sequence[str]] = None, + gpu_args: Optional['outputs.NodePoolNodeConfigGpuArgs'] = None, + is_schedule: Optional[bool] = None, + mount_target: Optional[str] = None, + pre_start_user_script: Optional[str] = None, + user_data: Optional[str] = None): + """ + :param Sequence['NodePoolNodeConfigDataDiskArgs'] data_disks: Configurations of data disk. + :param int desired_pod_num: Indicate to set desired pod number in node. valid when the cluster is podCIDR. + :param str docker_graph_path: Docker graph path. Default is `/var/lib/docker`. + :param Sequence[str] extra_args: Custom parameter information related to the node. This is a white-list parameter. + :param 'NodePoolNodeConfigGpuArgsArgs' gpu_args: GPU driver parameters. + :param bool is_schedule: Indicate to schedule the adding node or not. Default is true. + :param str mount_target: Mount target. Default is not mounting. + :param str pre_start_user_script: Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. + :param str user_data: Base64-encoded User Data text, the length limit is 16KB. + """ + if data_disks is not None: + pulumi.set(__self__, "data_disks", data_disks) + if desired_pod_num is not None: + pulumi.set(__self__, "desired_pod_num", desired_pod_num) + if docker_graph_path is not None: + pulumi.set(__self__, "docker_graph_path", docker_graph_path) + if extra_args is not None: + pulumi.set(__self__, "extra_args", extra_args) + if gpu_args is not None: + pulumi.set(__self__, "gpu_args", gpu_args) + if is_schedule is not None: + pulumi.set(__self__, "is_schedule", is_schedule) + if mount_target is not None: + pulumi.set(__self__, "mount_target", mount_target) + if pre_start_user_script is not None: + pulumi.set(__self__, "pre_start_user_script", pre_start_user_script) + if user_data is not None: + pulumi.set(__self__, "user_data", user_data) + + @property + @pulumi.getter(name="dataDisks") + def data_disks(self) -> Optional[Sequence['outputs.NodePoolNodeConfigDataDisk']]: + """ + Configurations of data disk. + """ + return pulumi.get(self, "data_disks") + + @property + @pulumi.getter(name="desiredPodNum") + def desired_pod_num(self) -> Optional[int]: + """ + Indicate to set desired pod number in node. valid when the cluster is podCIDR. + """ + return pulumi.get(self, "desired_pod_num") + + @property + @pulumi.getter(name="dockerGraphPath") + def docker_graph_path(self) -> Optional[str]: + """ + Docker graph path. Default is `/var/lib/docker`. + """ + return pulumi.get(self, "docker_graph_path") + + @property + @pulumi.getter(name="extraArgs") + def extra_args(self) -> Optional[Sequence[str]]: + """ + Custom parameter information related to the node. This is a white-list parameter. + """ + return pulumi.get(self, "extra_args") + + @property + @pulumi.getter(name="gpuArgs") + def gpu_args(self) -> Optional['outputs.NodePoolNodeConfigGpuArgs']: + """ + GPU driver parameters. + """ + return pulumi.get(self, "gpu_args") + + @property + @pulumi.getter(name="isSchedule") + def is_schedule(self) -> Optional[bool]: + """ + Indicate to schedule the adding node or not. Default is true. + """ + return pulumi.get(self, "is_schedule") + + @property + @pulumi.getter(name="mountTarget") + def mount_target(self) -> Optional[str]: + """ + Mount target. Default is not mounting. + """ + return pulumi.get(self, "mount_target") + + @property + @pulumi.getter(name="preStartUserScript") + def pre_start_user_script(self) -> Optional[str]: + """ + Base64-encoded user script, executed before initializing the node, currently only effective for adding existing nodes. + """ + return pulumi.get(self, "pre_start_user_script") + + @property + @pulumi.getter(name="userData") + def user_data(self) -> Optional[str]: + """ + Base64-encoded User Data text, the length limit is 16KB. + """ + return pulumi.get(self, "user_data") + + +@pulumi.output_type +class NodePoolNodeConfigDataDisk(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "autoFormatAndMount": + suggest = "auto_format_and_mount" + elif key == "diskPartition": + suggest = "disk_partition" + elif key == "diskSize": + suggest = "disk_size" + elif key == "diskType": + suggest = "disk_type" + elif key == "fileSystem": + suggest = "file_system" + elif key == "mountTarget": + suggest = "mount_target" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in NodePoolNodeConfigDataDisk. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + NodePoolNodeConfigDataDisk.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + NodePoolNodeConfigDataDisk.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + auto_format_and_mount: Optional[bool] = None, + disk_partition: Optional[str] = None, + disk_size: Optional[int] = None, + disk_type: Optional[str] = None, + file_system: Optional[str] = None, + mount_target: Optional[str] = None): + """ + :param bool auto_format_and_mount: Indicate whether to auto format and mount or not. Default is `false`. + :param str disk_partition: The name of the device or partition to mount. NOTE: this argument doesn't support setting in node pool, or will leads to mount error. + :param int disk_size: Volume of disk in GB. Default is `0`. + :param str disk_type: Types of disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. + :param str file_system: File system, e.g. `ext3/ext4/xfs`. + :param str mount_target: Mount target. + """ + if auto_format_and_mount is not None: + pulumi.set(__self__, "auto_format_and_mount", auto_format_and_mount) + if disk_partition is not None: + pulumi.set(__self__, "disk_partition", disk_partition) + if disk_size is not None: + pulumi.set(__self__, "disk_size", disk_size) + if disk_type is not None: + pulumi.set(__self__, "disk_type", disk_type) + if file_system is not None: + pulumi.set(__self__, "file_system", file_system) + if mount_target is not None: + pulumi.set(__self__, "mount_target", mount_target) + + @property + @pulumi.getter(name="autoFormatAndMount") + def auto_format_and_mount(self) -> Optional[bool]: + """ + Indicate whether to auto format and mount or not. Default is `false`. + """ + return pulumi.get(self, "auto_format_and_mount") + + @property + @pulumi.getter(name="diskPartition") + def disk_partition(self) -> Optional[str]: + """ + The name of the device or partition to mount. NOTE: this argument doesn't support setting in node pool, or will leads to mount error. + """ + return pulumi.get(self, "disk_partition") + + @property + @pulumi.getter(name="diskSize") + def disk_size(self) -> Optional[int]: + """ + Volume of disk in GB. Default is `0`. + """ + return pulumi.get(self, "disk_size") + + @property + @pulumi.getter(name="diskType") + def disk_type(self) -> Optional[str]: + """ + Types of disk. Valid value: `LOCAL_BASIC`, `LOCAL_SSD`, `CLOUD_BASIC`, `CLOUD_PREMIUM`, `CLOUD_SSD`, `CLOUD_HSSD`, `CLOUD_TSSD` and `CLOUD_BSSD`. + """ + return pulumi.get(self, "disk_type") + + @property + @pulumi.getter(name="fileSystem") + def file_system(self) -> Optional[str]: + """ + File system, e.g. `ext3/ext4/xfs`. + """ + return pulumi.get(self, "file_system") + + @property + @pulumi.getter(name="mountTarget") + def mount_target(self) -> Optional[str]: + """ + Mount target. + """ + return pulumi.get(self, "mount_target") + + +@pulumi.output_type +class NodePoolNodeConfigGpuArgs(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "customDriver": + suggest = "custom_driver" + elif key == "migEnable": + suggest = "mig_enable" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in NodePoolNodeConfigGpuArgs. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + NodePoolNodeConfigGpuArgs.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + NodePoolNodeConfigGpuArgs.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + cuda: Optional[Mapping[str, Any]] = None, + cudnn: Optional[Mapping[str, Any]] = None, + custom_driver: Optional[Mapping[str, Any]] = None, + driver: Optional[Mapping[str, Any]] = None, + mig_enable: Optional[bool] = None): + """ + :param Mapping[str, Any] cuda: CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + :param Mapping[str, Any] cudnn: cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `doc_name`: Doc name of cuDNN; `dev_name`: Dev name of cuDNN. + :param Mapping[str, Any] custom_driver: Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. + :param Mapping[str, Any] driver: GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + :param bool mig_enable: Whether to enable MIG. + """ + if cuda is not None: + pulumi.set(__self__, "cuda", cuda) + if cudnn is not None: + pulumi.set(__self__, "cudnn", cudnn) + if custom_driver is not None: + pulumi.set(__self__, "custom_driver", custom_driver) + if driver is not None: + pulumi.set(__self__, "driver", driver) + if mig_enable is not None: + pulumi.set(__self__, "mig_enable", mig_enable) + + @property + @pulumi.getter + def cuda(self) -> Optional[Mapping[str, Any]]: + """ + CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + """ + return pulumi.get(self, "cuda") + + @property + @pulumi.getter + def cudnn(self) -> Optional[Mapping[str, Any]]: + """ + cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `doc_name`: Doc name of cuDNN; `dev_name`: Dev name of cuDNN. + """ + return pulumi.get(self, "cudnn") + + @property + @pulumi.getter(name="customDriver") + def custom_driver(self) -> Optional[Mapping[str, Any]]: + """ + Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. + """ + return pulumi.get(self, "custom_driver") + + @property + @pulumi.getter + def driver(self) -> Optional[Mapping[str, Any]]: + """ + GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + """ + return pulumi.get(self, "driver") + + @property + @pulumi.getter(name="migEnable") + def mig_enable(self) -> Optional[bool]: + """ + Whether to enable MIG. + """ + return pulumi.get(self, "mig_enable") + + +@pulumi.output_type +class NodePoolTaint(dict): + def __init__(__self__, *, + effect: str, + key: str, + value: str): + """ + :param str effect: Effect of the taint. Valid values are: `NoSchedule`, `PreferNoSchedule`, `NoExecute`. + :param str key: Key of the taint. The taint key name does not exceed 63 characters, only supports English, numbers,'/','-', and does not allow beginning with ('/'). + :param str value: Value of the taint. + """ + pulumi.set(__self__, "effect", effect) + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def effect(self) -> str: + """ + Effect of the taint. Valid values are: `NoSchedule`, `PreferNoSchedule`, `NoExecute`. + """ + return pulumi.get(self, "effect") + + @property + @pulumi.getter + def key(self) -> str: + """ + Key of the taint. The taint key name does not exceed 63 characters, only supports English, numbers,'/','-', and does not allow beginning with ('/'). + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter + def value(self) -> str: + """ + Value of the taint. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class ScaleWorkerDataDisk(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "autoFormatAndMount": + suggest = "auto_format_and_mount" + elif key == "diskSize": + suggest = "disk_size" + elif key == "diskType": + suggest = "disk_type" + elif key == "fileSystem": + suggest = "file_system" + elif key == "mountTarget": + suggest = "mount_target" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ScaleWorkerDataDisk. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ScaleWorkerDataDisk.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ScaleWorkerDataDisk.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + auto_format_and_mount: Optional[bool] = None, + disk_size: Optional[int] = None, + disk_type: Optional[str] = None, + file_system: Optional[str] = None, + mount_target: Optional[str] = None): + """ + :param bool auto_format_and_mount: Indicate whether to auto format and mount or not. Default is `false`. + :param int disk_size: Volume of disk in GB. Default is `0`. + :param str disk_type: Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD` and `CLOUD_HSSD` and `CLOUD_TSSD`. + :param str file_system: File system, e.g. `ext3/ext4/xfs`. + :param str mount_target: Mount target. + """ + if auto_format_and_mount is not None: + pulumi.set(__self__, "auto_format_and_mount", auto_format_and_mount) + if disk_size is not None: + pulumi.set(__self__, "disk_size", disk_size) + if disk_type is not None: + pulumi.set(__self__, "disk_type", disk_type) + if file_system is not None: + pulumi.set(__self__, "file_system", file_system) + if mount_target is not None: + pulumi.set(__self__, "mount_target", mount_target) + + @property + @pulumi.getter(name="autoFormatAndMount") + def auto_format_and_mount(self) -> Optional[bool]: + """ + Indicate whether to auto format and mount or not. Default is `false`. + """ + return pulumi.get(self, "auto_format_and_mount") + + @property + @pulumi.getter(name="diskSize") + def disk_size(self) -> Optional[int]: + """ + Volume of disk in GB. Default is `0`. + """ + return pulumi.get(self, "disk_size") + + @property + @pulumi.getter(name="diskType") + def disk_type(self) -> Optional[str]: + """ + Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD` and `CLOUD_HSSD` and `CLOUD_TSSD`. + """ + return pulumi.get(self, "disk_type") + + @property + @pulumi.getter(name="fileSystem") + def file_system(self) -> Optional[str]: + """ + File system, e.g. `ext3/ext4/xfs`. + """ + return pulumi.get(self, "file_system") + + @property + @pulumi.getter(name="mountTarget") + def mount_target(self) -> Optional[str]: + """ + Mount target. + """ + return pulumi.get(self, "mount_target") + + +@pulumi.output_type +class ScaleWorkerGpuArgs(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "customDriver": + suggest = "custom_driver" + elif key == "migEnable": + suggest = "mig_enable" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ScaleWorkerGpuArgs. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ScaleWorkerGpuArgs.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ScaleWorkerGpuArgs.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + cuda: Optional[Mapping[str, Any]] = None, + cudnn: Optional[Mapping[str, Any]] = None, + custom_driver: Optional[Mapping[str, Any]] = None, + driver: Optional[Mapping[str, Any]] = None, + mig_enable: Optional[bool] = None): + """ + :param Mapping[str, Any] cuda: CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + :param Mapping[str, Any] cudnn: cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `doc_name`: Doc name of cuDNN; `dev_name`: Dev name of cuDNN. + :param Mapping[str, Any] custom_driver: Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. + :param Mapping[str, Any] driver: GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + :param bool mig_enable: Whether to enable MIG. + """ + if cuda is not None: + pulumi.set(__self__, "cuda", cuda) + if cudnn is not None: + pulumi.set(__self__, "cudnn", cudnn) + if custom_driver is not None: + pulumi.set(__self__, "custom_driver", custom_driver) + if driver is not None: + pulumi.set(__self__, "driver", driver) + if mig_enable is not None: + pulumi.set(__self__, "mig_enable", mig_enable) + + @property + @pulumi.getter + def cuda(self) -> Optional[Mapping[str, Any]]: + """ + CUDA version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + """ + return pulumi.get(self, "cuda") + + @property + @pulumi.getter + def cudnn(self) -> Optional[Mapping[str, Any]]: + """ + cuDNN version. Format like: `{ version: String, name: String, doc_name: String, dev_name: String }`. `version`: cuDNN version; `name`: cuDNN name; `doc_name`: Doc name of cuDNN; `dev_name`: Dev name of cuDNN. + """ + return pulumi.get(self, "cudnn") + + @property + @pulumi.getter(name="customDriver") + def custom_driver(self) -> Optional[Mapping[str, Any]]: + """ + Custom GPU driver. Format like: `{address: String}`. `address`: URL of custom GPU driver address. + """ + return pulumi.get(self, "custom_driver") + + @property + @pulumi.getter + def driver(self) -> Optional[Mapping[str, Any]]: + """ + GPU driver version. Format like: `{ version: String, name: String }`. `version`: Version of GPU driver or CUDA; `name`: Name of GPU driver or CUDA. + """ + return pulumi.get(self, "driver") + + @property + @pulumi.getter(name="migEnable") + def mig_enable(self) -> Optional[bool]: + """ + Whether to enable MIG. + """ + return pulumi.get(self, "mig_enable") + + +@pulumi.output_type +class ScaleWorkerWorkerConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "instanceType": + suggest = "instance_type" + elif key == "subnetId": + suggest = "subnet_id" + elif key == "availabilityZone": + suggest = "availability_zone" + elif key == "bandwidthPackageId": + suggest = "bandwidth_package_id" + elif key == "camRoleName": + suggest = "cam_role_name" + elif key == "dataDisks": + suggest = "data_disks" + elif key == "desiredPodNum": + suggest = "desired_pod_num" + elif key == "disasterRecoverGroupIds": + suggest = "disaster_recover_group_ids" + elif key == "enhancedMonitorService": + suggest = "enhanced_monitor_service" + elif key == "enhancedSecurityService": + suggest = "enhanced_security_service" + elif key == "hpcClusterId": + suggest = "hpc_cluster_id" + elif key == "imgId": + suggest = "img_id" + elif key == "instanceChargeType": + suggest = "instance_charge_type" + elif key == "instanceChargeTypePrepaidPeriod": + suggest = "instance_charge_type_prepaid_period" + elif key == "instanceChargeTypePrepaidRenewFlag": + suggest = "instance_charge_type_prepaid_renew_flag" + elif key == "instanceName": + suggest = "instance_name" + elif key == "internetChargeType": + suggest = "internet_charge_type" + elif key == "internetMaxBandwidthOut": + suggest = "internet_max_bandwidth_out" + elif key == "keyIds": + suggest = "key_ids" + elif key == "publicIpAssigned": + suggest = "public_ip_assigned" + elif key == "securityGroupIds": + suggest = "security_group_ids" + elif key == "systemDiskSize": + suggest = "system_disk_size" + elif key == "systemDiskType": + suggest = "system_disk_type" + elif key == "userData": + suggest = "user_data" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ScaleWorkerWorkerConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ScaleWorkerWorkerConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ScaleWorkerWorkerConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + instance_type: str, + subnet_id: str, + availability_zone: Optional[str] = None, + bandwidth_package_id: Optional[str] = None, + cam_role_name: Optional[str] = None, + count: Optional[int] = None, + data_disks: Optional[Sequence['outputs.ScaleWorkerWorkerConfigDataDisk']] = None, + desired_pod_num: Optional[int] = None, + disaster_recover_group_ids: Optional[str] = None, + enhanced_monitor_service: Optional[bool] = None, + enhanced_security_service: Optional[bool] = None, + hostname: Optional[str] = None, + hpc_cluster_id: Optional[str] = None, + img_id: Optional[str] = None, + instance_charge_type: Optional[str] = None, + instance_charge_type_prepaid_period: Optional[int] = None, + instance_charge_type_prepaid_renew_flag: Optional[str] = None, + instance_name: Optional[str] = None, + internet_charge_type: Optional[str] = None, + internet_max_bandwidth_out: Optional[int] = None, + key_ids: Optional[str] = None, + password: Optional[str] = None, + public_ip_assigned: Optional[bool] = None, + security_group_ids: Optional[Sequence[str]] = None, + system_disk_size: Optional[int] = None, + system_disk_type: Optional[str] = None, + user_data: Optional[str] = None): + """ + :param str instance_type: Specified types of CVM instance. + :param str subnet_id: Private network ID. + :param str availability_zone: Indicates which availability zone will be used. + :param str bandwidth_package_id: bandwidth package id. if user is standard user, then the bandwidth_package_id is needed, or default has bandwidth_package_id. + :param str cam_role_name: CAM role name authorized to access. + :param int count: Number of cvm. + :param Sequence['ScaleWorkerWorkerConfigDataDiskArgs'] data_disks: Configurations of data disk. + :param int desired_pod_num: Indicate to set desired pod number in node. valid when enable_customized_pod_cidr=true, and it override `[globe_]desired_pod_num` for current node. Either all the fields `desired_pod_num` or none. + :param str disaster_recover_group_ids: Disaster recover groups to which a CVM instance belongs. Only support maximum 1. + :param bool enhanced_monitor_service: To specify whether to enable cloud monitor service. Default is TRUE. + :param bool enhanced_security_service: To specify whether to enable cloud security service. Default is TRUE. + :param str hostname: The host name of the attached instance. Dot (.) and dash (-) cannot be used as the first and last characters of HostName and cannot be used consecutively. Windows example: The length of the name character is [2, 15], letters (capitalization is not restricted), numbers and dashes (-) are allowed, dots (.) are not supported, and not all numbers are allowed. Examples of other types (Linux, etc.): The character length is [2, 60], and multiple dots are allowed. There is a segment between the dots. Each segment allows letters (with no limitation on capitalization), numbers and dashes (-). + :param str hpc_cluster_id: Id of cvm hpc cluster. + :param str img_id: The valid image id, format of img-xxx. + :param str instance_charge_type: The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. Note: TencentCloud International only supports `POSTPAID_BY_HOUR`, `PREPAID` instance will not terminated after cluster deleted, and may not allow to delete before expired. + :param int instance_charge_type_prepaid_period: The tenancy (time unit is month) of the prepaid instance. NOTE: it only works when instance_charge_type is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. + :param str instance_charge_type_prepaid_renew_flag: Auto renewal flag. Valid values: `NOTIFY_AND_AUTO_RENEW`: notify upon expiration and renew automatically, `NOTIFY_AND_MANUAL_RENEW`: notify upon expiration but do not renew automatically, `DISABLE_NOTIFY_AND_MANUAL_RENEW`: neither notify upon expiration nor renew automatically. Default value: `NOTIFY_AND_MANUAL_RENEW`. If this parameter is specified as `NOTIFY_AND_AUTO_RENEW`, the instance will be automatically renewed on a monthly basis if the account balance is sufficient. NOTE: it only works when instance_charge_type is set to `PREPAID`. + :param str instance_name: Name of the CVMs. + :param str internet_charge_type: Charge types for network traffic. Available values include `TRAFFIC_POSTPAID_BY_HOUR`. + :param int internet_max_bandwidth_out: Max bandwidth of Internet access in Mbps. Default is 0. + :param str key_ids: ID list of keys, should be set if `password` not set. + :param str password: Password to access, should be set if `key_ids` not set. + :param bool public_ip_assigned: Specify whether to assign an Internet IP address. + :param Sequence[str] security_group_ids: Security groups to which a CVM instance belongs. + :param int system_disk_size: Volume of system disk in GB. Default is `50`. + :param str system_disk_type: System disk type. For more information on limits of system disk types, see [Storage Overview](https://intl.cloud.tencent.com/document/product/213/4952). Valid values: `LOCAL_BASIC`: local disk, `LOCAL_SSD`: local SSD disk, `CLOUD_SSD`: SSD, `CLOUD_PREMIUM`: Premium Cloud Storage. NOTE: `CLOUD_BASIC`, `LOCAL_BASIC` and `LOCAL_SSD` are deprecated. + :param str user_data: User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB. + """ + pulumi.set(__self__, "instance_type", instance_type) + pulumi.set(__self__, "subnet_id", subnet_id) + if availability_zone is not None: + pulumi.set(__self__, "availability_zone", availability_zone) + if bandwidth_package_id is not None: + pulumi.set(__self__, "bandwidth_package_id", bandwidth_package_id) + if cam_role_name is not None: + pulumi.set(__self__, "cam_role_name", cam_role_name) + if count is not None: + pulumi.set(__self__, "count", count) + if data_disks is not None: + pulumi.set(__self__, "data_disks", data_disks) + if desired_pod_num is not None: + pulumi.set(__self__, "desired_pod_num", desired_pod_num) + if disaster_recover_group_ids is not None: + pulumi.set(__self__, "disaster_recover_group_ids", disaster_recover_group_ids) + if enhanced_monitor_service is not None: + pulumi.set(__self__, "enhanced_monitor_service", enhanced_monitor_service) + if enhanced_security_service is not None: + pulumi.set(__self__, "enhanced_security_service", enhanced_security_service) + if hostname is not None: + pulumi.set(__self__, "hostname", hostname) + if hpc_cluster_id is not None: + pulumi.set(__self__, "hpc_cluster_id", hpc_cluster_id) + if img_id is not None: + pulumi.set(__self__, "img_id", img_id) + if instance_charge_type is not None: + pulumi.set(__self__, "instance_charge_type", instance_charge_type) + if instance_charge_type_prepaid_period is not None: + pulumi.set(__self__, "instance_charge_type_prepaid_period", instance_charge_type_prepaid_period) + if instance_charge_type_prepaid_renew_flag is not None: + pulumi.set(__self__, "instance_charge_type_prepaid_renew_flag", instance_charge_type_prepaid_renew_flag) + if instance_name is not None: + pulumi.set(__self__, "instance_name", instance_name) + if internet_charge_type is not None: + pulumi.set(__self__, "internet_charge_type", internet_charge_type) + if internet_max_bandwidth_out is not None: + pulumi.set(__self__, "internet_max_bandwidth_out", internet_max_bandwidth_out) + if key_ids is not None: + pulumi.set(__self__, "key_ids", key_ids) + if password is not None: + pulumi.set(__self__, "password", password) + if public_ip_assigned is not None: + pulumi.set(__self__, "public_ip_assigned", public_ip_assigned) + if security_group_ids is not None: + pulumi.set(__self__, "security_group_ids", security_group_ids) + if system_disk_size is not None: + pulumi.set(__self__, "system_disk_size", system_disk_size) + if system_disk_type is not None: + pulumi.set(__self__, "system_disk_type", system_disk_type) + if user_data is not None: + pulumi.set(__self__, "user_data", user_data) + + @property + @pulumi.getter(name="instanceType") + def instance_type(self) -> str: + """ + Specified types of CVM instance. + """ + return pulumi.get(self, "instance_type") + + @property + @pulumi.getter(name="subnetId") + def subnet_id(self) -> str: + """ + Private network ID. + """ + return pulumi.get(self, "subnet_id") + + @property + @pulumi.getter(name="availabilityZone") + def availability_zone(self) -> Optional[str]: + """ + Indicates which availability zone will be used. + """ + return pulumi.get(self, "availability_zone") + + @property + @pulumi.getter(name="bandwidthPackageId") + def bandwidth_package_id(self) -> Optional[str]: + """ + bandwidth package id. if user is standard user, then the bandwidth_package_id is needed, or default has bandwidth_package_id. + """ + return pulumi.get(self, "bandwidth_package_id") + + @property + @pulumi.getter(name="camRoleName") + def cam_role_name(self) -> Optional[str]: + """ + CAM role name authorized to access. + """ + return pulumi.get(self, "cam_role_name") + + @property + @pulumi.getter + def count(self) -> Optional[int]: + """ + Number of cvm. + """ + return pulumi.get(self, "count") + + @property + @pulumi.getter(name="dataDisks") + def data_disks(self) -> Optional[Sequence['outputs.ScaleWorkerWorkerConfigDataDisk']]: + """ + Configurations of data disk. + """ + return pulumi.get(self, "data_disks") + + @property + @pulumi.getter(name="desiredPodNum") + def desired_pod_num(self) -> Optional[int]: + """ + Indicate to set desired pod number in node. valid when enable_customized_pod_cidr=true, and it override `[globe_]desired_pod_num` for current node. Either all the fields `desired_pod_num` or none. + """ + return pulumi.get(self, "desired_pod_num") + + @property + @pulumi.getter(name="disasterRecoverGroupIds") + def disaster_recover_group_ids(self) -> Optional[str]: + """ + Disaster recover groups to which a CVM instance belongs. Only support maximum 1. + """ + return pulumi.get(self, "disaster_recover_group_ids") + + @property + @pulumi.getter(name="enhancedMonitorService") + def enhanced_monitor_service(self) -> Optional[bool]: + """ + To specify whether to enable cloud monitor service. Default is TRUE. + """ + return pulumi.get(self, "enhanced_monitor_service") + + @property + @pulumi.getter(name="enhancedSecurityService") + def enhanced_security_service(self) -> Optional[bool]: + """ + To specify whether to enable cloud security service. Default is TRUE. + """ + return pulumi.get(self, "enhanced_security_service") + + @property + @pulumi.getter + def hostname(self) -> Optional[str]: + """ + The host name of the attached instance. Dot (.) and dash (-) cannot be used as the first and last characters of HostName and cannot be used consecutively. Windows example: The length of the name character is [2, 15], letters (capitalization is not restricted), numbers and dashes (-) are allowed, dots (.) are not supported, and not all numbers are allowed. Examples of other types (Linux, etc.): The character length is [2, 60], and multiple dots are allowed. There is a segment between the dots. Each segment allows letters (with no limitation on capitalization), numbers and dashes (-). + """ + return pulumi.get(self, "hostname") + + @property + @pulumi.getter(name="hpcClusterId") + def hpc_cluster_id(self) -> Optional[str]: + """ + Id of cvm hpc cluster. + """ + return pulumi.get(self, "hpc_cluster_id") + + @property + @pulumi.getter(name="imgId") + def img_id(self) -> Optional[str]: + """ + The valid image id, format of img-xxx. + """ + return pulumi.get(self, "img_id") + + @property + @pulumi.getter(name="instanceChargeType") + def instance_charge_type(self) -> Optional[str]: + """ + The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. Note: TencentCloud International only supports `POSTPAID_BY_HOUR`, `PREPAID` instance will not terminated after cluster deleted, and may not allow to delete before expired. + """ + return pulumi.get(self, "instance_charge_type") + + @property + @pulumi.getter(name="instanceChargeTypePrepaidPeriod") + def instance_charge_type_prepaid_period(self) -> Optional[int]: + """ + The tenancy (time unit is month) of the prepaid instance. NOTE: it only works when instance_charge_type is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. + """ + return pulumi.get(self, "instance_charge_type_prepaid_period") + + @property + @pulumi.getter(name="instanceChargeTypePrepaidRenewFlag") + def instance_charge_type_prepaid_renew_flag(self) -> Optional[str]: + """ + Auto renewal flag. Valid values: `NOTIFY_AND_AUTO_RENEW`: notify upon expiration and renew automatically, `NOTIFY_AND_MANUAL_RENEW`: notify upon expiration but do not renew automatically, `DISABLE_NOTIFY_AND_MANUAL_RENEW`: neither notify upon expiration nor renew automatically. Default value: `NOTIFY_AND_MANUAL_RENEW`. If this parameter is specified as `NOTIFY_AND_AUTO_RENEW`, the instance will be automatically renewed on a monthly basis if the account balance is sufficient. NOTE: it only works when instance_charge_type is set to `PREPAID`. + """ + return pulumi.get(self, "instance_charge_type_prepaid_renew_flag") + + @property + @pulumi.getter(name="instanceName") + def instance_name(self) -> Optional[str]: + """ + Name of the CVMs. + """ + return pulumi.get(self, "instance_name") + + @property + @pulumi.getter(name="internetChargeType") + def internet_charge_type(self) -> Optional[str]: + """ + Charge types for network traffic. Available values include `TRAFFIC_POSTPAID_BY_HOUR`. + """ + return pulumi.get(self, "internet_charge_type") + + @property + @pulumi.getter(name="internetMaxBandwidthOut") + def internet_max_bandwidth_out(self) -> Optional[int]: + """ + Max bandwidth of Internet access in Mbps. Default is 0. + """ + return pulumi.get(self, "internet_max_bandwidth_out") + + @property + @pulumi.getter(name="keyIds") + def key_ids(self) -> Optional[str]: + """ + ID list of keys, should be set if `password` not set. + """ + return pulumi.get(self, "key_ids") + + @property + @pulumi.getter + def password(self) -> Optional[str]: + """ + Password to access, should be set if `key_ids` not set. + """ + return pulumi.get(self, "password") + + @property + @pulumi.getter(name="publicIpAssigned") + def public_ip_assigned(self) -> Optional[bool]: + """ + Specify whether to assign an Internet IP address. + """ + return pulumi.get(self, "public_ip_assigned") + + @property + @pulumi.getter(name="securityGroupIds") + def security_group_ids(self) -> Optional[Sequence[str]]: + """ + Security groups to which a CVM instance belongs. + """ + return pulumi.get(self, "security_group_ids") + + @property + @pulumi.getter(name="systemDiskSize") + def system_disk_size(self) -> Optional[int]: + """ + Volume of system disk in GB. Default is `50`. + """ + return pulumi.get(self, "system_disk_size") + + @property + @pulumi.getter(name="systemDiskType") + def system_disk_type(self) -> Optional[str]: + """ + System disk type. For more information on limits of system disk types, see [Storage Overview](https://intl.cloud.tencent.com/document/product/213/4952). Valid values: `LOCAL_BASIC`: local disk, `LOCAL_SSD`: local SSD disk, `CLOUD_SSD`: SSD, `CLOUD_PREMIUM`: Premium Cloud Storage. NOTE: `CLOUD_BASIC`, `LOCAL_BASIC` and `LOCAL_SSD` are deprecated. + """ + return pulumi.get(self, "system_disk_type") + + @property + @pulumi.getter(name="userData") + def user_data(self) -> Optional[str]: + """ + User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB. + """ + return pulumi.get(self, "user_data") + + +@pulumi.output_type +class ScaleWorkerWorkerConfigDataDisk(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "autoFormatAndMount": + suggest = "auto_format_and_mount" + elif key == "diskPartition": + suggest = "disk_partition" + elif key == "diskSize": + suggest = "disk_size" + elif key == "diskType": + suggest = "disk_type" + elif key == "fileSystem": + suggest = "file_system" + elif key == "kmsKeyId": + suggest = "kms_key_id" + elif key == "mountTarget": + suggest = "mount_target" + elif key == "snapshotId": + suggest = "snapshot_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ScaleWorkerWorkerConfigDataDisk. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ScaleWorkerWorkerConfigDataDisk.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ScaleWorkerWorkerConfigDataDisk.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + auto_format_and_mount: Optional[bool] = None, + disk_partition: Optional[str] = None, + disk_size: Optional[int] = None, + disk_type: Optional[str] = None, + encrypt: Optional[bool] = None, + file_system: Optional[str] = None, + kms_key_id: Optional[str] = None, + mount_target: Optional[str] = None, + snapshot_id: Optional[str] = None): + """ + :param bool auto_format_and_mount: Indicate whether to auto format and mount or not. Default is `false`. + :param str disk_partition: The name of the device or partition to mount. + :param int disk_size: Volume of disk in GB. Default is `0`. + :param str disk_type: Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD` and `CLOUD_HSSD` and `CLOUD_TSSD`. + :param bool encrypt: Indicates whether to encrypt data disk, default `false`. + :param str file_system: File system, e.g. `ext3/ext4/xfs`. + :param str kms_key_id: ID of the custom CMK in the format of UUID or `kms-abcd1234`. This parameter is used to encrypt cloud disks. + :param str mount_target: Mount target. + :param str snapshot_id: Data disk snapshot ID. + """ + if auto_format_and_mount is not None: + pulumi.set(__self__, "auto_format_and_mount", auto_format_and_mount) + if disk_partition is not None: + pulumi.set(__self__, "disk_partition", disk_partition) + if disk_size is not None: + pulumi.set(__self__, "disk_size", disk_size) + if disk_type is not None: + pulumi.set(__self__, "disk_type", disk_type) + if encrypt is not None: + pulumi.set(__self__, "encrypt", encrypt) + if file_system is not None: + pulumi.set(__self__, "file_system", file_system) + if kms_key_id is not None: + pulumi.set(__self__, "kms_key_id", kms_key_id) + if mount_target is not None: + pulumi.set(__self__, "mount_target", mount_target) + if snapshot_id is not None: + pulumi.set(__self__, "snapshot_id", snapshot_id) + + @property + @pulumi.getter(name="autoFormatAndMount") + def auto_format_and_mount(self) -> Optional[bool]: + """ + Indicate whether to auto format and mount or not. Default is `false`. + """ + return pulumi.get(self, "auto_format_and_mount") + + @property + @pulumi.getter(name="diskPartition") + def disk_partition(self) -> Optional[str]: + """ + The name of the device or partition to mount. + """ + return pulumi.get(self, "disk_partition") + + @property + @pulumi.getter(name="diskSize") + def disk_size(self) -> Optional[int]: + """ + Volume of disk in GB. Default is `0`. + """ + return pulumi.get(self, "disk_size") + + @property + @pulumi.getter(name="diskType") + def disk_type(self) -> Optional[str]: + """ + Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD` and `CLOUD_HSSD` and `CLOUD_TSSD`. + """ + return pulumi.get(self, "disk_type") + + @property + @pulumi.getter + def encrypt(self) -> Optional[bool]: + """ + Indicates whether to encrypt data disk, default `false`. + """ + return pulumi.get(self, "encrypt") + + @property + @pulumi.getter(name="fileSystem") + def file_system(self) -> Optional[str]: + """ + File system, e.g. `ext3/ext4/xfs`. + """ + return pulumi.get(self, "file_system") + + @property + @pulumi.getter(name="kmsKeyId") + def kms_key_id(self) -> Optional[str]: + """ + ID of the custom CMK in the format of UUID or `kms-abcd1234`. This parameter is used to encrypt cloud disks. + """ + return pulumi.get(self, "kms_key_id") + + @property + @pulumi.getter(name="mountTarget") + def mount_target(self) -> Optional[str]: + """ + Mount target. + """ + return pulumi.get(self, "mount_target") + + @property + @pulumi.getter(name="snapshotId") + def snapshot_id(self) -> Optional[str]: + """ + Data disk snapshot ID. + """ + return pulumi.get(self, "snapshot_id") + + +@pulumi.output_type +class ScaleWorkerWorkerInstancesList(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "failedReason": + suggest = "failed_reason" + elif key == "instanceId": + suggest = "instance_id" + elif key == "instanceRole": + suggest = "instance_role" + elif key == "instanceState": + suggest = "instance_state" + elif key == "lanIp": + suggest = "lan_ip" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ScaleWorkerWorkerInstancesList. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ScaleWorkerWorkerInstancesList.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ScaleWorkerWorkerInstancesList.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + failed_reason: Optional[str] = None, + instance_id: Optional[str] = None, + instance_role: Optional[str] = None, + instance_state: Optional[str] = None, + lan_ip: Optional[str] = None): + """ + :param str failed_reason: Information of the cvm when it is failed. + :param str instance_id: ID of the cvm. + :param str instance_role: Role of the cvm. + :param str instance_state: State of the cvm. + :param str lan_ip: LAN IP of the cvm. + """ + if failed_reason is not None: + pulumi.set(__self__, "failed_reason", failed_reason) + if instance_id is not None: + pulumi.set(__self__, "instance_id", instance_id) + if instance_role is not None: + pulumi.set(__self__, "instance_role", instance_role) + if instance_state is not None: + pulumi.set(__self__, "instance_state", instance_state) + if lan_ip is not None: + pulumi.set(__self__, "lan_ip", lan_ip) + + @property + @pulumi.getter(name="failedReason") + def failed_reason(self) -> Optional[str]: + """ + Information of the cvm when it is failed. + """ + return pulumi.get(self, "failed_reason") + + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> Optional[str]: + """ + ID of the cvm. + """ + return pulumi.get(self, "instance_id") + + @property + @pulumi.getter(name="instanceRole") + def instance_role(self) -> Optional[str]: + """ + Role of the cvm. + """ + return pulumi.get(self, "instance_role") + + @property + @pulumi.getter(name="instanceState") + def instance_state(self) -> Optional[str]: + """ + State of the cvm. + """ + return pulumi.get(self, "instance_state") + + @property + @pulumi.getter(name="lanIp") + def lan_ip(self) -> Optional[str]: + """ + LAN IP of the cvm. + """ + return pulumi.get(self, "lan_ip") + + +@pulumi.output_type +class ServerlessNodePoolServerlessNode(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "subnetId": + suggest = "subnet_id" + elif key == "displayName": + suggest = "display_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ServerlessNodePoolServerlessNode. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ServerlessNodePoolServerlessNode.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ServerlessNodePoolServerlessNode.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + subnet_id: str, + display_name: Optional[str] = None): + """ + :param str subnet_id: subnet id of serverless node. + :param str display_name: display name of serverless node. + """ + pulumi.set(__self__, "subnet_id", subnet_id) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + + @property + @pulumi.getter(name="subnetId") + def subnet_id(self) -> str: + """ + subnet id of serverless node. + """ + return pulumi.get(self, "subnet_id") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[str]: + """ + display name of serverless node. + """ + return pulumi.get(self, "display_name") + + +@pulumi.output_type +class ServerlessNodePoolTaint(dict): + def __init__(__self__, *, + effect: str, + key: str, + value: str): + """ + :param str effect: Effect of the taint. Valid values are: `NoSchedule`, `PreferNoSchedule`, `NoExecute`. + :param str key: Key of the taint. The taint key name does not exceed 63 characters, only supports English, numbers,'/','-', and does not allow beginning with ('/'). + :param str value: Value of the taint. + """ + pulumi.set(__self__, "effect", effect) + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def effect(self) -> str: + """ + Effect of the taint. Valid values are: `NoSchedule`, `PreferNoSchedule`, `NoExecute`. + """ + return pulumi.get(self, "effect") + + @property + @pulumi.getter + def key(self) -> str: + """ + Key of the taint. The taint key name does not exceed 63 characters, only supports English, numbers,'/','-', and does not allow beginning with ('/'). + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter + def value(self) -> str: + """ + Value of the taint. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class GetAvailableClusterVersionsClusterResult(dict): + def __init__(__self__, *, + cluster_id: str, + versions: Sequence[str]): + """ + :param str cluster_id: Cluster Id. + :param Sequence[str] versions: Upgradable cluster version number. Note: This field may return null, indicating that no valid value can be obtained. + """ + pulumi.set(__self__, "cluster_id", cluster_id) + pulumi.set(__self__, "versions", versions) + + @property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> str: + """ + Cluster Id. + """ + return pulumi.get(self, "cluster_id") + + @property + @pulumi.getter + def versions(self) -> Sequence[str]: + """ + Upgradable cluster version number. Note: This field may return null, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "versions") + + +@pulumi.output_type +class GetChartsChartListResult(dict): + def __init__(__self__, *, + label: Mapping[str, Any], + latest_version: str, + name: str): + """ + :param Mapping[str, Any] label: Label of chart. + :param str latest_version: Chart latest version. + :param str name: Name of chart. + """ + pulumi.set(__self__, "label", label) + pulumi.set(__self__, "latest_version", latest_version) + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def label(self) -> Mapping[str, Any]: + """ + Label of chart. + """ + return pulumi.get(self, "label") + + @property + @pulumi.getter(name="latestVersion") + def latest_version(self) -> str: + """ + Chart latest version. + """ + return pulumi.get(self, "latest_version") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of chart. + """ + return pulumi.get(self, "name") + + +@pulumi.output_type +class GetClusterAuthenticationOptionsOidcConfigResult(dict): + def __init__(__self__, *, + auto_create_client_ids: Sequence[str], + auto_create_oidc_config: bool, + auto_install_pod_identity_webhook_addon: bool): + """ + :param Sequence[str] auto_create_client_ids: Creating ClientId of the identity provider. Note: This field may return `null`, indicating that no valid value can be obtained. + :param bool auto_create_oidc_config: Creating an identity provider. Note: This field may return `null`, indicating that no valid value can be obtained. + :param bool auto_install_pod_identity_webhook_addon: Creating the PodIdentityWebhook component. Note: This field may return `null`, indicating that no valid value can be obtained. + """ + pulumi.set(__self__, "auto_create_client_ids", auto_create_client_ids) + pulumi.set(__self__, "auto_create_oidc_config", auto_create_oidc_config) + pulumi.set(__self__, "auto_install_pod_identity_webhook_addon", auto_install_pod_identity_webhook_addon) + + @property + @pulumi.getter(name="autoCreateClientIds") + def auto_create_client_ids(self) -> Sequence[str]: + """ + Creating ClientId of the identity provider. Note: This field may return `null`, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "auto_create_client_ids") + + @property + @pulumi.getter(name="autoCreateOidcConfig") + def auto_create_oidc_config(self) -> bool: + """ + Creating an identity provider. Note: This field may return `null`, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "auto_create_oidc_config") + + @property + @pulumi.getter(name="autoInstallPodIdentityWebhookAddon") + def auto_install_pod_identity_webhook_addon(self) -> bool: + """ + Creating the PodIdentityWebhook component. Note: This field may return `null`, indicating that no valid value can be obtained. + """ + return pulumi.get(self, "auto_install_pod_identity_webhook_addon") + + +@pulumi.output_type +class GetClusterAuthenticationOptionsServiceAccountResult(dict): + def __init__(__self__, *, + auto_create_discovery_anonymous_auth: bool, + issuer: str, + jwks_uri: str, + use_tke_default: bool): + """ + :param bool auto_create_discovery_anonymous_auth: If it is set to `true`, a RABC rule is automatically created to allow anonymous users to access `/.well-known/openid-configuration` and `/openid/v1/jwks`. Note: this field may return `null`, indicating that no valid values can be obtained. + :param str issuer: service-account-issuer. Note: this field may return `null`, indicating that no valid values can be obtained. + :param str jwks_uri: service-account-jwks-uri. Note: this field may return `null`, indicating that no valid values can be obtained. + :param bool use_tke_default: Use TKE default issuer and jwksuri. Note: This field may return `null`, indicating that no valid values can be obtained. + """ + pulumi.set(__self__, "auto_create_discovery_anonymous_auth", auto_create_discovery_anonymous_auth) + pulumi.set(__self__, "issuer", issuer) + pulumi.set(__self__, "jwks_uri", jwks_uri) + pulumi.set(__self__, "use_tke_default", use_tke_default) + + @property + @pulumi.getter(name="autoCreateDiscoveryAnonymousAuth") + def auto_create_discovery_anonymous_auth(self) -> bool: + """ + If it is set to `true`, a RABC rule is automatically created to allow anonymous users to access `/.well-known/openid-configuration` and `/openid/v1/jwks`. Note: this field may return `null`, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "auto_create_discovery_anonymous_auth") + + @property + @pulumi.getter + def issuer(self) -> str: + """ + service-account-issuer. Note: this field may return `null`, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "issuer") + + @property + @pulumi.getter(name="jwksUri") + def jwks_uri(self) -> str: + """ + service-account-jwks-uri. Note: this field may return `null`, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "jwks_uri") + + @property + @pulumi.getter(name="useTkeDefault") + def use_tke_default(self) -> bool: + """ + Use TKE default issuer and jwksuri. Note: This field may return `null`, indicating that no valid values can be obtained. + """ + return pulumi.get(self, "use_tke_default") + + +@pulumi.output_type +class GetClusterCommonNamesListResult(dict): + def __init__(__self__, *, + common_names: str, + subaccount_uin: str): + """ + :param str common_names: The CommonName in the certificate of the client corresponding to the sub-account. + :param str subaccount_uin: User UIN. + """ + pulumi.set(__self__, "common_names", common_names) + pulumi.set(__self__, "subaccount_uin", subaccount_uin) + + @property + @pulumi.getter(name="commonNames") + def common_names(self) -> str: + """ + The CommonName in the certificate of the client corresponding to the sub-account. + """ + return pulumi.get(self, "common_names") + + @property + @pulumi.getter(name="subaccountUin") + def subaccount_uin(self) -> str: + """ + User UIN. + """ + return pulumi.get(self, "subaccount_uin") + + +@pulumi.output_type +class GetClusterInstancesFilterResult(dict): + def __init__(__self__, *, + name: str, + values: Sequence[str]): + """ + :param str name: The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + :param Sequence[str] values: Attribute values, if there are multiple values in the same filter, the relationship between values under the same filter is a logical OR relationship. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def name(self) -> str: + """ + The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + Attribute values, if there are multiple values in the same filter, the relationship between values under the same filter is a logical OR relationship. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class GetClusterInstancesInstanceSetResult(dict): + def __init__(__self__, *, + autoscaling_group_id: str, + created_time: str, + drain_status: str, + failed_reason: str, + instance_advanced_settings: Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingResult'], + instance_id: str, + instance_role: str, + instance_state: str, + lan_ip: str, + node_pool_id: str): + """ + :param str autoscaling_group_id: Auto scaling group ID. + :param str created_time: Add time. + :param str drain_status: Whether the instance is blocked. + :param str failed_reason: Reasons for instance exception (or being initialized). + :param Sequence['GetClusterInstancesInstanceSetInstanceAdvancedSettingArgs'] instance_advanced_settings: Node configuration. + :param str instance_id: Instance ID. + :param str instance_role: Node role, MASTER, WORKER, ETCD, MASTER_ETCD,ALL, default is WORKER. + :param str instance_state: The status of the instance (running, initializing, failed). + :param str lan_ip: Node intranet IP. + :param str node_pool_id: Resource pool ID. + """ + pulumi.set(__self__, "autoscaling_group_id", autoscaling_group_id) + pulumi.set(__self__, "created_time", created_time) + pulumi.set(__self__, "drain_status", drain_status) + pulumi.set(__self__, "failed_reason", failed_reason) + pulumi.set(__self__, "instance_advanced_settings", instance_advanced_settings) + pulumi.set(__self__, "instance_id", instance_id) + pulumi.set(__self__, "instance_role", instance_role) + pulumi.set(__self__, "instance_state", instance_state) + pulumi.set(__self__, "lan_ip", lan_ip) + pulumi.set(__self__, "node_pool_id", node_pool_id) + + @property + @pulumi.getter(name="autoscalingGroupId") + def autoscaling_group_id(self) -> str: + """ + Auto scaling group ID. + """ + return pulumi.get(self, "autoscaling_group_id") + + @property + @pulumi.getter(name="createdTime") + def created_time(self) -> str: + """ + Add time. + """ + return pulumi.get(self, "created_time") + + @property + @pulumi.getter(name="drainStatus") + def drain_status(self) -> str: + """ + Whether the instance is blocked. + """ + return pulumi.get(self, "drain_status") + + @property + @pulumi.getter(name="failedReason") + def failed_reason(self) -> str: + """ + Reasons for instance exception (or being initialized). + """ + return pulumi.get(self, "failed_reason") + + @property + @pulumi.getter(name="instanceAdvancedSettings") + def instance_advanced_settings(self) -> Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingResult']: + """ + Node configuration. + """ + return pulumi.get(self, "instance_advanced_settings") + + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> str: + """ + Instance ID. + """ + return pulumi.get(self, "instance_id") + + @property + @pulumi.getter(name="instanceRole") + def instance_role(self) -> str: + """ + Node role, MASTER, WORKER, ETCD, MASTER_ETCD,ALL, default is WORKER. + """ + return pulumi.get(self, "instance_role") + + @property + @pulumi.getter(name="instanceState") + def instance_state(self) -> str: + """ + The status of the instance (running, initializing, failed). + """ + return pulumi.get(self, "instance_state") + + @property + @pulumi.getter(name="lanIp") + def lan_ip(self) -> str: + """ + Node intranet IP. + """ + return pulumi.get(self, "lan_ip") + + @property + @pulumi.getter(name="nodePoolId") + def node_pool_id(self) -> str: + """ + Resource pool ID. + """ + return pulumi.get(self, "node_pool_id") + + +@pulumi.output_type +class GetClusterInstancesInstanceSetInstanceAdvancedSettingResult(dict): + def __init__(__self__, *, + data_disks: Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskResult'], + desired_pod_number: int, + docker_graph_path: str, + extra_args: Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgResult'], + gpu_args: Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgResult'], + labels: Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelResult'], + mount_target: str, + pre_start_user_script: str, + taints: Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintResult'], + unschedulable: int, + user_script: str): + """ + :param Sequence['GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArgs'] data_disks: Multi-disk data disk mounting information. + :param int desired_pod_number: When the node belongs to the podCIDR size customization mode, you can specify the upper limit of the number of pods running on the node. + :param str docker_graph_path: Dockerd --graph specifies the value, the default is /var/lib/docker. + :param Sequence['GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArgs'] extra_args: Node-related custom parameter information. + :param Sequence['GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArgs'] gpu_args: GPU driver related parameters, obtain related GPU parameters: https://cloud.tencent.com/document/api/213/15715. + :param Sequence['GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArgs'] labels: Node Label array. + :param str mount_target: Data disk mount point, the data disk is not mounted by default. Formatted ext3, ext4, xfs file system data disks will be mounted directly. Other file systems or unformatted data disks will be automatically formatted as ext4 (tlinux system formatted as xfs) and mounted. Please pay attention to backing up the data. This setting does not take effect for cloud hosts that have no data disks or multiple data disks. + :param str pre_start_user_script: Base64 encoded user script, executed before initializing the node, currently only effective for adding existing nodes. + :param Sequence['GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArgs'] taints: Node taint. + :param int unschedulable: Set whether the added node participates in scheduling. The default value is 0, which means participating in scheduling; non-0 means not participating in scheduling. After the node initialization is completed, you can execute kubectl uncordon nodename to join the node in scheduling. + :param str user_script: Base64 encoded userscript. """ - return pulumi.get(self, "disaster_recover_group_ids") + pulumi.set(__self__, "data_disks", data_disks) + pulumi.set(__self__, "desired_pod_number", desired_pod_number) + pulumi.set(__self__, "docker_graph_path", docker_graph_path) + pulumi.set(__self__, "extra_args", extra_args) + pulumi.set(__self__, "gpu_args", gpu_args) + pulumi.set(__self__, "labels", labels) + pulumi.set(__self__, "mount_target", mount_target) + pulumi.set(__self__, "pre_start_user_script", pre_start_user_script) + pulumi.set(__self__, "taints", taints) + pulumi.set(__self__, "unschedulable", unschedulable) + pulumi.set(__self__, "user_script", user_script) @property - @pulumi.getter(name="enhancedMonitorService") - def enhanced_monitor_service(self) -> Optional[bool]: + @pulumi.getter(name="dataDisks") + def data_disks(self) -> Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskResult']: """ - To specify whether to enable cloud monitor service. Default is TRUE. + Multi-disk data disk mounting information. """ - return pulumi.get(self, "enhanced_monitor_service") + return pulumi.get(self, "data_disks") @property - @pulumi.getter(name="enhancedSecurityService") - def enhanced_security_service(self) -> Optional[bool]: + @pulumi.getter(name="desiredPodNumber") + def desired_pod_number(self) -> int: """ - To specify whether to enable cloud security service. Default is TRUE. + When the node belongs to the podCIDR size customization mode, you can specify the upper limit of the number of pods running on the node. """ - return pulumi.get(self, "enhanced_security_service") + return pulumi.get(self, "desired_pod_number") @property - @pulumi.getter - def hostname(self) -> Optional[str]: + @pulumi.getter(name="dockerGraphPath") + def docker_graph_path(self) -> str: """ - The host name of the attached instance. Dot (.) and dash (-) cannot be used as the first and last characters of HostName and cannot be used consecutively. Windows example: The length of the name character is [2, 15], letters (capitalization is not restricted), numbers and dashes (-) are allowed, dots (.) are not supported, and not all numbers are allowed. Examples of other types (Linux, etc.): The character length is [2, 60], and multiple dots are allowed. There is a segment between the dots. Each segment allows letters (with no limitation on capitalization), numbers and dashes (-). + Dockerd --graph specifies the value, the default is /var/lib/docker. """ - return pulumi.get(self, "hostname") + return pulumi.get(self, "docker_graph_path") @property - @pulumi.getter(name="hpcClusterId") - def hpc_cluster_id(self) -> Optional[str]: + @pulumi.getter(name="extraArgs") + def extra_args(self) -> Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgResult']: """ - Id of cvm hpc cluster. + Node-related custom parameter information. """ - return pulumi.get(self, "hpc_cluster_id") + return pulumi.get(self, "extra_args") @property - @pulumi.getter(name="imgId") - def img_id(self) -> Optional[str]: + @pulumi.getter(name="gpuArgs") + def gpu_args(self) -> Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgResult']: """ - The valid image id, format of img-xxx. + GPU driver related parameters, obtain related GPU parameters: https://cloud.tencent.com/document/api/213/15715. """ - return pulumi.get(self, "img_id") + return pulumi.get(self, "gpu_args") @property - @pulumi.getter(name="instanceChargeType") - def instance_charge_type(self) -> Optional[str]: + @pulumi.getter + def labels(self) -> Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelResult']: """ - The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. Note: TencentCloud International only supports `POSTPAID_BY_HOUR`, `PREPAID` instance will not terminated after cluster deleted, and may not allow to delete before expired. + Node Label array. """ - return pulumi.get(self, "instance_charge_type") + return pulumi.get(self, "labels") @property - @pulumi.getter(name="instanceChargeTypePrepaidPeriod") - def instance_charge_type_prepaid_period(self) -> Optional[int]: + @pulumi.getter(name="mountTarget") + def mount_target(self) -> str: """ - The tenancy (time unit is month) of the prepaid instance. NOTE: it only works when instance_charge_type is set to `PREPAID`. Valid values are `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `24`, `36`. + Data disk mount point, the data disk is not mounted by default. Formatted ext3, ext4, xfs file system data disks will be mounted directly. Other file systems or unformatted data disks will be automatically formatted as ext4 (tlinux system formatted as xfs) and mounted. Please pay attention to backing up the data. This setting does not take effect for cloud hosts that have no data disks or multiple data disks. """ - return pulumi.get(self, "instance_charge_type_prepaid_period") + return pulumi.get(self, "mount_target") @property - @pulumi.getter(name="instanceChargeTypePrepaidRenewFlag") - def instance_charge_type_prepaid_renew_flag(self) -> Optional[str]: + @pulumi.getter(name="preStartUserScript") + def pre_start_user_script(self) -> str: """ - Auto renewal flag. Valid values: `NOTIFY_AND_AUTO_RENEW`: notify upon expiration and renew automatically, `NOTIFY_AND_MANUAL_RENEW`: notify upon expiration but do not renew automatically, `DISABLE_NOTIFY_AND_MANUAL_RENEW`: neither notify upon expiration nor renew automatically. Default value: `NOTIFY_AND_MANUAL_RENEW`. If this parameter is specified as `NOTIFY_AND_AUTO_RENEW`, the instance will be automatically renewed on a monthly basis if the account balance is sufficient. NOTE: it only works when instance_charge_type is set to `PREPAID`. + Base64 encoded user script, executed before initializing the node, currently only effective for adding existing nodes. """ - return pulumi.get(self, "instance_charge_type_prepaid_renew_flag") + return pulumi.get(self, "pre_start_user_script") @property - @pulumi.getter(name="instanceName") - def instance_name(self) -> Optional[str]: + @pulumi.getter + def taints(self) -> Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintResult']: """ - Name of the CVMs. + Node taint. """ - return pulumi.get(self, "instance_name") + return pulumi.get(self, "taints") @property - @pulumi.getter(name="internetChargeType") - def internet_charge_type(self) -> Optional[str]: + @pulumi.getter + def unschedulable(self) -> int: """ - Charge types for network traffic. Available values include `TRAFFIC_POSTPAID_BY_HOUR`. + Set whether the added node participates in scheduling. The default value is 0, which means participating in scheduling; non-0 means not participating in scheduling. After the node initialization is completed, you can execute kubectl uncordon nodename to join the node in scheduling. """ - return pulumi.get(self, "internet_charge_type") + return pulumi.get(self, "unschedulable") @property - @pulumi.getter(name="internetMaxBandwidthOut") - def internet_max_bandwidth_out(self) -> Optional[int]: + @pulumi.getter(name="userScript") + def user_script(self) -> str: """ - Max bandwidth of Internet access in Mbps. Default is 0. + Base64 encoded userscript. """ - return pulumi.get(self, "internet_max_bandwidth_out") + return pulumi.get(self, "user_script") - @property - @pulumi.getter(name="keyIds") - def key_ids(self) -> Optional[str]: + +@pulumi.output_type +class GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskResult(dict): + def __init__(__self__, *, + auto_format_and_mount: bool, + disk_partition: str, + disk_size: int, + disk_type: str, + file_system: str, + mount_target: str): """ - ID list of keys, should be set if `password` not set. + :param bool auto_format_and_mount: Whether to automatically format the disk and mount it. + :param str disk_partition: Mount device name or partition name, required when and only when adding an existing node. + :param int disk_size: Cloud disk size (G). + :param str disk_type: Cloud disk type. + :param str file_system: File system (ext3/ext4/xfs). + :param str mount_target: Data disk mount point, the data disk is not mounted by default. Formatted ext3, ext4, xfs file system data disks will be mounted directly. Other file systems or unformatted data disks will be automatically formatted as ext4 (tlinux system formatted as xfs) and mounted. Please pay attention to backing up the data. This setting does not take effect for cloud hosts that have no data disks or multiple data disks. """ - return pulumi.get(self, "key_ids") + pulumi.set(__self__, "auto_format_and_mount", auto_format_and_mount) + pulumi.set(__self__, "disk_partition", disk_partition) + pulumi.set(__self__, "disk_size", disk_size) + pulumi.set(__self__, "disk_type", disk_type) + pulumi.set(__self__, "file_system", file_system) + pulumi.set(__self__, "mount_target", mount_target) @property - @pulumi.getter - def password(self) -> Optional[str]: + @pulumi.getter(name="autoFormatAndMount") + def auto_format_and_mount(self) -> bool: """ - Password to access, should be set if `key_ids` not set. + Whether to automatically format the disk and mount it. """ - return pulumi.get(self, "password") + return pulumi.get(self, "auto_format_and_mount") @property - @pulumi.getter(name="publicIpAssigned") - def public_ip_assigned(self) -> Optional[bool]: + @pulumi.getter(name="diskPartition") + def disk_partition(self) -> str: """ - Specify whether to assign an Internet IP address. + Mount device name or partition name, required when and only when adding an existing node. """ - return pulumi.get(self, "public_ip_assigned") + return pulumi.get(self, "disk_partition") @property - @pulumi.getter(name="securityGroupIds") - def security_group_ids(self) -> Optional[Sequence[str]]: + @pulumi.getter(name="diskSize") + def disk_size(self) -> int: """ - Security groups to which a CVM instance belongs. + Cloud disk size (G). """ - return pulumi.get(self, "security_group_ids") + return pulumi.get(self, "disk_size") @property - @pulumi.getter(name="systemDiskSize") - def system_disk_size(self) -> Optional[int]: + @pulumi.getter(name="diskType") + def disk_type(self) -> str: """ - Volume of system disk in GB. Default is `50`. + Cloud disk type. """ - return pulumi.get(self, "system_disk_size") + return pulumi.get(self, "disk_type") @property - @pulumi.getter(name="systemDiskType") - def system_disk_type(self) -> Optional[str]: + @pulumi.getter(name="fileSystem") + def file_system(self) -> str: """ - System disk type. For more information on limits of system disk types, see [Storage Overview](https://intl.cloud.tencent.com/document/product/213/4952). Valid values: `LOCAL_BASIC`: local disk, `LOCAL_SSD`: local SSD disk, `CLOUD_SSD`: SSD, `CLOUD_PREMIUM`: Premium Cloud Storage. NOTE: `CLOUD_BASIC`, `LOCAL_BASIC` and `LOCAL_SSD` are deprecated. + File system (ext3/ext4/xfs). """ - return pulumi.get(self, "system_disk_type") + return pulumi.get(self, "file_system") @property - @pulumi.getter(name="userData") - def user_data(self) -> Optional[str]: + @pulumi.getter(name="mountTarget") + def mount_target(self) -> str: """ - User data provided to instances, needs to be encoded in base64, and the maximum supported data size is 16KB. + Data disk mount point, the data disk is not mounted by default. Formatted ext3, ext4, xfs file system data disks will be mounted directly. Other file systems or unformatted data disks will be automatically formatted as ext4 (tlinux system formatted as xfs) and mounted. Please pay attention to backing up the data. This setting does not take effect for cloud hosts that have no data disks or multiple data disks. """ - return pulumi.get(self, "user_data") + return pulumi.get(self, "mount_target") @pulumi.output_type -class ScaleWorkerWorkerConfigDataDisk(dict): - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "autoFormatAndMount": - suggest = "auto_format_and_mount" - elif key == "diskPartition": - suggest = "disk_partition" - elif key == "diskSize": - suggest = "disk_size" - elif key == "diskType": - suggest = "disk_type" - elif key == "fileSystem": - suggest = "file_system" - elif key == "kmsKeyId": - suggest = "kms_key_id" - elif key == "mountTarget": - suggest = "mount_target" - elif key == "snapshotId": - suggest = "snapshot_id" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in ScaleWorkerWorkerConfigDataDisk. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - ScaleWorkerWorkerConfigDataDisk.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - ScaleWorkerWorkerConfigDataDisk.__key_warning(key) - return super().get(key, default) - +class GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgResult(dict): def __init__(__self__, *, - auto_format_and_mount: Optional[bool] = None, - disk_partition: Optional[str] = None, - disk_size: Optional[int] = None, - disk_type: Optional[str] = None, - encrypt: Optional[bool] = None, - file_system: Optional[str] = None, - kms_key_id: Optional[str] = None, - mount_target: Optional[str] = None, - snapshot_id: Optional[str] = None): + kubelets: Sequence[str]): """ - :param bool auto_format_and_mount: Indicate whether to auto format and mount or not. Default is `false`. - :param str disk_partition: The name of the device or partition to mount. - :param int disk_size: Volume of disk in GB. Default is `0`. - :param str disk_type: Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD` and `CLOUD_HSSD` and `CLOUD_TSSD`. - :param bool encrypt: Indicates whether to encrypt data disk, default `false`. - :param str file_system: File system, e.g. `ext3/ext4/xfs`. - :param str kms_key_id: ID of the custom CMK in the format of UUID or `kms-abcd1234`. This parameter is used to encrypt cloud disks. - :param str mount_target: Mount target. - :param str snapshot_id: Data disk snapshot ID. + :param Sequence[str] kubelets: Kubelet custom parameters. """ - if auto_format_and_mount is not None: - pulumi.set(__self__, "auto_format_and_mount", auto_format_and_mount) - if disk_partition is not None: - pulumi.set(__self__, "disk_partition", disk_partition) - if disk_size is not None: - pulumi.set(__self__, "disk_size", disk_size) - if disk_type is not None: - pulumi.set(__self__, "disk_type", disk_type) - if encrypt is not None: - pulumi.set(__self__, "encrypt", encrypt) - if file_system is not None: - pulumi.set(__self__, "file_system", file_system) - if kms_key_id is not None: - pulumi.set(__self__, "kms_key_id", kms_key_id) - if mount_target is not None: - pulumi.set(__self__, "mount_target", mount_target) - if snapshot_id is not None: - pulumi.set(__self__, "snapshot_id", snapshot_id) + pulumi.set(__self__, "kubelets", kubelets) @property - @pulumi.getter(name="autoFormatAndMount") - def auto_format_and_mount(self) -> Optional[bool]: + @pulumi.getter + def kubelets(self) -> Sequence[str]: + """ + Kubelet custom parameters. + """ + return pulumi.get(self, "kubelets") + + +@pulumi.output_type +class GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgResult(dict): + def __init__(__self__, *, + cudas: Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaResult'], + cudnns: Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnResult'], + custom_drivers: Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverResult'], + drivers: Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverResult'], + mig_enable: bool): """ - Indicate whether to auto format and mount or not. Default is `false`. + :param Sequence['GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArgs'] cudas: CUDA version information. + :param Sequence['GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArgs'] cudnns: CuDNN version information. + :param Sequence['GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArgs'] custom_drivers: Custom GPU driver information. + :param Sequence['GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArgs'] drivers: GPU driver version information. + :param bool mig_enable: Whether to enable MIG features. """ - return pulumi.get(self, "auto_format_and_mount") + pulumi.set(__self__, "cudas", cudas) + pulumi.set(__self__, "cudnns", cudnns) + pulumi.set(__self__, "custom_drivers", custom_drivers) + pulumi.set(__self__, "drivers", drivers) + pulumi.set(__self__, "mig_enable", mig_enable) @property - @pulumi.getter(name="diskPartition") - def disk_partition(self) -> Optional[str]: + @pulumi.getter + def cudas(self) -> Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaResult']: """ - The name of the device or partition to mount. + CUDA version information. """ - return pulumi.get(self, "disk_partition") + return pulumi.get(self, "cudas") @property - @pulumi.getter(name="diskSize") - def disk_size(self) -> Optional[int]: + @pulumi.getter + def cudnns(self) -> Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnResult']: """ - Volume of disk in GB. Default is `0`. + CuDNN version information. """ - return pulumi.get(self, "disk_size") + return pulumi.get(self, "cudnns") @property - @pulumi.getter(name="diskType") - def disk_type(self) -> Optional[str]: + @pulumi.getter(name="customDrivers") + def custom_drivers(self) -> Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverResult']: """ - Types of disk, available values: `CLOUD_PREMIUM` and `CLOUD_SSD` and `CLOUD_HSSD` and `CLOUD_TSSD`. + Custom GPU driver information. """ - return pulumi.get(self, "disk_type") + return pulumi.get(self, "custom_drivers") @property @pulumi.getter - def encrypt(self) -> Optional[bool]: + def drivers(self) -> Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverResult']: """ - Indicates whether to encrypt data disk, default `false`. + GPU driver version information. """ - return pulumi.get(self, "encrypt") + return pulumi.get(self, "drivers") @property - @pulumi.getter(name="fileSystem") - def file_system(self) -> Optional[str]: + @pulumi.getter(name="migEnable") + def mig_enable(self) -> bool: """ - File system, e.g. `ext3/ext4/xfs`. + Whether to enable MIG features. """ - return pulumi.get(self, "file_system") + return pulumi.get(self, "mig_enable") - @property - @pulumi.getter(name="kmsKeyId") - def kms_key_id(self) -> Optional[str]: + +@pulumi.output_type +class GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaResult(dict): + def __init__(__self__, *, + name: str, + version: str): """ - ID of the custom CMK in the format of UUID or `kms-abcd1234`. This parameter is used to encrypt cloud disks. + :param str name: The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + :param str version: GPU driver or CUDA version. """ - return pulumi.get(self, "kms_key_id") + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "version", version) @property - @pulumi.getter(name="mountTarget") - def mount_target(self) -> Optional[str]: + @pulumi.getter + def name(self) -> str: """ - Mount target. + The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. """ - return pulumi.get(self, "mount_target") + return pulumi.get(self, "name") @property - @pulumi.getter(name="snapshotId") - def snapshot_id(self) -> Optional[str]: + @pulumi.getter + def version(self) -> str: """ - Data disk snapshot ID. + GPU driver or CUDA version. """ - return pulumi.get(self, "snapshot_id") + return pulumi.get(self, "version") @pulumi.output_type -class ScaleWorkerWorkerInstancesList(dict): - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "failedReason": - suggest = "failed_reason" - elif key == "instanceId": - suggest = "instance_id" - elif key == "instanceRole": - suggest = "instance_role" - elif key == "instanceState": - suggest = "instance_state" - elif key == "lanIp": - suggest = "lan_ip" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in ScaleWorkerWorkerInstancesList. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - ScaleWorkerWorkerInstancesList.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - ScaleWorkerWorkerInstancesList.__key_warning(key) - return super().get(key, default) - +class GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnResult(dict): def __init__(__self__, *, - failed_reason: Optional[str] = None, - instance_id: Optional[str] = None, - instance_role: Optional[str] = None, - instance_state: Optional[str] = None, - lan_ip: Optional[str] = None): + dev_name: str, + doc_name: str, + name: str, + version: str): """ - :param str failed_reason: Information of the cvm when it is failed. - :param str instance_id: ID of the cvm. - :param str instance_role: Role of the cvm. - :param str instance_state: State of the cvm. - :param str lan_ip: LAN IP of the cvm. + :param str dev_name: Dev name of cuDNN. + :param str doc_name: Doc name of cuDNN. + :param str name: The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + :param str version: GPU driver or CUDA version. """ - if failed_reason is not None: - pulumi.set(__self__, "failed_reason", failed_reason) - if instance_id is not None: - pulumi.set(__self__, "instance_id", instance_id) - if instance_role is not None: - pulumi.set(__self__, "instance_role", instance_role) - if instance_state is not None: - pulumi.set(__self__, "instance_state", instance_state) - if lan_ip is not None: - pulumi.set(__self__, "lan_ip", lan_ip) + pulumi.set(__self__, "dev_name", dev_name) + pulumi.set(__self__, "doc_name", doc_name) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "version", version) @property - @pulumi.getter(name="failedReason") - def failed_reason(self) -> Optional[str]: + @pulumi.getter(name="devName") + def dev_name(self) -> str: """ - Information of the cvm when it is failed. + Dev name of cuDNN. """ - return pulumi.get(self, "failed_reason") + return pulumi.get(self, "dev_name") @property - @pulumi.getter(name="instanceId") - def instance_id(self) -> Optional[str]: + @pulumi.getter(name="docName") + def doc_name(self) -> str: """ - ID of the cvm. + Doc name of cuDNN. """ - return pulumi.get(self, "instance_id") + return pulumi.get(self, "doc_name") @property - @pulumi.getter(name="instanceRole") - def instance_role(self) -> Optional[str]: + @pulumi.getter + def name(self) -> str: """ - Role of the cvm. + The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. """ - return pulumi.get(self, "instance_role") + return pulumi.get(self, "name") @property - @pulumi.getter(name="instanceState") - def instance_state(self) -> Optional[str]: + @pulumi.getter + def version(self) -> str: """ - State of the cvm. + GPU driver or CUDA version. """ - return pulumi.get(self, "instance_state") + return pulumi.get(self, "version") + + +@pulumi.output_type +class GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverResult(dict): + def __init__(__self__, *, + address: str): + """ + :param str address: Custom GPU driver address link. + """ + pulumi.set(__self__, "address", address) @property - @pulumi.getter(name="lanIp") - def lan_ip(self) -> Optional[str]: + @pulumi.getter + def address(self) -> str: """ - LAN IP of the cvm. + Custom GPU driver address link. """ - return pulumi.get(self, "lan_ip") + return pulumi.get(self, "address") @pulumi.output_type -class ServerlessNodePoolServerlessNode(dict): - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "subnetId": - suggest = "subnet_id" - elif key == "displayName": - suggest = "display_name" +class GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverResult(dict): + def __init__(__self__, *, + name: str, + version: str): + """ + :param str name: The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + :param str version: GPU driver or CUDA version. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "version", version) - if suggest: - pulumi.log.warn(f"Key '{key}' not found in ServerlessNodePoolServerlessNode. Access the value via the '{suggest}' property getter instead.") + @property + @pulumi.getter + def name(self) -> str: + """ + The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + """ + return pulumi.get(self, "name") - def __getitem__(self, key: str) -> Any: - ServerlessNodePoolServerlessNode.__key_warning(key) - return super().__getitem__(key) + @property + @pulumi.getter + def version(self) -> str: + """ + GPU driver or CUDA version. + """ + return pulumi.get(self, "version") - def get(self, key: str, default = None) -> Any: - ServerlessNodePoolServerlessNode.__key_warning(key) - return super().get(key, default) +@pulumi.output_type +class GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelResult(dict): def __init__(__self__, *, - subnet_id: str, - display_name: Optional[str] = None): + name: str, + value: str): """ - :param str subnet_id: subnet id of serverless node. - :param str display_name: display name of serverless node. + :param str name: The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + :param str value: Value of taints mark. """ - pulumi.set(__self__, "subnet_id", subnet_id) - if display_name is not None: - pulumi.set(__self__, "display_name", display_name) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "value", value) @property - @pulumi.getter(name="subnetId") - def subnet_id(self) -> str: + @pulumi.getter + def name(self) -> str: """ - subnet id of serverless node. + The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. """ - return pulumi.get(self, "subnet_id") + return pulumi.get(self, "name") @property - @pulumi.getter(name="displayName") - def display_name(self) -> Optional[str]: + @pulumi.getter + def value(self) -> str: """ - display name of serverless node. + Value of taints mark. """ - return pulumi.get(self, "display_name") + return pulumi.get(self, "value") @pulumi.output_type -class ServerlessNodePoolTaint(dict): +class GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintResult(dict): def __init__(__self__, *, effect: str, key: str, value: str): """ - :param str effect: Effect of the taint. Valid values are: `NoSchedule`, `PreferNoSchedule`, `NoExecute`. - :param str key: Key of the taint. The taint key name does not exceed 63 characters, only supports English, numbers,'/','-', and does not allow beginning with ('/'). - :param str value: Value of the taint. + :param str effect: Effect of taints mark. + :param str key: Key of taints mark. + :param str value: Value of taints mark. """ pulumi.set(__self__, "effect", effect) pulumi.set(__self__, "key", key) @@ -4310,7 +6093,7 @@ def __init__(__self__, *, @pulumi.getter def effect(self) -> str: """ - Effect of the taint. Valid values are: `NoSchedule`, `PreferNoSchedule`, `NoExecute`. + Effect of taints mark. """ return pulumi.get(self, "effect") @@ -4318,7 +6101,7 @@ def effect(self) -> str: @pulumi.getter def key(self) -> str: """ - Key of the taint. The taint key name does not exceed 63 characters, only supports English, numbers,'/','-', and does not allow beginning with ('/'). + Key of taints mark. """ return pulumi.get(self, "key") @@ -4326,211 +6109,296 @@ def key(self) -> str: @pulumi.getter def value(self) -> str: """ - Value of the taint. + Value of taints mark. """ return pulumi.get(self, "value") @pulumi.output_type -class GetAvailableClusterVersionsClusterResult(dict): +class GetClusterLevelsListResult(dict): def __init__(__self__, *, - cluster_id: str, - versions: Sequence[str]): + alias: str, + config_map_count: int, + crd_count: int, + enable: bool, + name: str, + node_count: int, + other_count: int, + pod_count: int): """ - :param str cluster_id: Cluster Id. - :param Sequence[str] versions: Upgradable cluster version number. Note: This field may return null, indicating that no valid value can be obtained. + :param str alias: Alias used for pass to cluster level arguments. + :param int config_map_count: Number of ConfigMaps. + :param int crd_count: Number of CRDs. + :param bool enable: Indicates whether the current level enabled. + :param str name: Level name. + :param int node_count: Number of nodes. + :param int other_count: Number of others. + :param int pod_count: Number of pods. """ - pulumi.set(__self__, "cluster_id", cluster_id) - pulumi.set(__self__, "versions", versions) + pulumi.set(__self__, "alias", alias) + pulumi.set(__self__, "config_map_count", config_map_count) + pulumi.set(__self__, "crd_count", crd_count) + pulumi.set(__self__, "enable", enable) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "node_count", node_count) + pulumi.set(__self__, "other_count", other_count) + pulumi.set(__self__, "pod_count", pod_count) @property - @pulumi.getter(name="clusterId") - def cluster_id(self) -> str: + @pulumi.getter + def alias(self) -> str: """ - Cluster Id. + Alias used for pass to cluster level arguments. """ - return pulumi.get(self, "cluster_id") + return pulumi.get(self, "alias") @property - @pulumi.getter - def versions(self) -> Sequence[str]: + @pulumi.getter(name="configMapCount") + def config_map_count(self) -> int: """ - Upgradable cluster version number. Note: This field may return null, indicating that no valid value can be obtained. + Number of ConfigMaps. """ - return pulumi.get(self, "versions") + return pulumi.get(self, "config_map_count") + @property + @pulumi.getter(name="crdCount") + def crd_count(self) -> int: + """ + Number of CRDs. + """ + return pulumi.get(self, "crd_count") -@pulumi.output_type -class GetChartsChartListResult(dict): - def __init__(__self__, *, - label: Mapping[str, Any], - latest_version: str, - name: str): + @property + @pulumi.getter + def enable(self) -> bool: """ - :param Mapping[str, Any] label: Label of chart. - :param str latest_version: Chart latest version. - :param str name: Name of chart. + Indicates whether the current level enabled. """ - pulumi.set(__self__, "label", label) - pulumi.set(__self__, "latest_version", latest_version) - pulumi.set(__self__, "name", name) + return pulumi.get(self, "enable") @property @pulumi.getter - def label(self) -> Mapping[str, Any]: + def name(self) -> str: """ - Label of chart. + Level name. """ - return pulumi.get(self, "label") + return pulumi.get(self, "name") @property - @pulumi.getter(name="latestVersion") - def latest_version(self) -> str: + @pulumi.getter(name="nodeCount") + def node_count(self) -> int: """ - Chart latest version. + Number of nodes. """ - return pulumi.get(self, "latest_version") + return pulumi.get(self, "node_count") + + @property + @pulumi.getter(name="otherCount") + def other_count(self) -> int: + """ + Number of others. + """ + return pulumi.get(self, "other_count") + + @property + @pulumi.getter(name="podCount") + def pod_count(self) -> int: + """ + Number of pods. + """ + return pulumi.get(self, "pod_count") + + +@pulumi.output_type +class GetClusterNativeNodePoolsFilterResult(dict): + def __init__(__self__, *, + name: str, + values: Sequence[str]): + """ + :param str name: The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + :param Sequence[str] values: Attribute values, if there are multiple values in the same filter, the relationship between values under the same filter is a logical OR relationship. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "values", values) @property @pulumi.getter def name(self) -> str: """ - Name of chart. + The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. """ return pulumi.get(self, "name") + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + Attribute values, if there are multiple values in the same filter, the relationship between values under the same filter is a logical OR relationship. + """ + return pulumi.get(self, "values") + @pulumi.output_type -class GetClusterAuthenticationOptionsOidcConfigResult(dict): +class GetClusterNativeNodePoolsNodePoolResult(dict): def __init__(__self__, *, - auto_create_client_ids: Sequence[str], - auto_create_oidc_config: bool, - auto_install_pod_identity_webhook_addon: bool): - """ - :param Sequence[str] auto_create_client_ids: Creating ClientId of the identity provider. Note: This field may return `null`, indicating that no valid value can be obtained. - :param bool auto_create_oidc_config: Creating an identity provider. Note: This field may return `null`, indicating that no valid value can be obtained. - :param bool auto_install_pod_identity_webhook_addon: Creating the PodIdentityWebhook component. Note: This field may return `null`, indicating that no valid value can be obtained. + annotations: Sequence['outputs.GetClusterNativeNodePoolsNodePoolAnnotationResult'], + cluster_id: str, + created_at: str, + deletion_protection: bool, + labels: Sequence['outputs.GetClusterNativeNodePoolsNodePoolLabelResult'], + life_state: str, + name: str, + natives: Sequence['outputs.GetClusterNativeNodePoolsNodePoolNativeResult'], + node_pool_id: str, + tags: Sequence['outputs.GetClusterNativeNodePoolsNodePoolTagResult'], + taints: Sequence['outputs.GetClusterNativeNodePoolsNodePoolTaintResult'], + type: str, + unschedulable: bool): + """ + :param Sequence['GetClusterNativeNodePoolsNodePoolAnnotationArgs'] annotations: Node Annotation List. + :param str cluster_id: ID of the cluster. + :param str created_at: Creation time. + :param bool deletion_protection: Whether to enable deletion protection. + :param Sequence['GetClusterNativeNodePoolsNodePoolLabelArgs'] labels: Node Labels. + :param str life_state: Node pool status. + :param str name: The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + :param Sequence['GetClusterNativeNodePoolsNodePoolNativeArgs'] natives: Native node pool creation parameters. + :param str node_pool_id: ID of the node pool. + :param Sequence['GetClusterNativeNodePoolsNodePoolTagArgs'] tags: Tag pair list. + :param Sequence['GetClusterNativeNodePoolsNodePoolTaintArgs'] taints: node taint. + :param str type: Node pool type. Optional value is `Native`. + :param bool unschedulable: Whether the node is not schedulable by default. """ - pulumi.set(__self__, "auto_create_client_ids", auto_create_client_ids) - pulumi.set(__self__, "auto_create_oidc_config", auto_create_oidc_config) - pulumi.set(__self__, "auto_install_pod_identity_webhook_addon", auto_install_pod_identity_webhook_addon) + pulumi.set(__self__, "annotations", annotations) + pulumi.set(__self__, "cluster_id", cluster_id) + pulumi.set(__self__, "created_at", created_at) + pulumi.set(__self__, "deletion_protection", deletion_protection) + pulumi.set(__self__, "labels", labels) + pulumi.set(__self__, "life_state", life_state) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "natives", natives) + pulumi.set(__self__, "node_pool_id", node_pool_id) + pulumi.set(__self__, "tags", tags) + pulumi.set(__self__, "taints", taints) + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "unschedulable", unschedulable) @property - @pulumi.getter(name="autoCreateClientIds") - def auto_create_client_ids(self) -> Sequence[str]: + @pulumi.getter + def annotations(self) -> Sequence['outputs.GetClusterNativeNodePoolsNodePoolAnnotationResult']: """ - Creating ClientId of the identity provider. Note: This field may return `null`, indicating that no valid value can be obtained. + Node Annotation List. """ - return pulumi.get(self, "auto_create_client_ids") + return pulumi.get(self, "annotations") @property - @pulumi.getter(name="autoCreateOidcConfig") - def auto_create_oidc_config(self) -> bool: + @pulumi.getter(name="clusterId") + def cluster_id(self) -> str: """ - Creating an identity provider. Note: This field may return `null`, indicating that no valid value can be obtained. + ID of the cluster. """ - return pulumi.get(self, "auto_create_oidc_config") + return pulumi.get(self, "cluster_id") @property - @pulumi.getter(name="autoInstallPodIdentityWebhookAddon") - def auto_install_pod_identity_webhook_addon(self) -> bool: + @pulumi.getter(name="createdAt") + def created_at(self) -> str: """ - Creating the PodIdentityWebhook component. Note: This field may return `null`, indicating that no valid value can be obtained. + Creation time. """ - return pulumi.get(self, "auto_install_pod_identity_webhook_addon") + return pulumi.get(self, "created_at") + @property + @pulumi.getter(name="deletionProtection") + def deletion_protection(self) -> bool: + """ + Whether to enable deletion protection. + """ + return pulumi.get(self, "deletion_protection") -@pulumi.output_type -class GetClusterAuthenticationOptionsServiceAccountResult(dict): - def __init__(__self__, *, - auto_create_discovery_anonymous_auth: bool, - issuer: str, - jwks_uri: str, - use_tke_default: bool): + @property + @pulumi.getter + def labels(self) -> Sequence['outputs.GetClusterNativeNodePoolsNodePoolLabelResult']: """ - :param bool auto_create_discovery_anonymous_auth: If it is set to `true`, a RABC rule is automatically created to allow anonymous users to access `/.well-known/openid-configuration` and `/openid/v1/jwks`. Note: this field may return `null`, indicating that no valid values can be obtained. - :param str issuer: service-account-issuer. Note: this field may return `null`, indicating that no valid values can be obtained. - :param str jwks_uri: service-account-jwks-uri. Note: this field may return `null`, indicating that no valid values can be obtained. - :param bool use_tke_default: Use TKE default issuer and jwksuri. Note: This field may return `null`, indicating that no valid values can be obtained. + Node Labels. """ - pulumi.set(__self__, "auto_create_discovery_anonymous_auth", auto_create_discovery_anonymous_auth) - pulumi.set(__self__, "issuer", issuer) - pulumi.set(__self__, "jwks_uri", jwks_uri) - pulumi.set(__self__, "use_tke_default", use_tke_default) + return pulumi.get(self, "labels") @property - @pulumi.getter(name="autoCreateDiscoveryAnonymousAuth") - def auto_create_discovery_anonymous_auth(self) -> bool: + @pulumi.getter(name="lifeState") + def life_state(self) -> str: """ - If it is set to `true`, a RABC rule is automatically created to allow anonymous users to access `/.well-known/openid-configuration` and `/openid/v1/jwks`. Note: this field may return `null`, indicating that no valid values can be obtained. + Node pool status. """ - return pulumi.get(self, "auto_create_discovery_anonymous_auth") + return pulumi.get(self, "life_state") @property @pulumi.getter - def issuer(self) -> str: + def name(self) -> str: """ - service-account-issuer. Note: this field may return `null`, indicating that no valid values can be obtained. + The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. """ - return pulumi.get(self, "issuer") + return pulumi.get(self, "name") @property - @pulumi.getter(name="jwksUri") - def jwks_uri(self) -> str: + @pulumi.getter + def natives(self) -> Sequence['outputs.GetClusterNativeNodePoolsNodePoolNativeResult']: """ - service-account-jwks-uri. Note: this field may return `null`, indicating that no valid values can be obtained. + Native node pool creation parameters. """ - return pulumi.get(self, "jwks_uri") + return pulumi.get(self, "natives") @property - @pulumi.getter(name="useTkeDefault") - def use_tke_default(self) -> bool: + @pulumi.getter(name="nodePoolId") + def node_pool_id(self) -> str: """ - Use TKE default issuer and jwksuri. Note: This field may return `null`, indicating that no valid values can be obtained. + ID of the node pool. """ - return pulumi.get(self, "use_tke_default") - + return pulumi.get(self, "node_pool_id") -@pulumi.output_type -class GetClusterCommonNamesListResult(dict): - def __init__(__self__, *, - common_names: str, - subaccount_uin: str): + @property + @pulumi.getter + def tags(self) -> Sequence['outputs.GetClusterNativeNodePoolsNodePoolTagResult']: + """ + Tag pair list. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def taints(self) -> Sequence['outputs.GetClusterNativeNodePoolsNodePoolTaintResult']: """ - :param str common_names: The CommonName in the certificate of the client corresponding to the sub-account. - :param str subaccount_uin: User UIN. + node taint. """ - pulumi.set(__self__, "common_names", common_names) - pulumi.set(__self__, "subaccount_uin", subaccount_uin) + return pulumi.get(self, "taints") @property - @pulumi.getter(name="commonNames") - def common_names(self) -> str: + @pulumi.getter + def type(self) -> str: """ - The CommonName in the certificate of the client corresponding to the sub-account. + Node pool type. Optional value is `Native`. """ - return pulumi.get(self, "common_names") + return pulumi.get(self, "type") @property - @pulumi.getter(name="subaccountUin") - def subaccount_uin(self) -> str: + @pulumi.getter + def unschedulable(self) -> bool: """ - User UIN. + Whether the node is not schedulable by default. """ - return pulumi.get(self, "subaccount_uin") + return pulumi.get(self, "unschedulable") @pulumi.output_type -class GetClusterInstancesFilterResult(dict): +class GetClusterNativeNodePoolsNodePoolAnnotationResult(dict): def __init__(__self__, *, name: str, - values: Sequence[str]): + value: str): """ :param str name: The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. - :param Sequence[str] values: Attribute values, if there are multiple values in the same filter, the relationship between values under the same filter is a logical OR relationship. + :param str value: Value of the taint. """ pulumi.set(__self__, "name", name) - pulumi.set(__self__, "values", values) + pulumi.set(__self__, "value", value) @property @pulumi.getter @@ -4542,281 +6410,293 @@ def name(self) -> str: @property @pulumi.getter - def values(self) -> Sequence[str]: + def value(self) -> str: """ - Attribute values, if there are multiple values in the same filter, the relationship between values under the same filter is a logical OR relationship. + Value of the taint. """ - return pulumi.get(self, "values") + return pulumi.get(self, "value") @pulumi.output_type -class GetClusterInstancesInstanceSetResult(dict): +class GetClusterNativeNodePoolsNodePoolLabelResult(dict): def __init__(__self__, *, - autoscaling_group_id: str, - created_time: str, - drain_status: str, - failed_reason: str, - instance_advanced_settings: Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingResult'], - instance_id: str, - instance_role: str, - instance_state: str, - lan_ip: str, - node_pool_id: str): + name: str, + value: str): """ - :param str autoscaling_group_id: Auto scaling group ID. - :param str created_time: Add time. - :param str drain_status: Whether the instance is blocked. - :param str failed_reason: Reasons for instance exception (or being initialized). - :param Sequence['GetClusterInstancesInstanceSetInstanceAdvancedSettingArgs'] instance_advanced_settings: Node configuration. - :param str instance_id: Instance ID. - :param str instance_role: Node role, MASTER, WORKER, ETCD, MASTER_ETCD,ALL, default is WORKER. - :param str instance_state: The status of the instance (running, initializing, failed). - :param str lan_ip: Node intranet IP. - :param str node_pool_id: Resource pool ID. + :param str name: The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + :param str value: Value of the taint. """ - pulumi.set(__self__, "autoscaling_group_id", autoscaling_group_id) - pulumi.set(__self__, "created_time", created_time) - pulumi.set(__self__, "drain_status", drain_status) - pulumi.set(__self__, "failed_reason", failed_reason) - pulumi.set(__self__, "instance_advanced_settings", instance_advanced_settings) - pulumi.set(__self__, "instance_id", instance_id) - pulumi.set(__self__, "instance_role", instance_role) - pulumi.set(__self__, "instance_state", instance_state) - pulumi.set(__self__, "lan_ip", lan_ip) - pulumi.set(__self__, "node_pool_id", node_pool_id) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "value", value) @property - @pulumi.getter(name="autoscalingGroupId") - def autoscaling_group_id(self) -> str: + @pulumi.getter + def name(self) -> str: """ - Auto scaling group ID. + The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. """ - return pulumi.get(self, "autoscaling_group_id") + return pulumi.get(self, "name") @property - @pulumi.getter(name="createdTime") - def created_time(self) -> str: + @pulumi.getter + def value(self) -> str: """ - Add time. + Value of the taint. """ - return pulumi.get(self, "created_time") + return pulumi.get(self, "value") - @property - @pulumi.getter(name="drainStatus") - def drain_status(self) -> str: - """ - Whether the instance is blocked. - """ - return pulumi.get(self, "drain_status") + +@pulumi.output_type +class GetClusterNativeNodePoolsNodePoolNativeResult(dict): + def __init__(__self__, *, + auto_repair: bool, + data_disks: Sequence['outputs.GetClusterNativeNodePoolsNodePoolNativeDataDiskResult'], + enable_autoscaling: bool, + health_check_policy_name: str, + host_name_pattern: str, + instance_charge_prepaids: Sequence['outputs.GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidResult'], + instance_charge_type: str, + instance_types: Sequence[str], + internet_accessibles: Sequence['outputs.GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleResult'], + key_ids: Sequence[str], + kubelet_args: Sequence[str], + lifecycles: Sequence['outputs.GetClusterNativeNodePoolsNodePoolNativeLifecycleResult'], + managements: Sequence['outputs.GetClusterNativeNodePoolsNodePoolNativeManagementResult'], + replicas: int, + runtime_root_dir: str, + scalings: Sequence['outputs.GetClusterNativeNodePoolsNodePoolNativeScalingResult'], + security_group_ids: Sequence[str], + subnet_ids: Sequence[str], + system_disks: Sequence['outputs.GetClusterNativeNodePoolsNodePoolNativeSystemDiskResult']): + """ + :param bool auto_repair: Whether to enable self-healing ability. + :param Sequence['GetClusterNativeNodePoolsNodePoolNativeDataDiskArgs'] data_disks: Native node pool data disk list. + :param bool enable_autoscaling: Whether to enable elastic scaling. + :param str health_check_policy_name: Fault self-healing rule name. + :param str host_name_pattern: Native node pool hostName pattern string. + :param Sequence['GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidArgs'] instance_charge_prepaids: Billing configuration for yearly and monthly models. + :param str instance_charge_type: Node billing type. `PREPAID` is a yearly and monthly subscription, `POSTPAID_BY_HOUR` is a pay-as-you-go plan. The default is `POSTPAID_BY_HOUR`. + :param Sequence[str] instance_types: Model list. + :param Sequence['GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleArgs'] internet_accessibles: Public network bandwidth settings. + :param Sequence[str] key_ids: Node pool ssh public key id array. + :param Sequence[str] kubelet_args: Kubelet custom parameters. + :param Sequence['GetClusterNativeNodePoolsNodePoolNativeLifecycleArgs'] lifecycles: Predefined scripts. + :param Sequence['GetClusterNativeNodePoolsNodePoolNativeManagementArgs'] managements: Node pool management parameter settings. + :param int replicas: Desired number of nodes. + :param str runtime_root_dir: Runtime root directory. + :param Sequence['GetClusterNativeNodePoolsNodePoolNativeScalingArgs'] scalings: Node pool scaling configuration. + :param Sequence[str] security_group_ids: Security group list. + :param Sequence[str] subnet_ids: Subnet list. + :param Sequence['GetClusterNativeNodePoolsNodePoolNativeSystemDiskArgs'] system_disks: System disk configuration. + """ + pulumi.set(__self__, "auto_repair", auto_repair) + pulumi.set(__self__, "data_disks", data_disks) + pulumi.set(__self__, "enable_autoscaling", enable_autoscaling) + pulumi.set(__self__, "health_check_policy_name", health_check_policy_name) + pulumi.set(__self__, "host_name_pattern", host_name_pattern) + pulumi.set(__self__, "instance_charge_prepaids", instance_charge_prepaids) + pulumi.set(__self__, "instance_charge_type", instance_charge_type) + pulumi.set(__self__, "instance_types", instance_types) + pulumi.set(__self__, "internet_accessibles", internet_accessibles) + pulumi.set(__self__, "key_ids", key_ids) + pulumi.set(__self__, "kubelet_args", kubelet_args) + pulumi.set(__self__, "lifecycles", lifecycles) + pulumi.set(__self__, "managements", managements) + pulumi.set(__self__, "replicas", replicas) + pulumi.set(__self__, "runtime_root_dir", runtime_root_dir) + pulumi.set(__self__, "scalings", scalings) + pulumi.set(__self__, "security_group_ids", security_group_ids) + pulumi.set(__self__, "subnet_ids", subnet_ids) + pulumi.set(__self__, "system_disks", system_disks) @property - @pulumi.getter(name="failedReason") - def failed_reason(self) -> str: + @pulumi.getter(name="autoRepair") + def auto_repair(self) -> bool: """ - Reasons for instance exception (or being initialized). + Whether to enable self-healing ability. """ - return pulumi.get(self, "failed_reason") + return pulumi.get(self, "auto_repair") @property - @pulumi.getter(name="instanceAdvancedSettings") - def instance_advanced_settings(self) -> Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingResult']: + @pulumi.getter(name="dataDisks") + def data_disks(self) -> Sequence['outputs.GetClusterNativeNodePoolsNodePoolNativeDataDiskResult']: """ - Node configuration. + Native node pool data disk list. """ - return pulumi.get(self, "instance_advanced_settings") + return pulumi.get(self, "data_disks") @property - @pulumi.getter(name="instanceId") - def instance_id(self) -> str: + @pulumi.getter(name="enableAutoscaling") + def enable_autoscaling(self) -> bool: """ - Instance ID. + Whether to enable elastic scaling. """ - return pulumi.get(self, "instance_id") + return pulumi.get(self, "enable_autoscaling") @property - @pulumi.getter(name="instanceRole") - def instance_role(self) -> str: + @pulumi.getter(name="healthCheckPolicyName") + def health_check_policy_name(self) -> str: """ - Node role, MASTER, WORKER, ETCD, MASTER_ETCD,ALL, default is WORKER. + Fault self-healing rule name. """ - return pulumi.get(self, "instance_role") + return pulumi.get(self, "health_check_policy_name") @property - @pulumi.getter(name="instanceState") - def instance_state(self) -> str: + @pulumi.getter(name="hostNamePattern") + def host_name_pattern(self) -> str: """ - The status of the instance (running, initializing, failed). + Native node pool hostName pattern string. """ - return pulumi.get(self, "instance_state") + return pulumi.get(self, "host_name_pattern") @property - @pulumi.getter(name="lanIp") - def lan_ip(self) -> str: + @pulumi.getter(name="instanceChargePrepaids") + def instance_charge_prepaids(self) -> Sequence['outputs.GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidResult']: """ - Node intranet IP. + Billing configuration for yearly and monthly models. """ - return pulumi.get(self, "lan_ip") + return pulumi.get(self, "instance_charge_prepaids") @property - @pulumi.getter(name="nodePoolId") - def node_pool_id(self) -> str: + @pulumi.getter(name="instanceChargeType") + def instance_charge_type(self) -> str: """ - Resource pool ID. + Node billing type. `PREPAID` is a yearly and monthly subscription, `POSTPAID_BY_HOUR` is a pay-as-you-go plan. The default is `POSTPAID_BY_HOUR`. """ - return pulumi.get(self, "node_pool_id") - + return pulumi.get(self, "instance_charge_type") -@pulumi.output_type -class GetClusterInstancesInstanceSetInstanceAdvancedSettingResult(dict): - def __init__(__self__, *, - data_disks: Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskResult'], - desired_pod_number: int, - docker_graph_path: str, - extra_args: Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgResult'], - gpu_args: Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgResult'], - labels: Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelResult'], - mount_target: str, - pre_start_user_script: str, - taints: Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintResult'], - unschedulable: int, - user_script: str): + @property + @pulumi.getter(name="instanceTypes") + def instance_types(self) -> Sequence[str]: """ - :param Sequence['GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskArgs'] data_disks: Multi-disk data disk mounting information. - :param int desired_pod_number: When the node belongs to the podCIDR size customization mode, you can specify the upper limit of the number of pods running on the node. - :param str docker_graph_path: Dockerd --graph specifies the value, the default is /var/lib/docker. - :param Sequence['GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgArgs'] extra_args: Node-related custom parameter information. - :param Sequence['GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgArgs'] gpu_args: GPU driver related parameters, obtain related GPU parameters: https://cloud.tencent.com/document/api/213/15715. - :param Sequence['GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelArgs'] labels: Node Label array. - :param str mount_target: Data disk mount point, the data disk is not mounted by default. Formatted ext3, ext4, xfs file system data disks will be mounted directly. Other file systems or unformatted data disks will be automatically formatted as ext4 (tlinux system formatted as xfs) and mounted. Please pay attention to backing up the data. This setting does not take effect for cloud hosts that have no data disks or multiple data disks. - :param str pre_start_user_script: Base64 encoded user script, executed before initializing the node, currently only effective for adding existing nodes. - :param Sequence['GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintArgs'] taints: Node taint. - :param int unschedulable: Set whether the added node participates in scheduling. The default value is 0, which means participating in scheduling; non-0 means not participating in scheduling. After the node initialization is completed, you can execute kubectl uncordon nodename to join the node in scheduling. - :param str user_script: Base64 encoded userscript. + Model list. """ - pulumi.set(__self__, "data_disks", data_disks) - pulumi.set(__self__, "desired_pod_number", desired_pod_number) - pulumi.set(__self__, "docker_graph_path", docker_graph_path) - pulumi.set(__self__, "extra_args", extra_args) - pulumi.set(__self__, "gpu_args", gpu_args) - pulumi.set(__self__, "labels", labels) - pulumi.set(__self__, "mount_target", mount_target) - pulumi.set(__self__, "pre_start_user_script", pre_start_user_script) - pulumi.set(__self__, "taints", taints) - pulumi.set(__self__, "unschedulable", unschedulable) - pulumi.set(__self__, "user_script", user_script) + return pulumi.get(self, "instance_types") @property - @pulumi.getter(name="dataDisks") - def data_disks(self) -> Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskResult']: + @pulumi.getter(name="internetAccessibles") + def internet_accessibles(self) -> Sequence['outputs.GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleResult']: """ - Multi-disk data disk mounting information. + Public network bandwidth settings. """ - return pulumi.get(self, "data_disks") + return pulumi.get(self, "internet_accessibles") @property - @pulumi.getter(name="desiredPodNumber") - def desired_pod_number(self) -> int: + @pulumi.getter(name="keyIds") + def key_ids(self) -> Sequence[str]: """ - When the node belongs to the podCIDR size customization mode, you can specify the upper limit of the number of pods running on the node. + Node pool ssh public key id array. """ - return pulumi.get(self, "desired_pod_number") + return pulumi.get(self, "key_ids") @property - @pulumi.getter(name="dockerGraphPath") - def docker_graph_path(self) -> str: + @pulumi.getter(name="kubeletArgs") + def kubelet_args(self) -> Sequence[str]: """ - Dockerd --graph specifies the value, the default is /var/lib/docker. + Kubelet custom parameters. """ - return pulumi.get(self, "docker_graph_path") + return pulumi.get(self, "kubelet_args") @property - @pulumi.getter(name="extraArgs") - def extra_args(self) -> Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgResult']: + @pulumi.getter + def lifecycles(self) -> Sequence['outputs.GetClusterNativeNodePoolsNodePoolNativeLifecycleResult']: """ - Node-related custom parameter information. + Predefined scripts. """ - return pulumi.get(self, "extra_args") + return pulumi.get(self, "lifecycles") @property - @pulumi.getter(name="gpuArgs") - def gpu_args(self) -> Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgResult']: + @pulumi.getter + def managements(self) -> Sequence['outputs.GetClusterNativeNodePoolsNodePoolNativeManagementResult']: """ - GPU driver related parameters, obtain related GPU parameters: https://cloud.tencent.com/document/api/213/15715. + Node pool management parameter settings. """ - return pulumi.get(self, "gpu_args") + return pulumi.get(self, "managements") @property @pulumi.getter - def labels(self) -> Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelResult']: + def replicas(self) -> int: """ - Node Label array. + Desired number of nodes. """ - return pulumi.get(self, "labels") + return pulumi.get(self, "replicas") @property - @pulumi.getter(name="mountTarget") - def mount_target(self) -> str: + @pulumi.getter(name="runtimeRootDir") + def runtime_root_dir(self) -> str: """ - Data disk mount point, the data disk is not mounted by default. Formatted ext3, ext4, xfs file system data disks will be mounted directly. Other file systems or unformatted data disks will be automatically formatted as ext4 (tlinux system formatted as xfs) and mounted. Please pay attention to backing up the data. This setting does not take effect for cloud hosts that have no data disks or multiple data disks. + Runtime root directory. """ - return pulumi.get(self, "mount_target") + return pulumi.get(self, "runtime_root_dir") @property - @pulumi.getter(name="preStartUserScript") - def pre_start_user_script(self) -> str: + @pulumi.getter + def scalings(self) -> Sequence['outputs.GetClusterNativeNodePoolsNodePoolNativeScalingResult']: """ - Base64 encoded user script, executed before initializing the node, currently only effective for adding existing nodes. + Node pool scaling configuration. """ - return pulumi.get(self, "pre_start_user_script") + return pulumi.get(self, "scalings") @property - @pulumi.getter - def taints(self) -> Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintResult']: + @pulumi.getter(name="securityGroupIds") + def security_group_ids(self) -> Sequence[str]: """ - Node taint. + Security group list. """ - return pulumi.get(self, "taints") + return pulumi.get(self, "security_group_ids") @property - @pulumi.getter - def unschedulable(self) -> int: + @pulumi.getter(name="subnetIds") + def subnet_ids(self) -> Sequence[str]: """ - Set whether the added node participates in scheduling. The default value is 0, which means participating in scheduling; non-0 means not participating in scheduling. After the node initialization is completed, you can execute kubectl uncordon nodename to join the node in scheduling. + Subnet list. """ - return pulumi.get(self, "unschedulable") + return pulumi.get(self, "subnet_ids") @property - @pulumi.getter(name="userScript") - def user_script(self) -> str: + @pulumi.getter(name="systemDisks") + def system_disks(self) -> Sequence['outputs.GetClusterNativeNodePoolsNodePoolNativeSystemDiskResult']: """ - Base64 encoded userscript. + System disk configuration. """ - return pulumi.get(self, "user_script") + return pulumi.get(self, "system_disks") @pulumi.output_type -class GetClusterInstancesInstanceSetInstanceAdvancedSettingDataDiskResult(dict): +class GetClusterNativeNodePoolsNodePoolNativeDataDiskResult(dict): def __init__(__self__, *, auto_format_and_mount: bool, disk_partition: str, disk_size: int, disk_type: str, + encrypt: str, file_system: str, - mount_target: str): + kms_key_id: str, + mount_target: str, + snapshot_id: str, + throughput_performance: int): """ :param bool auto_format_and_mount: Whether to automatically format the disk and mount it. - :param str disk_partition: Mount device name or partition name, required when and only when adding an existing node. + :param str disk_partition: Mount device name or partition name. :param int disk_size: Cloud disk size (G). :param str disk_type: Cloud disk type. + :param str encrypt: Pass in this parameter to create an encrypted cloud disk. The value is fixed to `ENCRYPT`. :param str file_system: File system (ext3/ext4/xfs). - :param str mount_target: Data disk mount point, the data disk is not mounted by default. Formatted ext3, ext4, xfs file system data disks will be mounted directly. Other file systems or unformatted data disks will be automatically formatted as ext4 (tlinux system formatted as xfs) and mounted. Please pay attention to backing up the data. This setting does not take effect for cloud hosts that have no data disks or multiple data disks. + :param str kms_key_id: Customize the key when purchasing an encrypted disk. When this parameter is passed in, the Encrypt parameter is not empty. + :param str mount_target: Mount directory. + :param str snapshot_id: Snapshot ID. If passed in, the cloud disk will be created based on this snapshot. The snapshot type must be a data disk snapshot. + :param int throughput_performance: Cloud disk performance, unit: MB/s. Use this parameter to purchase additional performance for the cloud disk. """ pulumi.set(__self__, "auto_format_and_mount", auto_format_and_mount) pulumi.set(__self__, "disk_partition", disk_partition) pulumi.set(__self__, "disk_size", disk_size) pulumi.set(__self__, "disk_type", disk_type) + pulumi.set(__self__, "encrypt", encrypt) pulumi.set(__self__, "file_system", file_system) + pulumi.set(__self__, "kms_key_id", kms_key_id) pulumi.set(__self__, "mount_target", mount_target) + pulumi.set(__self__, "snapshot_id", snapshot_id) + pulumi.set(__self__, "throughput_performance", throughput_performance) @property @pulumi.getter(name="autoFormatAndMount") @@ -4830,7 +6710,7 @@ def auto_format_and_mount(self) -> bool: @pulumi.getter(name="diskPartition") def disk_partition(self) -> str: """ - Mount device name or partition name, required when and only when adding an existing node. + Mount device name or partition name. """ return pulumi.get(self, "disk_partition") @@ -4850,6 +6730,14 @@ def disk_type(self) -> str: """ return pulumi.get(self, "disk_type") + @property + @pulumi.getter + def encrypt(self) -> str: + """ + Pass in this parameter to create an encrypted cloud disk. The value is fixed to `ENCRYPT`. + """ + return pulumi.get(self, "encrypt") + @property @pulumi.getter(name="fileSystem") def file_system(self) -> str: @@ -4858,279 +6746,292 @@ def file_system(self) -> str: """ return pulumi.get(self, "file_system") + @property + @pulumi.getter(name="kmsKeyId") + def kms_key_id(self) -> str: + """ + Customize the key when purchasing an encrypted disk. When this parameter is passed in, the Encrypt parameter is not empty. + """ + return pulumi.get(self, "kms_key_id") + @property @pulumi.getter(name="mountTarget") def mount_target(self) -> str: """ - Data disk mount point, the data disk is not mounted by default. Formatted ext3, ext4, xfs file system data disks will be mounted directly. Other file systems or unformatted data disks will be automatically formatted as ext4 (tlinux system formatted as xfs) and mounted. Please pay attention to backing up the data. This setting does not take effect for cloud hosts that have no data disks or multiple data disks. + Mount directory. """ return pulumi.get(self, "mount_target") - -@pulumi.output_type -class GetClusterInstancesInstanceSetInstanceAdvancedSettingExtraArgResult(dict): - def __init__(__self__, *, - kubelets: Sequence[str]): + @property + @pulumi.getter(name="snapshotId") + def snapshot_id(self) -> str: """ - :param Sequence[str] kubelets: Kubelet custom parameters. + Snapshot ID. If passed in, the cloud disk will be created based on this snapshot. The snapshot type must be a data disk snapshot. """ - pulumi.set(__self__, "kubelets", kubelets) + return pulumi.get(self, "snapshot_id") @property - @pulumi.getter - def kubelets(self) -> Sequence[str]: + @pulumi.getter(name="throughputPerformance") + def throughput_performance(self) -> int: """ - Kubelet custom parameters. + Cloud disk performance, unit: MB/s. Use this parameter to purchase additional performance for the cloud disk. """ - return pulumi.get(self, "kubelets") + return pulumi.get(self, "throughput_performance") @pulumi.output_type -class GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgResult(dict): +class GetClusterNativeNodePoolsNodePoolNativeInstanceChargePrepaidResult(dict): def __init__(__self__, *, - cudas: Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaResult'], - cudnns: Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnResult'], - custom_drivers: Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverResult'], - drivers: Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverResult'], - mig_enable: bool): + period: int, + renew_flag: str): """ - :param Sequence['GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaArgs'] cudas: CUDA version information. - :param Sequence['GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnArgs'] cudnns: CuDNN version information. - :param Sequence['GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverArgs'] custom_drivers: Custom GPU driver information. - :param Sequence['GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverArgs'] drivers: GPU driver version information. - :param bool mig_enable: Whether to enable MIG features. + :param int period: Postpaid billing cycle, unit (month): 1, 2, 3, 4, 5,, 6, 7, 8, 9, 10, 11, 12, 24, 36, 48, 60. + :param str renew_flag: Prepaid renewal method: """ - pulumi.set(__self__, "cudas", cudas) - pulumi.set(__self__, "cudnns", cudnns) - pulumi.set(__self__, "custom_drivers", custom_drivers) - pulumi.set(__self__, "drivers", drivers) - pulumi.set(__self__, "mig_enable", mig_enable) + pulumi.set(__self__, "period", period) + pulumi.set(__self__, "renew_flag", renew_flag) @property @pulumi.getter - def cudas(self) -> Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaResult']: + def period(self) -> int: """ - CUDA version information. + Postpaid billing cycle, unit (month): 1, 2, 3, 4, 5,, 6, 7, 8, 9, 10, 11, 12, 24, 36, 48, 60. """ - return pulumi.get(self, "cudas") + return pulumi.get(self, "period") @property - @pulumi.getter - def cudnns(self) -> Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnResult']: + @pulumi.getter(name="renewFlag") + def renew_flag(self) -> str: """ - CuDNN version information. + Prepaid renewal method: """ - return pulumi.get(self, "cudnns") + return pulumi.get(self, "renew_flag") + + +@pulumi.output_type +class GetClusterNativeNodePoolsNodePoolNativeInternetAccessibleResult(dict): + def __init__(__self__, *, + bandwidth_package_id: str, + charge_type: str, + max_bandwidth_out: int): + """ + :param str bandwidth_package_id: Bandwidth package ID. Note: When ChargeType is BANDWIDTH_PACKAG, the value cannot be empty; otherwise, the value must be empty. + :param str charge_type: Network billing method. Optional value is `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. + :param int max_bandwidth_out: Maximum bandwidth output. Note: When chargeType is `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_POSTPAID_BY_HOUR`, the valid range is 1~100. When chargeType is `BANDWIDTH_PACKAG`, the valid range is 1~2000. + """ + pulumi.set(__self__, "bandwidth_package_id", bandwidth_package_id) + pulumi.set(__self__, "charge_type", charge_type) + pulumi.set(__self__, "max_bandwidth_out", max_bandwidth_out) @property - @pulumi.getter(name="customDrivers") - def custom_drivers(self) -> Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverResult']: + @pulumi.getter(name="bandwidthPackageId") + def bandwidth_package_id(self) -> str: """ - Custom GPU driver information. + Bandwidth package ID. Note: When ChargeType is BANDWIDTH_PACKAG, the value cannot be empty; otherwise, the value must be empty. """ - return pulumi.get(self, "custom_drivers") + return pulumi.get(self, "bandwidth_package_id") @property - @pulumi.getter - def drivers(self) -> Sequence['outputs.GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverResult']: + @pulumi.getter(name="chargeType") + def charge_type(self) -> str: """ - GPU driver version information. + Network billing method. Optional value is `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. """ - return pulumi.get(self, "drivers") + return pulumi.get(self, "charge_type") @property - @pulumi.getter(name="migEnable") - def mig_enable(self) -> bool: + @pulumi.getter(name="maxBandwidthOut") + def max_bandwidth_out(self) -> int: """ - Whether to enable MIG features. + Maximum bandwidth output. Note: When chargeType is `TRAFFIC_POSTPAID_BY_HOUR` and `BANDWIDTH_POSTPAID_BY_HOUR`, the valid range is 1~100. When chargeType is `BANDWIDTH_PACKAG`, the valid range is 1~2000. """ - return pulumi.get(self, "mig_enable") + return pulumi.get(self, "max_bandwidth_out") @pulumi.output_type -class GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudaResult(dict): +class GetClusterNativeNodePoolsNodePoolNativeLifecycleResult(dict): def __init__(__self__, *, - name: str, - version: str): + post_init: str, + pre_init: str): """ - :param str name: The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. - :param str version: GPU driver or CUDA version. + :param str post_init: Custom script after node initialization. + :param str pre_init: Custom script before node initialization. """ - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "version", version) + pulumi.set(__self__, "post_init", post_init) + pulumi.set(__self__, "pre_init", pre_init) @property - @pulumi.getter - def name(self) -> str: + @pulumi.getter(name="postInit") + def post_init(self) -> str: """ - The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + Custom script after node initialization. """ - return pulumi.get(self, "name") + return pulumi.get(self, "post_init") @property - @pulumi.getter - def version(self) -> str: + @pulumi.getter(name="preInit") + def pre_init(self) -> str: """ - GPU driver or CUDA version. + Custom script before node initialization. """ - return pulumi.get(self, "version") + return pulumi.get(self, "pre_init") @pulumi.output_type -class GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCudnnResult(dict): +class GetClusterNativeNodePoolsNodePoolNativeManagementResult(dict): def __init__(__self__, *, - dev_name: str, - doc_name: str, - name: str, - version: str): + hosts: Sequence[str], + kernel_args: Sequence[str], + nameservers: Sequence[str]): """ - :param str dev_name: Dev name of cuDNN. - :param str doc_name: Doc name of cuDNN. - :param str name: The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. - :param str version: GPU driver or CUDA version. + :param Sequence[str] hosts: Hosts configuration. + :param Sequence[str] kernel_args: Kernel parameter configuration. + :param Sequence[str] nameservers: Dns configuration. """ - pulumi.set(__self__, "dev_name", dev_name) - pulumi.set(__self__, "doc_name", doc_name) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "version", version) + pulumi.set(__self__, "hosts", hosts) + pulumi.set(__self__, "kernel_args", kernel_args) + pulumi.set(__self__, "nameservers", nameservers) @property - @pulumi.getter(name="devName") - def dev_name(self) -> str: + @pulumi.getter + def hosts(self) -> Sequence[str]: """ - Dev name of cuDNN. + Hosts configuration. """ - return pulumi.get(self, "dev_name") + return pulumi.get(self, "hosts") @property - @pulumi.getter(name="docName") - def doc_name(self) -> str: + @pulumi.getter(name="kernelArgs") + def kernel_args(self) -> Sequence[str]: """ - Doc name of cuDNN. + Kernel parameter configuration. """ - return pulumi.get(self, "doc_name") + return pulumi.get(self, "kernel_args") @property @pulumi.getter - def name(self) -> str: + def nameservers(self) -> Sequence[str]: """ - The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + Dns configuration. """ - return pulumi.get(self, "name") + return pulumi.get(self, "nameservers") - @property - @pulumi.getter - def version(self) -> str: + +@pulumi.output_type +class GetClusterNativeNodePoolsNodePoolNativeScalingResult(dict): + def __init__(__self__, *, + create_policy: str, + max_replicas: int, + min_replicas: int): """ - GPU driver or CUDA version. + :param str create_policy: Node pool expansion strategy. `ZoneEquality`: multiple availability zones are broken up; `ZonePriority`: the preferred availability zone takes precedence. + :param int max_replicas: Maximum number of replicas in node pool. + :param int min_replicas: Minimum number of replicas in node pool. """ - return pulumi.get(self, "version") + pulumi.set(__self__, "create_policy", create_policy) + pulumi.set(__self__, "max_replicas", max_replicas) + pulumi.set(__self__, "min_replicas", min_replicas) + @property + @pulumi.getter(name="createPolicy") + def create_policy(self) -> str: + """ + Node pool expansion strategy. `ZoneEquality`: multiple availability zones are broken up; `ZonePriority`: the preferred availability zone takes precedence. + """ + return pulumi.get(self, "create_policy") -@pulumi.output_type -class GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgCustomDriverResult(dict): - def __init__(__self__, *, - address: str): + @property + @pulumi.getter(name="maxReplicas") + def max_replicas(self) -> int: """ - :param str address: Custom GPU driver address link. + Maximum number of replicas in node pool. """ - pulumi.set(__self__, "address", address) + return pulumi.get(self, "max_replicas") @property - @pulumi.getter - def address(self) -> str: + @pulumi.getter(name="minReplicas") + def min_replicas(self) -> int: """ - Custom GPU driver address link. + Minimum number of replicas in node pool. """ - return pulumi.get(self, "address") + return pulumi.get(self, "min_replicas") @pulumi.output_type -class GetClusterInstancesInstanceSetInstanceAdvancedSettingGpuArgDriverResult(dict): +class GetClusterNativeNodePoolsNodePoolNativeSystemDiskResult(dict): def __init__(__self__, *, - name: str, - version: str): + disk_size: int, + disk_type: str): """ - :param str name: The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. - :param str version: GPU driver or CUDA version. + :param int disk_size: Cloud disk size (G). + :param str disk_type: Cloud disk type. """ - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "version", version) + pulumi.set(__self__, "disk_size", disk_size) + pulumi.set(__self__, "disk_type", disk_type) @property - @pulumi.getter - def name(self) -> str: + @pulumi.getter(name="diskSize") + def disk_size(self) -> int: """ - The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + Cloud disk size (G). """ - return pulumi.get(self, "name") + return pulumi.get(self, "disk_size") @property - @pulumi.getter - def version(self) -> str: + @pulumi.getter(name="diskType") + def disk_type(self) -> str: """ - GPU driver or CUDA version. + Cloud disk type. """ - return pulumi.get(self, "version") + return pulumi.get(self, "disk_type") @pulumi.output_type -class GetClusterInstancesInstanceSetInstanceAdvancedSettingLabelResult(dict): +class GetClusterNativeNodePoolsNodePoolTagResult(dict): def __init__(__self__, *, - name: str, - value: str): + resource_type: str, + tags: Sequence['outputs.GetClusterNativeNodePoolsNodePoolTagTagResult']): """ - :param str name: The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. - :param str value: Value of taints mark. + :param str resource_type: The resource type bound to the label. + :param Sequence['GetClusterNativeNodePoolsNodePoolTagTagArgs'] tags: Tag pair list. """ - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "value", value) + pulumi.set(__self__, "resource_type", resource_type) + pulumi.set(__self__, "tags", tags) @property - @pulumi.getter - def name(self) -> str: + @pulumi.getter(name="resourceType") + def resource_type(self) -> str: """ - The attribute name, if there are multiple filters, the relationship between the filters is a logical AND relationship. + The resource type bound to the label. """ - return pulumi.get(self, "name") + return pulumi.get(self, "resource_type") @property @pulumi.getter - def value(self) -> str: + def tags(self) -> Sequence['outputs.GetClusterNativeNodePoolsNodePoolTagTagResult']: """ - Value of taints mark. + Tag pair list. """ - return pulumi.get(self, "value") + return pulumi.get(self, "tags") @pulumi.output_type -class GetClusterInstancesInstanceSetInstanceAdvancedSettingTaintResult(dict): +class GetClusterNativeNodePoolsNodePoolTagTagResult(dict): def __init__(__self__, *, - effect: str, key: str, value: str): """ - :param str effect: Effect of taints mark. - :param str key: Key of taints mark. - :param str value: Value of taints mark. + :param str key: Key of the taint. + :param str value: Value of the taint. """ - pulumi.set(__self__, "effect", effect) pulumi.set(__self__, "key", key) pulumi.set(__self__, "value", value) - @property - @pulumi.getter - def effect(self) -> str: - """ - Effect of taints mark. - """ - return pulumi.get(self, "effect") - @property @pulumi.getter def key(self) -> str: """ - Key of taints mark. + Key of the taint. """ return pulumi.get(self, "key") @@ -5138,104 +7039,49 @@ def key(self) -> str: @pulumi.getter def value(self) -> str: """ - Value of taints mark. + Value of the taint. """ return pulumi.get(self, "value") @pulumi.output_type -class GetClusterLevelsListResult(dict): +class GetClusterNativeNodePoolsNodePoolTaintResult(dict): def __init__(__self__, *, - alias: str, - config_map_count: int, - crd_count: int, - enable: bool, - name: str, - node_count: int, - other_count: int, - pod_count: int): + effect: str, + key: str, + value: str): """ - :param str alias: Alias used for pass to cluster level arguments. - :param int config_map_count: Number of ConfigMaps. - :param int crd_count: Number of CRDs. - :param bool enable: Indicates whether the current level enabled. - :param str name: Level name. - :param int node_count: Number of nodes. - :param int other_count: Number of others. - :param int pod_count: Number of pods. + :param str effect: Effect of the taint. + :param str key: Key of the taint. + :param str value: Value of the taint. """ - pulumi.set(__self__, "alias", alias) - pulumi.set(__self__, "config_map_count", config_map_count) - pulumi.set(__self__, "crd_count", crd_count) - pulumi.set(__self__, "enable", enable) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "node_count", node_count) - pulumi.set(__self__, "other_count", other_count) - pulumi.set(__self__, "pod_count", pod_count) + pulumi.set(__self__, "effect", effect) + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "value", value) @property @pulumi.getter - def alias(self) -> str: - """ - Alias used for pass to cluster level arguments. - """ - return pulumi.get(self, "alias") - - @property - @pulumi.getter(name="configMapCount") - def config_map_count(self) -> int: - """ - Number of ConfigMaps. - """ - return pulumi.get(self, "config_map_count") - - @property - @pulumi.getter(name="crdCount") - def crd_count(self) -> int: + def effect(self) -> str: """ - Number of CRDs. + Effect of the taint. """ - return pulumi.get(self, "crd_count") + return pulumi.get(self, "effect") @property @pulumi.getter - def enable(self) -> bool: + def key(self) -> str: """ - Indicates whether the current level enabled. + Key of the taint. """ - return pulumi.get(self, "enable") + return pulumi.get(self, "key") @property @pulumi.getter - def name(self) -> str: - """ - Level name. - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter(name="nodeCount") - def node_count(self) -> int: - """ - Number of nodes. - """ - return pulumi.get(self, "node_count") - - @property - @pulumi.getter(name="otherCount") - def other_count(self) -> int: - """ - Number of others. - """ - return pulumi.get(self, "other_count") - - @property - @pulumi.getter(name="podCount") - def pod_count(self) -> int: + def value(self) -> str: """ - Number of pods. + Value of the taint. """ - return pulumi.get(self, "pod_count") + return pulumi.get(self, "value") @pulumi.output_type diff --git a/sdk/python/tencentcloud_iac_pulumi/kubernetes/scale_worker.py b/sdk/python/tencentcloud_iac_pulumi/kubernetes/scale_worker.py index d369cd042..709a564d1 100644 --- a/sdk/python/tencentcloud_iac_pulumi/kubernetes/scale_worker.py +++ b/sdk/python/tencentcloud_iac_pulumi/kubernetes/scale_worker.py @@ -544,6 +544,14 @@ def __init__(__self__, ``` + ## Import + + tke scale worker can be imported, e.g. + + ```sh + $ pulumi import tencentcloud:Kubernetes/scaleWorker:ScaleWorker test cls-xxx#ins-xxx + ``` + :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] cluster_id: ID of the cluster. @@ -664,6 +672,14 @@ def __init__(__self__, ``` + ## Import + + tke scale worker can be imported, e.g. + + ```sh + $ pulumi import tencentcloud:Kubernetes/scaleWorker:ScaleWorker test cls-xxx#ins-xxx + ``` + :param str resource_name: The name of the resource. :param ScaleWorkerArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. diff --git a/sdk/python/tencentcloud_iac_pulumi/mongodb/__init__.py b/sdk/python/tencentcloud_iac_pulumi/mongodb/__init__.py index 2503b27ed..7e73cf731 100644 --- a/sdk/python/tencentcloud_iac_pulumi/mongodb/__init__.py +++ b/sdk/python/tencentcloud_iac_pulumi/mongodb/__init__.py @@ -16,6 +16,8 @@ from .instance_account import * from .instance_backup import * from .instance_backup_download_task import * +from .instance_backup_rule import * +from .instance_transparent_data_encryption import * from .sharding_instance import * from .standby_instance import * from ._inputs import * diff --git a/sdk/python/tencentcloud_iac_pulumi/mongodb/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/mongodb/_inputs.py index a48256a5e..c549b815c 100644 --- a/sdk/python/tencentcloud_iac_pulumi/mongodb/_inputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/mongodb/_inputs.py @@ -15,6 +15,7 @@ 'InstanceBackupDownloadTaskBackupSetArgs', 'InstanceRemoveNodeListArgs', 'InstanceStandbyInstanceListArgs', + 'InstanceTransparentDataEncryptionKeyInfoListArgs', ] @pulumi.input_type @@ -224,3 +225,106 @@ def standby_instance_region(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "standby_instance_region", value) +@pulumi.input_type +class InstanceTransparentDataEncryptionKeyInfoListArgs: + def __init__(__self__, *, + create_time: Optional[pulumi.Input[str]] = None, + key_id: Optional[pulumi.Input[str]] = None, + key_name: Optional[pulumi.Input[str]] = None, + key_origin: Optional[pulumi.Input[str]] = None, + key_usage: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] create_time: Instance and key binding time. + :param pulumi.Input[str] key_id: Master Key ID. + :param pulumi.Input[str] key_name: Master key name. + :param pulumi.Input[str] key_origin: Key origin. + :param pulumi.Input[str] key_usage: Purpose of the key. + :param pulumi.Input[str] status: Key status. + """ + if create_time is not None: + pulumi.set(__self__, "create_time", create_time) + if key_id is not None: + pulumi.set(__self__, "key_id", key_id) + if key_name is not None: + pulumi.set(__self__, "key_name", key_name) + if key_origin is not None: + pulumi.set(__self__, "key_origin", key_origin) + if key_usage is not None: + pulumi.set(__self__, "key_usage", key_usage) + if status is not None: + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter(name="createTime") + def create_time(self) -> Optional[pulumi.Input[str]]: + """ + Instance and key binding time. + """ + return pulumi.get(self, "create_time") + + @create_time.setter + def create_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "create_time", value) + + @property + @pulumi.getter(name="keyId") + def key_id(self) -> Optional[pulumi.Input[str]]: + """ + Master Key ID. + """ + return pulumi.get(self, "key_id") + + @key_id.setter + def key_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key_id", value) + + @property + @pulumi.getter(name="keyName") + def key_name(self) -> Optional[pulumi.Input[str]]: + """ + Master key name. + """ + return pulumi.get(self, "key_name") + + @key_name.setter + def key_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key_name", value) + + @property + @pulumi.getter(name="keyOrigin") + def key_origin(self) -> Optional[pulumi.Input[str]]: + """ + Key origin. + """ + return pulumi.get(self, "key_origin") + + @key_origin.setter + def key_origin(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key_origin", value) + + @property + @pulumi.getter(name="keyUsage") + def key_usage(self) -> Optional[pulumi.Input[str]]: + """ + Purpose of the key. + """ + return pulumi.get(self, "key_usage") + + @key_usage.setter + def key_usage(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key_usage", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[str]]: + """ + Key status. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + diff --git a/sdk/python/tencentcloud_iac_pulumi/mongodb/instance_backup_rule.py b/sdk/python/tencentcloud_iac_pulumi/mongodb/instance_backup_rule.py new file mode 100644 index 000000000..37a7fb23c --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/mongodb/instance_backup_rule.py @@ -0,0 +1,326 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = ['InstanceBackupRuleArgs', 'InstanceBackupRule'] + +@pulumi.input_type +class InstanceBackupRuleArgs: + def __init__(__self__, *, + backup_method: pulumi.Input[int], + backup_time: pulumi.Input[int], + instance_id: pulumi.Input[str], + backup_retention_period: Optional[pulumi.Input[int]] = None): + """ + The set of arguments for constructing a InstanceBackupRule resource. + :param pulumi.Input[int] backup_method: Set automatic backup method. Valid values: + - 0: Logical backup; + - 1: Physical backup; + - 3: Snapshot backup (supported only in cloud disk version). + :param pulumi.Input[int] backup_time: Set the start time for automatic backup. The value range is: [0,23]. For example, setting this parameter to 2 means that backup starts at 02:00. + :param pulumi.Input[str] instance_id: Instance id. + :param pulumi.Input[int] backup_retention_period: Specify the number of days to save backup data. The default is 7 days, and the support settings are 7, 30, 90, 180, 365. + """ + pulumi.set(__self__, "backup_method", backup_method) + pulumi.set(__self__, "backup_time", backup_time) + pulumi.set(__self__, "instance_id", instance_id) + if backup_retention_period is not None: + pulumi.set(__self__, "backup_retention_period", backup_retention_period) + + @property + @pulumi.getter(name="backupMethod") + def backup_method(self) -> pulumi.Input[int]: + """ + Set automatic backup method. Valid values: + - 0: Logical backup; + - 1: Physical backup; + - 3: Snapshot backup (supported only in cloud disk version). + """ + return pulumi.get(self, "backup_method") + + @backup_method.setter + def backup_method(self, value: pulumi.Input[int]): + pulumi.set(self, "backup_method", value) + + @property + @pulumi.getter(name="backupTime") + def backup_time(self) -> pulumi.Input[int]: + """ + Set the start time for automatic backup. The value range is: [0,23]. For example, setting this parameter to 2 means that backup starts at 02:00. + """ + return pulumi.get(self, "backup_time") + + @backup_time.setter + def backup_time(self, value: pulumi.Input[int]): + pulumi.set(self, "backup_time", value) + + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Input[str]: + """ + Instance id. + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: pulumi.Input[str]): + pulumi.set(self, "instance_id", value) + + @property + @pulumi.getter(name="backupRetentionPeriod") + def backup_retention_period(self) -> Optional[pulumi.Input[int]]: + """ + Specify the number of days to save backup data. The default is 7 days, and the support settings are 7, 30, 90, 180, 365. + """ + return pulumi.get(self, "backup_retention_period") + + @backup_retention_period.setter + def backup_retention_period(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "backup_retention_period", value) + + +@pulumi.input_type +class _InstanceBackupRuleState: + def __init__(__self__, *, + backup_method: Optional[pulumi.Input[int]] = None, + backup_retention_period: Optional[pulumi.Input[int]] = None, + backup_time: Optional[pulumi.Input[int]] = None, + instance_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering InstanceBackupRule resources. + :param pulumi.Input[int] backup_method: Set automatic backup method. Valid values: + - 0: Logical backup; + - 1: Physical backup; + - 3: Snapshot backup (supported only in cloud disk version). + :param pulumi.Input[int] backup_retention_period: Specify the number of days to save backup data. The default is 7 days, and the support settings are 7, 30, 90, 180, 365. + :param pulumi.Input[int] backup_time: Set the start time for automatic backup. The value range is: [0,23]. For example, setting this parameter to 2 means that backup starts at 02:00. + :param pulumi.Input[str] instance_id: Instance id. + """ + if backup_method is not None: + pulumi.set(__self__, "backup_method", backup_method) + if backup_retention_period is not None: + pulumi.set(__self__, "backup_retention_period", backup_retention_period) + if backup_time is not None: + pulumi.set(__self__, "backup_time", backup_time) + if instance_id is not None: + pulumi.set(__self__, "instance_id", instance_id) + + @property + @pulumi.getter(name="backupMethod") + def backup_method(self) -> Optional[pulumi.Input[int]]: + """ + Set automatic backup method. Valid values: + - 0: Logical backup; + - 1: Physical backup; + - 3: Snapshot backup (supported only in cloud disk version). + """ + return pulumi.get(self, "backup_method") + + @backup_method.setter + def backup_method(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "backup_method", value) + + @property + @pulumi.getter(name="backupRetentionPeriod") + def backup_retention_period(self) -> Optional[pulumi.Input[int]]: + """ + Specify the number of days to save backup data. The default is 7 days, and the support settings are 7, 30, 90, 180, 365. + """ + return pulumi.get(self, "backup_retention_period") + + @backup_retention_period.setter + def backup_retention_period(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "backup_retention_period", value) + + @property + @pulumi.getter(name="backupTime") + def backup_time(self) -> Optional[pulumi.Input[int]]: + """ + Set the start time for automatic backup. The value range is: [0,23]. For example, setting this parameter to 2 means that backup starts at 02:00. + """ + return pulumi.get(self, "backup_time") + + @backup_time.setter + def backup_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "backup_time", value) + + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> Optional[pulumi.Input[str]]: + """ + Instance id. + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "instance_id", value) + + +class InstanceBackupRule(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + backup_method: Optional[pulumi.Input[int]] = None, + backup_retention_period: Optional[pulumi.Input[int]] = None, + backup_time: Optional[pulumi.Input[int]] = None, + instance_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to create mongodb backup rule + + ## Import + + mongodb backup_rule can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Mongodb/instanceBackupRule:InstanceBackupRule backup_rule ${instanceId} + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[int] backup_method: Set automatic backup method. Valid values: + - 0: Logical backup; + - 1: Physical backup; + - 3: Snapshot backup (supported only in cloud disk version). + :param pulumi.Input[int] backup_retention_period: Specify the number of days to save backup data. The default is 7 days, and the support settings are 7, 30, 90, 180, 365. + :param pulumi.Input[int] backup_time: Set the start time for automatic backup. The value range is: [0,23]. For example, setting this parameter to 2 means that backup starts at 02:00. + :param pulumi.Input[str] instance_id: Instance id. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: InstanceBackupRuleArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create mongodb backup rule + + ## Import + + mongodb backup_rule can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Mongodb/instanceBackupRule:InstanceBackupRule backup_rule ${instanceId} + ``` + + :param str resource_name: The name of the resource. + :param InstanceBackupRuleArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(InstanceBackupRuleArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + backup_method: Optional[pulumi.Input[int]] = None, + backup_retention_period: Optional[pulumi.Input[int]] = None, + backup_time: Optional[pulumi.Input[int]] = None, + instance_id: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = InstanceBackupRuleArgs.__new__(InstanceBackupRuleArgs) + + if backup_method is None and not opts.urn: + raise TypeError("Missing required property 'backup_method'") + __props__.__dict__["backup_method"] = backup_method + __props__.__dict__["backup_retention_period"] = backup_retention_period + if backup_time is None and not opts.urn: + raise TypeError("Missing required property 'backup_time'") + __props__.__dict__["backup_time"] = backup_time + if instance_id is None and not opts.urn: + raise TypeError("Missing required property 'instance_id'") + __props__.__dict__["instance_id"] = instance_id + super(InstanceBackupRule, __self__).__init__( + 'tencentcloud:Mongodb/instanceBackupRule:InstanceBackupRule', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + backup_method: Optional[pulumi.Input[int]] = None, + backup_retention_period: Optional[pulumi.Input[int]] = None, + backup_time: Optional[pulumi.Input[int]] = None, + instance_id: Optional[pulumi.Input[str]] = None) -> 'InstanceBackupRule': + """ + Get an existing InstanceBackupRule resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[int] backup_method: Set automatic backup method. Valid values: + - 0: Logical backup; + - 1: Physical backup; + - 3: Snapshot backup (supported only in cloud disk version). + :param pulumi.Input[int] backup_retention_period: Specify the number of days to save backup data. The default is 7 days, and the support settings are 7, 30, 90, 180, 365. + :param pulumi.Input[int] backup_time: Set the start time for automatic backup. The value range is: [0,23]. For example, setting this parameter to 2 means that backup starts at 02:00. + :param pulumi.Input[str] instance_id: Instance id. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _InstanceBackupRuleState.__new__(_InstanceBackupRuleState) + + __props__.__dict__["backup_method"] = backup_method + __props__.__dict__["backup_retention_period"] = backup_retention_period + __props__.__dict__["backup_time"] = backup_time + __props__.__dict__["instance_id"] = instance_id + return InstanceBackupRule(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="backupMethod") + def backup_method(self) -> pulumi.Output[int]: + """ + Set automatic backup method. Valid values: + - 0: Logical backup; + - 1: Physical backup; + - 3: Snapshot backup (supported only in cloud disk version). + """ + return pulumi.get(self, "backup_method") + + @property + @pulumi.getter(name="backupRetentionPeriod") + def backup_retention_period(self) -> pulumi.Output[int]: + """ + Specify the number of days to save backup data. The default is 7 days, and the support settings are 7, 30, 90, 180, 365. + """ + return pulumi.get(self, "backup_retention_period") + + @property + @pulumi.getter(name="backupTime") + def backup_time(self) -> pulumi.Output[int]: + """ + Set the start time for automatic backup. The value range is: [0,23]. For example, setting this parameter to 2 means that backup starts at 02:00. + """ + return pulumi.get(self, "backup_time") + + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Output[str]: + """ + Instance id. + """ + return pulumi.get(self, "instance_id") + diff --git a/sdk/python/tencentcloud_iac_pulumi/mongodb/instance_transparent_data_encryption.py b/sdk/python/tencentcloud_iac_pulumi/mongodb/instance_transparent_data_encryption.py new file mode 100644 index 000000000..3ab393791 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/mongodb/instance_transparent_data_encryption.py @@ -0,0 +1,356 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['InstanceTransparentDataEncryptionArgs', 'InstanceTransparentDataEncryption'] + +@pulumi.input_type +class InstanceTransparentDataEncryptionArgs: + def __init__(__self__, *, + instance_id: pulumi.Input[str], + kms_region: pulumi.Input[str], + key_id: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a InstanceTransparentDataEncryption resource. + :param pulumi.Input[str] instance_id: Instance ID, for example: cmgo-p8vn ***. Currently supported general versions include: 4.4 and 5.0, but the cloud disk version is not currently supported. + :param pulumi.Input[str] kms_region: The region where the Key Management Service (KMS) serves, such as ap-shanghai. + :param pulumi.Input[str] key_id: Key ID. If this parameter is not set and the specific key ID is not specified, Tencent Cloud will automatically generate + the key and this key will be beyond the control of Terraform. + """ + pulumi.set(__self__, "instance_id", instance_id) + pulumi.set(__self__, "kms_region", kms_region) + if key_id is not None: + pulumi.set(__self__, "key_id", key_id) + + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Input[str]: + """ + Instance ID, for example: cmgo-p8vn ***. Currently supported general versions include: 4.4 and 5.0, but the cloud disk version is not currently supported. + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: pulumi.Input[str]): + pulumi.set(self, "instance_id", value) + + @property + @pulumi.getter(name="kmsRegion") + def kms_region(self) -> pulumi.Input[str]: + """ + The region where the Key Management Service (KMS) serves, such as ap-shanghai. + """ + return pulumi.get(self, "kms_region") + + @kms_region.setter + def kms_region(self, value: pulumi.Input[str]): + pulumi.set(self, "kms_region", value) + + @property + @pulumi.getter(name="keyId") + def key_id(self) -> Optional[pulumi.Input[str]]: + """ + Key ID. If this parameter is not set and the specific key ID is not specified, Tencent Cloud will automatically generate + the key and this key will be beyond the control of Terraform. + """ + return pulumi.get(self, "key_id") + + @key_id.setter + def key_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key_id", value) + + +@pulumi.input_type +class _InstanceTransparentDataEncryptionState: + def __init__(__self__, *, + instance_id: Optional[pulumi.Input[str]] = None, + key_id: Optional[pulumi.Input[str]] = None, + key_info_lists: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceTransparentDataEncryptionKeyInfoListArgs']]]] = None, + kms_region: Optional[pulumi.Input[str]] = None, + transparent_data_encryption_status: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering InstanceTransparentDataEncryption resources. + :param pulumi.Input[str] instance_id: Instance ID, for example: cmgo-p8vn ***. Currently supported general versions include: 4.4 and 5.0, but the cloud disk version is not currently supported. + :param pulumi.Input[str] key_id: Key ID. If this parameter is not set and the specific key ID is not specified, Tencent Cloud will automatically generate + the key and this key will be beyond the control of Terraform. + :param pulumi.Input[Sequence[pulumi.Input['InstanceTransparentDataEncryptionKeyInfoListArgs']]] key_info_lists: List of bound keys. + :param pulumi.Input[str] kms_region: The region where the Key Management Service (KMS) serves, such as ap-shanghai. + :param pulumi.Input[str] transparent_data_encryption_status: Represents whether transparent encryption is turned on. Valid values: + - close: Not opened; + - open: It has been opened. + """ + if instance_id is not None: + pulumi.set(__self__, "instance_id", instance_id) + if key_id is not None: + pulumi.set(__self__, "key_id", key_id) + if key_info_lists is not None: + pulumi.set(__self__, "key_info_lists", key_info_lists) + if kms_region is not None: + pulumi.set(__self__, "kms_region", kms_region) + if transparent_data_encryption_status is not None: + pulumi.set(__self__, "transparent_data_encryption_status", transparent_data_encryption_status) + + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> Optional[pulumi.Input[str]]: + """ + Instance ID, for example: cmgo-p8vn ***. Currently supported general versions include: 4.4 and 5.0, but the cloud disk version is not currently supported. + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "instance_id", value) + + @property + @pulumi.getter(name="keyId") + def key_id(self) -> Optional[pulumi.Input[str]]: + """ + Key ID. If this parameter is not set and the specific key ID is not specified, Tencent Cloud will automatically generate + the key and this key will be beyond the control of Terraform. + """ + return pulumi.get(self, "key_id") + + @key_id.setter + def key_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key_id", value) + + @property + @pulumi.getter(name="keyInfoLists") + def key_info_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceTransparentDataEncryptionKeyInfoListArgs']]]]: + """ + List of bound keys. + """ + return pulumi.get(self, "key_info_lists") + + @key_info_lists.setter + def key_info_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceTransparentDataEncryptionKeyInfoListArgs']]]]): + pulumi.set(self, "key_info_lists", value) + + @property + @pulumi.getter(name="kmsRegion") + def kms_region(self) -> Optional[pulumi.Input[str]]: + """ + The region where the Key Management Service (KMS) serves, such as ap-shanghai. + """ + return pulumi.get(self, "kms_region") + + @kms_region.setter + def kms_region(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "kms_region", value) + + @property + @pulumi.getter(name="transparentDataEncryptionStatus") + def transparent_data_encryption_status(self) -> Optional[pulumi.Input[str]]: + """ + Represents whether transparent encryption is turned on. Valid values: + - close: Not opened; + - open: It has been opened. + """ + return pulumi.get(self, "transparent_data_encryption_status") + + @transparent_data_encryption_status.setter + def transparent_data_encryption_status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "transparent_data_encryption_status", value) + + +class InstanceTransparentDataEncryption(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + instance_id: Optional[pulumi.Input[str]] = None, + key_id: Optional[pulumi.Input[str]] = None, + kms_region: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to enable mongodb transparent data encryption + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + encryption = tencentcloud.mongodb.InstanceTransparentDataEncryption("encryption", + instance_id="cmgo-xxxxxx", + kms_region="ap-guangzhou") + ``` + + + ## Import + + mongodb transparent data encryption can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Mongodb/instanceTransparentDataEncryption:InstanceTransparentDataEncryption encryption ${instanceId} + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] instance_id: Instance ID, for example: cmgo-p8vn ***. Currently supported general versions include: 4.4 and 5.0, but the cloud disk version is not currently supported. + :param pulumi.Input[str] key_id: Key ID. If this parameter is not set and the specific key ID is not specified, Tencent Cloud will automatically generate + the key and this key will be beyond the control of Terraform. + :param pulumi.Input[str] kms_region: The region where the Key Management Service (KMS) serves, such as ap-shanghai. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: InstanceTransparentDataEncryptionArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to enable mongodb transparent data encryption + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + encryption = tencentcloud.mongodb.InstanceTransparentDataEncryption("encryption", + instance_id="cmgo-xxxxxx", + kms_region="ap-guangzhou") + ``` + + + ## Import + + mongodb transparent data encryption can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Mongodb/instanceTransparentDataEncryption:InstanceTransparentDataEncryption encryption ${instanceId} + ``` + + :param str resource_name: The name of the resource. + :param InstanceTransparentDataEncryptionArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(InstanceTransparentDataEncryptionArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + instance_id: Optional[pulumi.Input[str]] = None, + key_id: Optional[pulumi.Input[str]] = None, + kms_region: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = InstanceTransparentDataEncryptionArgs.__new__(InstanceTransparentDataEncryptionArgs) + + if instance_id is None and not opts.urn: + raise TypeError("Missing required property 'instance_id'") + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["key_id"] = key_id + if kms_region is None and not opts.urn: + raise TypeError("Missing required property 'kms_region'") + __props__.__dict__["kms_region"] = kms_region + __props__.__dict__["key_info_lists"] = None + __props__.__dict__["transparent_data_encryption_status"] = None + super(InstanceTransparentDataEncryption, __self__).__init__( + 'tencentcloud:Mongodb/instanceTransparentDataEncryption:InstanceTransparentDataEncryption', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + instance_id: Optional[pulumi.Input[str]] = None, + key_id: Optional[pulumi.Input[str]] = None, + key_info_lists: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceTransparentDataEncryptionKeyInfoListArgs']]]]] = None, + kms_region: Optional[pulumi.Input[str]] = None, + transparent_data_encryption_status: Optional[pulumi.Input[str]] = None) -> 'InstanceTransparentDataEncryption': + """ + Get an existing InstanceTransparentDataEncryption resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] instance_id: Instance ID, for example: cmgo-p8vn ***. Currently supported general versions include: 4.4 and 5.0, but the cloud disk version is not currently supported. + :param pulumi.Input[str] key_id: Key ID. If this parameter is not set and the specific key ID is not specified, Tencent Cloud will automatically generate + the key and this key will be beyond the control of Terraform. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceTransparentDataEncryptionKeyInfoListArgs']]]] key_info_lists: List of bound keys. + :param pulumi.Input[str] kms_region: The region where the Key Management Service (KMS) serves, such as ap-shanghai. + :param pulumi.Input[str] transparent_data_encryption_status: Represents whether transparent encryption is turned on. Valid values: + - close: Not opened; + - open: It has been opened. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _InstanceTransparentDataEncryptionState.__new__(_InstanceTransparentDataEncryptionState) + + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["key_id"] = key_id + __props__.__dict__["key_info_lists"] = key_info_lists + __props__.__dict__["kms_region"] = kms_region + __props__.__dict__["transparent_data_encryption_status"] = transparent_data_encryption_status + return InstanceTransparentDataEncryption(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Output[str]: + """ + Instance ID, for example: cmgo-p8vn ***. Currently supported general versions include: 4.4 and 5.0, but the cloud disk version is not currently supported. + """ + return pulumi.get(self, "instance_id") + + @property + @pulumi.getter(name="keyId") + def key_id(self) -> pulumi.Output[Optional[str]]: + """ + Key ID. If this parameter is not set and the specific key ID is not specified, Tencent Cloud will automatically generate + the key and this key will be beyond the control of Terraform. + """ + return pulumi.get(self, "key_id") + + @property + @pulumi.getter(name="keyInfoLists") + def key_info_lists(self) -> pulumi.Output[Sequence['outputs.InstanceTransparentDataEncryptionKeyInfoList']]: + """ + List of bound keys. + """ + return pulumi.get(self, "key_info_lists") + + @property + @pulumi.getter(name="kmsRegion") + def kms_region(self) -> pulumi.Output[str]: + """ + The region where the Key Management Service (KMS) serves, such as ap-shanghai. + """ + return pulumi.get(self, "kms_region") + + @property + @pulumi.getter(name="transparentDataEncryptionStatus") + def transparent_data_encryption_status(self) -> pulumi.Output[str]: + """ + Represents whether transparent encryption is turned on. Valid values: + - close: Not opened; + - open: It has been opened. + """ + return pulumi.get(self, "transparent_data_encryption_status") + diff --git a/sdk/python/tencentcloud_iac_pulumi/mongodb/outputs.py b/sdk/python/tencentcloud_iac_pulumi/mongodb/outputs.py index a160e8e06..ca515a40f 100644 --- a/sdk/python/tencentcloud_iac_pulumi/mongodb/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/mongodb/outputs.py @@ -15,6 +15,7 @@ 'InstanceBackupDownloadTaskBackupSet', 'InstanceRemoveNodeList', 'InstanceStandbyInstanceList', + 'InstanceTransparentDataEncryptionKeyInfoList', 'GetInstanceBackupsBackupListResult', 'GetInstanceConnectionsClientResult', 'GetInstanceCurrentOpCurrentOpResult', @@ -246,6 +247,110 @@ def standby_instance_region(self) -> Optional[str]: return pulumi.get(self, "standby_instance_region") +@pulumi.output_type +class InstanceTransparentDataEncryptionKeyInfoList(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "createTime": + suggest = "create_time" + elif key == "keyId": + suggest = "key_id" + elif key == "keyName": + suggest = "key_name" + elif key == "keyOrigin": + suggest = "key_origin" + elif key == "keyUsage": + suggest = "key_usage" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in InstanceTransparentDataEncryptionKeyInfoList. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + InstanceTransparentDataEncryptionKeyInfoList.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + InstanceTransparentDataEncryptionKeyInfoList.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + create_time: Optional[str] = None, + key_id: Optional[str] = None, + key_name: Optional[str] = None, + key_origin: Optional[str] = None, + key_usage: Optional[str] = None, + status: Optional[str] = None): + """ + :param str create_time: Instance and key binding time. + :param str key_id: Master Key ID. + :param str key_name: Master key name. + :param str key_origin: Key origin. + :param str key_usage: Purpose of the key. + :param str status: Key status. + """ + if create_time is not None: + pulumi.set(__self__, "create_time", create_time) + if key_id is not None: + pulumi.set(__self__, "key_id", key_id) + if key_name is not None: + pulumi.set(__self__, "key_name", key_name) + if key_origin is not None: + pulumi.set(__self__, "key_origin", key_origin) + if key_usage is not None: + pulumi.set(__self__, "key_usage", key_usage) + if status is not None: + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter(name="createTime") + def create_time(self) -> Optional[str]: + """ + Instance and key binding time. + """ + return pulumi.get(self, "create_time") + + @property + @pulumi.getter(name="keyId") + def key_id(self) -> Optional[str]: + """ + Master Key ID. + """ + return pulumi.get(self, "key_id") + + @property + @pulumi.getter(name="keyName") + def key_name(self) -> Optional[str]: + """ + Master key name. + """ + return pulumi.get(self, "key_name") + + @property + @pulumi.getter(name="keyOrigin") + def key_origin(self) -> Optional[str]: + """ + Key origin. + """ + return pulumi.get(self, "key_origin") + + @property + @pulumi.getter(name="keyUsage") + def key_usage(self) -> Optional[str]: + """ + Purpose of the key. + """ + return pulumi.get(self, "key_usage") + + @property + @pulumi.getter + def status(self) -> Optional[str]: + """ + Key status. + """ + return pulumi.get(self, "status") + + @pulumi.output_type class GetInstanceBackupsBackupListResult(dict): def __init__(__self__, *, diff --git a/sdk/python/tencentcloud_iac_pulumi/postgresql/instance.py b/sdk/python/tencentcloud_iac_pulumi/postgresql/instance.py index 9578e5f70..18ee3a5c2 100644 --- a/sdk/python/tencentcloud_iac_pulumi/postgresql/instance.py +++ b/sdk/python/tencentcloud_iac_pulumi/postgresql/instance.py @@ -61,10 +61,10 @@ def __init__(__self__, *, :param pulumi.Input[str] charset: Charset of the root account. Valid values are `UTF8`,`LATIN1`. :param pulumi.Input[int] cpu: Number of CPU cores. Allowed value must be equal `cpu` that data source `postgresql_get_specinfos` provides. :param pulumi.Input[str] db_kernel_version: PostgreSQL kernel version number. If it is specified, an instance running kernel DBKernelVersion will be created. It supports updating the minor kernel version immediately. - :param pulumi.Input[str] db_major_version: PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. - :param pulumi.Input[str] db_major_vesion: `db_major_vesion` will be deprecated, use `db_major_version` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. + :param pulumi.Input[str] db_major_version: PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. + :param pulumi.Input[str] db_major_vesion: `db_major_vesion` will be deprecated, use `db_major_version` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. :param pulumi.Input[Sequence[pulumi.Input['InstanceDbNodeSetArgs']]] db_node_sets: Specify instance node info for disaster migration. - :param pulumi.Input[str] engine_version: Version of the postgresql database engine. Valid values: `10.4`, `11.8`, `12.4`. + :param pulumi.Input[str] engine_version: Version of the postgresql database engine. Valid values: `10.4`, `10.17`, `10.23`, `11.8`, `11.12`, `11.22`, `12.4`, `12.7`, `12.18`, `13.3`, `14.2`, `14.11`, `15.1`, `16.0`. :param pulumi.Input[str] kms_key_id: KeyId of the custom key. :param pulumi.Input[str] kms_region: Region of the custom key. :param pulumi.Input[int] max_standby_archive_delay: max_standby_archive_delay applies when WAL data is being read from WAL archive (and is therefore not current). Units are milliseconds if not specified. @@ -297,7 +297,7 @@ def db_kernel_version(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="dbMajorVersion") def db_major_version(self) -> Optional[pulumi.Input[str]]: """ - PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. + PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. """ return pulumi.get(self, "db_major_version") @@ -309,7 +309,7 @@ def db_major_version(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="dbMajorVesion") def db_major_vesion(self) -> Optional[pulumi.Input[str]]: """ - `db_major_vesion` will be deprecated, use `db_major_version` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. + `db_major_vesion` will be deprecated, use `db_major_version` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. """ warnings.warn("""`db_major_vesion` will be deprecated, use `db_major_version` instead.""", DeprecationWarning) pulumi.log.warn("""db_major_vesion is deprecated: `db_major_vesion` will be deprecated, use `db_major_version` instead.""") @@ -336,7 +336,7 @@ def db_node_sets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Insta @pulumi.getter(name="engineVersion") def engine_version(self) -> Optional[pulumi.Input[str]]: """ - Version of the postgresql database engine. Valid values: `10.4`, `11.8`, `12.4`. + Version of the postgresql database engine. Valid values: `10.4`, `10.17`, `10.23`, `11.8`, `11.12`, `11.22`, `12.4`, `12.7`, `12.18`, `13.3`, `14.2`, `14.11`, `15.1`, `16.0`. """ return pulumi.get(self, "engine_version") @@ -551,10 +551,10 @@ def __init__(__self__, *, :param pulumi.Input[int] cpu: Number of CPU cores. Allowed value must be equal `cpu` that data source `postgresql_get_specinfos` provides. :param pulumi.Input[str] create_time: Create time of the postgresql instance. :param pulumi.Input[str] db_kernel_version: PostgreSQL kernel version number. If it is specified, an instance running kernel DBKernelVersion will be created. It supports updating the minor kernel version immediately. - :param pulumi.Input[str] db_major_version: PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. - :param pulumi.Input[str] db_major_vesion: `db_major_vesion` will be deprecated, use `db_major_version` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. + :param pulumi.Input[str] db_major_version: PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. + :param pulumi.Input[str] db_major_vesion: `db_major_vesion` will be deprecated, use `db_major_version` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. :param pulumi.Input[Sequence[pulumi.Input['InstanceDbNodeSetArgs']]] db_node_sets: Specify instance node info for disaster migration. - :param pulumi.Input[str] engine_version: Version of the postgresql database engine. Valid values: `10.4`, `11.8`, `12.4`. + :param pulumi.Input[str] engine_version: Version of the postgresql database engine. Valid values: `10.4`, `10.17`, `10.23`, `11.8`, `11.12`, `11.22`, `12.4`, `12.7`, `12.18`, `13.3`, `14.2`, `14.11`, `15.1`, `16.0`. :param pulumi.Input[str] kms_key_id: KeyId of the custom key. :param pulumi.Input[str] kms_region: Region of the custom key. :param pulumi.Input[int] max_standby_archive_delay: max_standby_archive_delay applies when WAL data is being read from WAL archive (and is therefore not current). Units are milliseconds if not specified. @@ -767,7 +767,7 @@ def db_kernel_version(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="dbMajorVersion") def db_major_version(self) -> Optional[pulumi.Input[str]]: """ - PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. + PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. """ return pulumi.get(self, "db_major_version") @@ -779,7 +779,7 @@ def db_major_version(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="dbMajorVesion") def db_major_vesion(self) -> Optional[pulumi.Input[str]]: """ - `db_major_vesion` will be deprecated, use `db_major_version` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. + `db_major_vesion` will be deprecated, use `db_major_version` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. """ warnings.warn("""`db_major_vesion` will be deprecated, use `db_major_version` instead.""", DeprecationWarning) pulumi.log.warn("""db_major_vesion is deprecated: `db_major_vesion` will be deprecated, use `db_major_version` instead.""") @@ -806,7 +806,7 @@ def db_node_sets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Insta @pulumi.getter(name="engineVersion") def engine_version(self) -> Optional[pulumi.Input[str]]: """ - Version of the postgresql database engine. Valid values: `10.4`, `11.8`, `12.4`. + Version of the postgresql database engine. Valid values: `10.4`, `10.17`, `10.23`, `11.8`, `11.12`, `11.22`, `12.4`, `12.7`, `12.18`, `13.3`, `14.2`, `14.11`, `15.1`, `16.0`. """ return pulumi.get(self, "engine_version") @@ -1131,6 +1131,7 @@ def __init__(__self__, Use this resource to create postgresql instance. > **Note:** To update the charge type, please update the `charge_type` and specify the `period` for the charging period. It only supports updating from `POSTPAID_BY_HOUR` to `PREPAID`, and the `period` field only valid in that upgrading case. + **Note:** If no values are set for the two parameters: `db_major_version` and `engine_version`, then `engine_version` is set to `10.4` by default. Suggest using parameter `db_major_version` to create an instance ## Example Usage @@ -1142,7 +1143,7 @@ def __init__(__self__, config = pulumi.Config() availability_zone = config.get("availabilityZone") if availability_zone is None: - availability_zone = "ap-guangzhou-1" + availability_zone = "ap-guangzhou-3" # create vpc vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") # create vpc subnet @@ -1152,16 +1153,18 @@ def __init__(__self__, cidr_block="10.0.20.0/28", is_multicast=False) # create postgresql - foo = tencentcloud.postgresql.Instance("foo", + example = tencentcloud.postgresql.Instance("example", availability_zone=availability_zone, charge_type="POSTPAID_BY_HOUR", vpc_id=vpc.id, subnet_id=subnet.id, - engine_version="10.4", + db_major_version="10", + engine_version="10.23", root_user="root123", root_password="Root123$", charset="UTF8", project_id=0, + cpu=1, memory=2, storage=10, tags={ @@ -1193,12 +1196,12 @@ def __init__(__self__, cidr_block="10.0.20.0/28", is_multicast=False) # create postgresql - foo = tencentcloud.postgresql.Instance("foo", + example = tencentcloud.postgresql.Instance("example", availability_zone=availability_zone, charge_type="POSTPAID_BY_HOUR", vpc_id=vpc.id, subnet_id=subnet.id, - engine_version="10.4", + db_major_version="10", root_user="root123", root_password="Root123$", charset="UTF8", @@ -1228,33 +1231,38 @@ def __init__(__self__, import pulumi import tencentcloud_iac_pulumi as tencentcloud - pg = tencentcloud.postgresql.Instance("pg", - availability_zone="ap-guangzhou-6", - backup_plan=tencentcloud.postgresql.InstanceBackupPlanArgs( - backup_periods=[ - "tuesday", - "wednesday", - ], - base_backup_retention_period=7, - max_backup_start_time="01:10:11", - min_backup_start_time="00:10:11", - ), + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-6" + example = tencentcloud.postgresql.Instance("example", + availability_zone=availability_zone, charge_type="POSTPAID_BY_HOUR", - charset="LATIN1", - db_kernel_version="v11.12_r1.3", + vpc_id="vpc-86v957zb", + subnet_id="subnet-enm92y0m", + db_major_version="11", engine_version="11.12", + db_kernel_version="v11.12_r1.3", + need_support_tde=1, kms_key_id="788c606a-c7b7-11ec-82d1-5254001e5c4e", kms_region="ap-guangzhou", - memory=4, - need_support_tde=1, + root_password="Root123$", + charset="LATIN1", project_id=0, - root_password="xxxxxxxxxx", + memory=4, storage=100, - subnet_id="subnet-enm92y0m", + backup_plan=tencentcloud.postgresql.InstanceBackupPlanArgs( + min_backup_start_time="00:10:11", + max_backup_start_time="01:10:11", + base_backup_retention_period=7, + backup_periods=[ + "tuesday", + "wednesday", + ], + ), tags={ "tf": "test", - }, - vpc_id="vpc-86v957zb") + }) ``` @@ -1265,17 +1273,21 @@ def __init__(__self__, import pulumi import tencentcloud_iac_pulumi as tencentcloud - test = tencentcloud.postgresql.Instance("test", - availability_zone=data["tencentcloud_availability_zones_by_product"]["zone"]["zones"][5]["name"], + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-6" + example = tencentcloud.postgresql.Instance("example", + availability_zone=availability_zone, charge_type="POSTPAID_BY_HOUR", - vpc_id=local["vpc_id"], - subnet_id=local["subnet_id"], + vpc_id="vpc-86v957zb", + subnet_id="subnet-enm92y0m", engine_version="13.3", - root_password="*", + root_password="Root123$", charset="LATIN1", project_id=0, public_access_switch=False, - security_groups=[local["sg_id"]], + security_groups=["sg-cm7fbbf3"], memory=4, storage=250, backup_plan=tencentcloud.postgresql.InstanceBackupPlanArgs( @@ -1290,7 +1302,7 @@ def __init__(__self__, ), db_kernel_version="v13.3_r1.4", tags={ - "tf": "teest", + "tf": "test", }) ``` @@ -1300,7 +1312,7 @@ def __init__(__self__, postgresql instance can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Postgresql/instance:Instance foo postgres-cda1iex1 + $ pulumi import tencentcloud:Postgresql/instance:Instance example postgres-cda1iex1 ``` :param str resource_name: The name of the resource. @@ -1313,10 +1325,10 @@ def __init__(__self__, :param pulumi.Input[str] charset: Charset of the root account. Valid values are `UTF8`,`LATIN1`. :param pulumi.Input[int] cpu: Number of CPU cores. Allowed value must be equal `cpu` that data source `postgresql_get_specinfos` provides. :param pulumi.Input[str] db_kernel_version: PostgreSQL kernel version number. If it is specified, an instance running kernel DBKernelVersion will be created. It supports updating the minor kernel version immediately. - :param pulumi.Input[str] db_major_version: PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. - :param pulumi.Input[str] db_major_vesion: `db_major_vesion` will be deprecated, use `db_major_version` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. + :param pulumi.Input[str] db_major_version: PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. + :param pulumi.Input[str] db_major_vesion: `db_major_vesion` will be deprecated, use `db_major_version` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceDbNodeSetArgs']]]] db_node_sets: Specify instance node info for disaster migration. - :param pulumi.Input[str] engine_version: Version of the postgresql database engine. Valid values: `10.4`, `11.8`, `12.4`. + :param pulumi.Input[str] engine_version: Version of the postgresql database engine. Valid values: `10.4`, `10.17`, `10.23`, `11.8`, `11.12`, `11.22`, `12.4`, `12.7`, `12.18`, `13.3`, `14.2`, `14.11`, `15.1`, `16.0`. :param pulumi.Input[str] kms_key_id: KeyId of the custom key. :param pulumi.Input[str] kms_region: Region of the custom key. :param pulumi.Input[int] max_standby_archive_delay: max_standby_archive_delay applies when WAL data is being read from WAL archive (and is therefore not current). Units are milliseconds if not specified. @@ -1346,6 +1358,7 @@ def __init__(__self__, Use this resource to create postgresql instance. > **Note:** To update the charge type, please update the `charge_type` and specify the `period` for the charging period. It only supports updating from `POSTPAID_BY_HOUR` to `PREPAID`, and the `period` field only valid in that upgrading case. + **Note:** If no values are set for the two parameters: `db_major_version` and `engine_version`, then `engine_version` is set to `10.4` by default. Suggest using parameter `db_major_version` to create an instance ## Example Usage @@ -1357,7 +1370,7 @@ def __init__(__self__, config = pulumi.Config() availability_zone = config.get("availabilityZone") if availability_zone is None: - availability_zone = "ap-guangzhou-1" + availability_zone = "ap-guangzhou-3" # create vpc vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") # create vpc subnet @@ -1367,16 +1380,18 @@ def __init__(__self__, cidr_block="10.0.20.0/28", is_multicast=False) # create postgresql - foo = tencentcloud.postgresql.Instance("foo", + example = tencentcloud.postgresql.Instance("example", availability_zone=availability_zone, charge_type="POSTPAID_BY_HOUR", vpc_id=vpc.id, subnet_id=subnet.id, - engine_version="10.4", + db_major_version="10", + engine_version="10.23", root_user="root123", root_password="Root123$", charset="UTF8", project_id=0, + cpu=1, memory=2, storage=10, tags={ @@ -1408,12 +1423,12 @@ def __init__(__self__, cidr_block="10.0.20.0/28", is_multicast=False) # create postgresql - foo = tencentcloud.postgresql.Instance("foo", + example = tencentcloud.postgresql.Instance("example", availability_zone=availability_zone, charge_type="POSTPAID_BY_HOUR", vpc_id=vpc.id, subnet_id=subnet.id, - engine_version="10.4", + db_major_version="10", root_user="root123", root_password="Root123$", charset="UTF8", @@ -1443,33 +1458,38 @@ def __init__(__self__, import pulumi import tencentcloud_iac_pulumi as tencentcloud - pg = tencentcloud.postgresql.Instance("pg", - availability_zone="ap-guangzhou-6", - backup_plan=tencentcloud.postgresql.InstanceBackupPlanArgs( - backup_periods=[ - "tuesday", - "wednesday", - ], - base_backup_retention_period=7, - max_backup_start_time="01:10:11", - min_backup_start_time="00:10:11", - ), + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-6" + example = tencentcloud.postgresql.Instance("example", + availability_zone=availability_zone, charge_type="POSTPAID_BY_HOUR", - charset="LATIN1", - db_kernel_version="v11.12_r1.3", + vpc_id="vpc-86v957zb", + subnet_id="subnet-enm92y0m", + db_major_version="11", engine_version="11.12", + db_kernel_version="v11.12_r1.3", + need_support_tde=1, kms_key_id="788c606a-c7b7-11ec-82d1-5254001e5c4e", kms_region="ap-guangzhou", - memory=4, - need_support_tde=1, + root_password="Root123$", + charset="LATIN1", project_id=0, - root_password="xxxxxxxxxx", + memory=4, storage=100, - subnet_id="subnet-enm92y0m", + backup_plan=tencentcloud.postgresql.InstanceBackupPlanArgs( + min_backup_start_time="00:10:11", + max_backup_start_time="01:10:11", + base_backup_retention_period=7, + backup_periods=[ + "tuesday", + "wednesday", + ], + ), tags={ "tf": "test", - }, - vpc_id="vpc-86v957zb") + }) ``` @@ -1480,17 +1500,21 @@ def __init__(__self__, import pulumi import tencentcloud_iac_pulumi as tencentcloud - test = tencentcloud.postgresql.Instance("test", - availability_zone=data["tencentcloud_availability_zones_by_product"]["zone"]["zones"][5]["name"], + config = pulumi.Config() + availability_zone = config.get("availabilityZone") + if availability_zone is None: + availability_zone = "ap-guangzhou-6" + example = tencentcloud.postgresql.Instance("example", + availability_zone=availability_zone, charge_type="POSTPAID_BY_HOUR", - vpc_id=local["vpc_id"], - subnet_id=local["subnet_id"], + vpc_id="vpc-86v957zb", + subnet_id="subnet-enm92y0m", engine_version="13.3", - root_password="*", + root_password="Root123$", charset="LATIN1", project_id=0, public_access_switch=False, - security_groups=[local["sg_id"]], + security_groups=["sg-cm7fbbf3"], memory=4, storage=250, backup_plan=tencentcloud.postgresql.InstanceBackupPlanArgs( @@ -1505,7 +1529,7 @@ def __init__(__self__, ), db_kernel_version="v13.3_r1.4", tags={ - "tf": "teest", + "tf": "test", }) ``` @@ -1515,7 +1539,7 @@ def __init__(__self__, postgresql instance can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Postgresql/instance:Instance foo postgres-cda1iex1 + $ pulumi import tencentcloud:Postgresql/instance:Instance example postgres-cda1iex1 ``` :param str resource_name: The name of the resource. @@ -1684,10 +1708,10 @@ def get(resource_name: str, :param pulumi.Input[int] cpu: Number of CPU cores. Allowed value must be equal `cpu` that data source `postgresql_get_specinfos` provides. :param pulumi.Input[str] create_time: Create time of the postgresql instance. :param pulumi.Input[str] db_kernel_version: PostgreSQL kernel version number. If it is specified, an instance running kernel DBKernelVersion will be created. It supports updating the minor kernel version immediately. - :param pulumi.Input[str] db_major_version: PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. - :param pulumi.Input[str] db_major_vesion: `db_major_vesion` will be deprecated, use `db_major_version` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. + :param pulumi.Input[str] db_major_version: PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. + :param pulumi.Input[str] db_major_vesion: `db_major_vesion` will be deprecated, use `db_major_version` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceDbNodeSetArgs']]]] db_node_sets: Specify instance node info for disaster migration. - :param pulumi.Input[str] engine_version: Version of the postgresql database engine. Valid values: `10.4`, `11.8`, `12.4`. + :param pulumi.Input[str] engine_version: Version of the postgresql database engine. Valid values: `10.4`, `10.17`, `10.23`, `11.8`, `11.12`, `11.22`, `12.4`, `12.7`, `12.18`, `13.3`, `14.2`, `14.11`, `15.1`, `16.0`. :param pulumi.Input[str] kms_key_id: KeyId of the custom key. :param pulumi.Input[str] kms_region: Region of the custom key. :param pulumi.Input[int] max_standby_archive_delay: max_standby_archive_delay applies when WAL data is being read from WAL archive (and is therefore not current). Units are milliseconds if not specified. @@ -1830,7 +1854,7 @@ def db_kernel_version(self) -> pulumi.Output[str]: @pulumi.getter(name="dbMajorVersion") def db_major_version(self) -> pulumi.Output[str]: """ - PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. + PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. """ return pulumi.get(self, "db_major_version") @@ -1838,7 +1862,7 @@ def db_major_version(self) -> pulumi.Output[str]: @pulumi.getter(name="dbMajorVesion") def db_major_vesion(self) -> pulumi.Output[str]: """ - `db_major_vesion` will be deprecated, use `db_major_version` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. + `db_major_vesion` will be deprecated, use `db_major_version` instead. PostgreSQL major version number. Valid values: 10, 11, 12, 13, 14, 15, 16. If it is specified, an instance running the latest kernel of PostgreSQL DBMajorVersion will be created. """ warnings.warn("""`db_major_vesion` will be deprecated, use `db_major_version` instead.""", DeprecationWarning) pulumi.log.warn("""db_major_vesion is deprecated: `db_major_vesion` will be deprecated, use `db_major_version` instead.""") @@ -1855,9 +1879,9 @@ def db_node_sets(self) -> pulumi.Output[Optional[Sequence['outputs.InstanceDbNod @property @pulumi.getter(name="engineVersion") - def engine_version(self) -> pulumi.Output[Optional[str]]: + def engine_version(self) -> pulumi.Output[str]: """ - Version of the postgresql database engine. Valid values: `10.4`, `11.8`, `12.4`. + Version of the postgresql database engine. Valid values: `10.4`, `10.17`, `10.23`, `11.8`, `11.12`, `11.22`, `12.4`, `12.7`, `12.18`, `13.3`, `14.2`, `14.11`, `15.1`, `16.0`. """ return pulumi.get(self, "engine_version") diff --git a/sdk/python/tencentcloud_iac_pulumi/ssl/free_certificate.py b/sdk/python/tencentcloud_iac_pulumi/ssl/free_certificate.py index 2a135869c..5166b964b 100644 --- a/sdk/python/tencentcloud_iac_pulumi/ssl/free_certificate.py +++ b/sdk/python/tencentcloud_iac_pulumi/ssl/free_certificate.py @@ -39,9 +39,9 @@ def __init__(__self__, *, :param pulumi.Input[str] csr_key_parameter: Specify CSR key parameter, only support `"2048"` for now. :param pulumi.Input[str] csr_key_password: Specify CSR key password. :param pulumi.Input[str] old_certificate_id: Specify old certificate ID, used for re-apply. - :param pulumi.Input[str] package_type: Type of package. Only support `"2"` (TrustAsia TLS RSA CA). + :param pulumi.Input[str] package_type: Type of package. Only support `"83"` (TrustAsia TLS RSA CA). :param pulumi.Input[int] project_id: ID of projects which this certification belong to. - :param pulumi.Input[str] validity_period: Specify validity period in month, only support `"12"` months for now. + :param pulumi.Input[str] validity_period: Specify validity period in month, only support `"3"` months for now. """ pulumi.set(__self__, "domain", domain) pulumi.set(__self__, "dv_auth_method", dv_auth_method) @@ -178,7 +178,7 @@ def old_certificate_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="packageType") def package_type(self) -> Optional[pulumi.Input[str]]: """ - Type of package. Only support `"2"` (TrustAsia TLS RSA CA). + Type of package. Only support `"83"` (TrustAsia TLS RSA CA). """ return pulumi.get(self, "package_type") @@ -202,7 +202,7 @@ def project_id(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="validityPeriod") def validity_period(self) -> Optional[pulumi.Input[str]]: """ - Specify validity period in month, only support `"12"` months for now. + Specify validity period in month, only support `"3"` months for now. """ return pulumi.get(self, "validity_period") @@ -257,14 +257,14 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input['FreeCertificateDvAuthArgs']]] dv_auths: DV certification information. :param pulumi.Input[str] insert_time: Certificate insert time. :param pulumi.Input[str] old_certificate_id: Specify old certificate ID, used for re-apply. - :param pulumi.Input[str] package_type: Type of package. Only support `"2"` (TrustAsia TLS RSA CA). + :param pulumi.Input[str] package_type: Type of package. Only support `"83"` (TrustAsia TLS RSA CA). :param pulumi.Input[str] product_zh_name: Product zh name. :param pulumi.Input[int] project_id: ID of projects which this certification belong to. :param pulumi.Input[bool] renewable: Indicates whether the certificate renewable. :param pulumi.Input[int] status: Certificate status. 0 = Approving, 1 = Approved, 2 = Approve failed, 3 = expired, 4 = DNS record added, 5 = OV/EV Certificate and confirm letter needed, 6 = Order canceling, 7 = Order canceled, 8 = Submitted and confirm letter needed, 9 = Revoking, 10 = Revoked, 11 = re-applying, 12 = Revoke and confirm letter needed, 13 = Free SSL and confirm letter needed. :param pulumi.Input[str] status_msg: Certificate status message. :param pulumi.Input[str] status_name: Certificate status name. - :param pulumi.Input[str] validity_period: Specify validity period in month, only support `"12"` months for now. + :param pulumi.Input[str] validity_period: Specify validity period in month, only support `"3"` months for now. :param pulumi.Input[str] vulnerability_status: Vulnerability status. """ if alias is not None: @@ -514,7 +514,7 @@ def old_certificate_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="packageType") def package_type(self) -> Optional[pulumi.Input[str]]: """ - Type of package. Only support `"2"` (TrustAsia TLS RSA CA). + Type of package. Only support `"83"` (TrustAsia TLS RSA CA). """ return pulumi.get(self, "package_type") @@ -598,7 +598,7 @@ def status_name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="validityPeriod") def validity_period(self) -> Optional[pulumi.Input[str]]: """ - Specify validity period in month, only support `"12"` months for now. + Specify validity period in month, only support `"3"` months for now. """ return pulumi.get(self, "validity_period") @@ -684,9 +684,9 @@ def __init__(__self__, :param pulumi.Input[str] domain: Specify domain name. :param pulumi.Input[str] dv_auth_method: Specify DV authorize method. Available values: `DNS_AUTO` - automatic DNS auth, `DNS` - manual DNS auth, `FILE` - auth by file. :param pulumi.Input[str] old_certificate_id: Specify old certificate ID, used for re-apply. - :param pulumi.Input[str] package_type: Type of package. Only support `"2"` (TrustAsia TLS RSA CA). + :param pulumi.Input[str] package_type: Type of package. Only support `"83"` (TrustAsia TLS RSA CA). :param pulumi.Input[int] project_id: ID of projects which this certification belong to. - :param pulumi.Input[str] validity_period: Specify validity period in month, only support `"12"` months for now. + :param pulumi.Input[str] validity_period: Specify validity period in month, only support `"3"` months for now. """ ... @overload @@ -855,14 +855,14 @@ def get(resource_name: str, :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FreeCertificateDvAuthArgs']]]] dv_auths: DV certification information. :param pulumi.Input[str] insert_time: Certificate insert time. :param pulumi.Input[str] old_certificate_id: Specify old certificate ID, used for re-apply. - :param pulumi.Input[str] package_type: Type of package. Only support `"2"` (TrustAsia TLS RSA CA). + :param pulumi.Input[str] package_type: Type of package. Only support `"83"` (TrustAsia TLS RSA CA). :param pulumi.Input[str] product_zh_name: Product zh name. :param pulumi.Input[int] project_id: ID of projects which this certification belong to. :param pulumi.Input[bool] renewable: Indicates whether the certificate renewable. :param pulumi.Input[int] status: Certificate status. 0 = Approving, 1 = Approved, 2 = Approve failed, 3 = expired, 4 = DNS record added, 5 = OV/EV Certificate and confirm letter needed, 6 = Order canceling, 7 = Order canceled, 8 = Submitted and confirm letter needed, 9 = Revoking, 10 = Revoked, 11 = re-applying, 12 = Revoke and confirm letter needed, 13 = Free SSL and confirm letter needed. :param pulumi.Input[str] status_msg: Certificate status message. :param pulumi.Input[str] status_name: Certificate status name. - :param pulumi.Input[str] validity_period: Specify validity period in month, only support `"12"` months for now. + :param pulumi.Input[str] validity_period: Specify validity period in month, only support `"3"` months for now. :param pulumi.Input[str] vulnerability_status: Vulnerability status. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -1028,7 +1028,7 @@ def old_certificate_id(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="packageType") def package_type(self) -> pulumi.Output[Optional[str]]: """ - Type of package. Only support `"2"` (TrustAsia TLS RSA CA). + Type of package. Only support `"83"` (TrustAsia TLS RSA CA). """ return pulumi.get(self, "package_type") @@ -1084,7 +1084,7 @@ def status_name(self) -> pulumi.Output[str]: @pulumi.getter(name="validityPeriod") def validity_period(self) -> pulumi.Output[Optional[str]]: """ - Specify validity period in month, only support `"12"` months for now. + Specify validity period in month, only support `"3"` months for now. """ return pulumi.get(self, "validity_period") diff --git a/sdk/python/tencentcloud_iac_pulumi/tdmq/instance.py b/sdk/python/tencentcloud_iac_pulumi/tdmq/instance.py index f33b1cd7b..cdd07616a 100644 --- a/sdk/python/tencentcloud_iac_pulumi/tdmq/instance.py +++ b/sdk/python/tencentcloud_iac_pulumi/tdmq/instance.py @@ -174,9 +174,9 @@ def __init__(__self__, import pulumi import tencentcloud_iac_pulumi as tencentcloud - foo = tencentcloud.tdmq.Instance("foo", - cluster_name="example", - remark="this is description.", + example = tencentcloud.tdmq.Instance("example", + cluster_name="tf_example", + remark="remark.", tags={ "createdBy": "terraform", }) @@ -188,7 +188,7 @@ def __init__(__self__, Tdmq instance can be imported, e.g. ```sh - $ pulumi import tencentcloud:Tdmq/instance:Instance test tdmq_id + $ pulumi import tencentcloud:Tdmq/instance:Instance example pulsar-78bwjaj8epxv ``` :param str resource_name: The name of the resource. @@ -214,9 +214,9 @@ def __init__(__self__, import pulumi import tencentcloud_iac_pulumi as tencentcloud - foo = tencentcloud.tdmq.Instance("foo", - cluster_name="example", - remark="this is description.", + example = tencentcloud.tdmq.Instance("example", + cluster_name="tf_example", + remark="remark.", tags={ "createdBy": "terraform", }) @@ -228,7 +228,7 @@ def __init__(__self__, Tdmq instance can be imported, e.g. ```sh - $ pulumi import tencentcloud:Tdmq/instance:Instance test tdmq_id + $ pulumi import tencentcloud:Tdmq/instance:Instance example pulsar-78bwjaj8epxv ``` :param str resource_name: The name of the resource. diff --git a/sdk/python/tencentcloud_iac_pulumi/tdmq/namespace.py b/sdk/python/tencentcloud_iac_pulumi/tdmq/namespace.py index 09d1bd098..6702c4bf8 100644 --- a/sdk/python/tencentcloud_iac_pulumi/tdmq/namespace.py +++ b/sdk/python/tencentcloud_iac_pulumi/tdmq/namespace.py @@ -198,7 +198,7 @@ def __init__(__self__, retention_policy: Optional[pulumi.Input[pulumi.InputType['NamespaceRetentionPolicyArgs']]] = None, __props__=None): """ - Provide a resource to create a tdmq namespace. + Provide a resource to create a TDMQ namespace. ## Example Usage @@ -230,7 +230,7 @@ def __init__(__self__, Tdmq namespace can be imported, e.g. ```sh - $ pulumi import tencentcloud:Tdmq/namespace:Namespace test namespace_id + $ pulumi import tencentcloud:Tdmq/namespace:Namespace example tf_example#pulsar-78bwjaj8epxv ``` :param str resource_name: The name of the resource. @@ -248,7 +248,7 @@ def __init__(__self__, args: NamespaceArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Provide a resource to create a tdmq namespace. + Provide a resource to create a TDMQ namespace. ## Example Usage @@ -280,7 +280,7 @@ def __init__(__self__, Tdmq namespace can be imported, e.g. ```sh - $ pulumi import tencentcloud:Tdmq/namespace:Namespace test namespace_id + $ pulumi import tencentcloud:Tdmq/namespace:Namespace example tf_example#pulsar-78bwjaj8epxv ``` :param str resource_name: The name of the resource. diff --git a/sdk/python/tencentcloud_iac_pulumi/tdmq/namespace_role_attachment.py b/sdk/python/tencentcloud_iac_pulumi/tdmq/namespace_role_attachment.py index d6ea58923..3cc73b85b 100644 --- a/sdk/python/tencentcloud_iac_pulumi/tdmq/namespace_role_attachment.py +++ b/sdk/python/tencentcloud_iac_pulumi/tdmq/namespace_role_attachment.py @@ -178,7 +178,7 @@ def __init__(__self__, role_name: Optional[pulumi.Input[str]] = None, __props__=None): """ - Provide a resource to create a TDMQ role. + Provide a resource to create a TDMQ environment role. ## Example Usage @@ -231,7 +231,7 @@ def __init__(__self__, args: NamespaceRoleAttachmentArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Provide a resource to create a TDMQ role. + Provide a resource to create a TDMQ environment role. ## Example Usage diff --git a/sdk/python/tencentcloud_iac_pulumi/tdmq/role.py b/sdk/python/tencentcloud_iac_pulumi/tdmq/role.py index 62f55b355..2de10571f 100644 --- a/sdk/python/tencentcloud_iac_pulumi/tdmq/role.py +++ b/sdk/python/tencentcloud_iac_pulumi/tdmq/role.py @@ -146,20 +146,12 @@ def __init__(__self__, "createdBy": "terraform", }) example_role = tencentcloud.tdmq.Role("exampleRole", - role_name="tf_example", + role_name="role_example", cluster_id=example_instance.id, remark="remark.") ``` - ## Import - - Tdmq instance can be imported, e.g. - - ```sh - $ pulumi import tencentcloud:Tdmq/role:Role test tdmq_id - ``` - :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] cluster_id: The id of tdmq cluster. @@ -189,20 +181,12 @@ def __init__(__self__, "createdBy": "terraform", }) example_role = tencentcloud.tdmq.Role("exampleRole", - role_name="tf_example", + role_name="role_example", cluster_id=example_instance.id, remark="remark.") ``` - ## Import - - Tdmq instance can be imported, e.g. - - ```sh - $ pulumi import tencentcloud:Tdmq/role:Role test tdmq_id - ``` - :param str resource_name: The name of the resource. :param RoleArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. diff --git a/sdk/python/tencentcloud_iac_pulumi/tdmq/topic.py b/sdk/python/tencentcloud_iac_pulumi/tdmq/topic.py index 4eec10e66..c3ae332c7 100644 --- a/sdk/python/tencentcloud_iac_pulumi/tdmq/topic.py +++ b/sdk/python/tencentcloud_iac_pulumi/tdmq/topic.py @@ -323,14 +323,6 @@ def __init__(__self__, ``` - ## Import - - Tdmq Topic can be imported, e.g. - - ```sh - $ pulumi import tencentcloud:Tdmq/topic:Topic test topic_id - ``` - :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] cluster_id: The Dedicated Cluster Id. @@ -382,14 +374,6 @@ def __init__(__self__, ``` - ## Import - - Tdmq Topic can be imported, e.g. - - ```sh - $ pulumi import tencentcloud:Tdmq/topic:Topic test topic_id - ``` - :param str resource_name: The name of the resource. :param TopicArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. diff --git a/sdk/python/tencentcloud_iac_pulumi/teo/__init__.py b/sdk/python/tencentcloud_iac_pulumi/teo/__init__.py index fe64e1932..d18e0b4c5 100644 --- a/sdk/python/tencentcloud_iac_pulumi/teo/__init__.py +++ b/sdk/python/tencentcloud_iac_pulumi/teo/__init__.py @@ -14,6 +14,7 @@ from .l4_proxy import * from .origin_group import * from .ownership_verify import * +from .realtime_log_delivery import * from .rule_engine import * from .zone import * from .zone_setting import * diff --git a/sdk/python/tencentcloud_iac_pulumi/teo/_inputs.py b/sdk/python/tencentcloud_iac_pulumi/teo/_inputs.py index ac8903491..0dbafd46d 100644 --- a/sdk/python/tencentcloud_iac_pulumi/teo/_inputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/teo/_inputs.py @@ -18,6 +18,14 @@ 'OriginGroupRecordArgs', 'OriginGroupRecordPrivateParameterArgs', 'OriginGroupReferenceArgs', + 'RealtimeLogDeliveryClsArgs', + 'RealtimeLogDeliveryCustomEndpointArgs', + 'RealtimeLogDeliveryCustomEndpointHeaderArgs', + 'RealtimeLogDeliveryCustomFieldArgs', + 'RealtimeLogDeliveryDeliveryConditionArgs', + 'RealtimeLogDeliveryDeliveryConditionConditionArgs', + 'RealtimeLogDeliveryLogFormatArgs', + 'RealtimeLogDeliveryS3Args', 'RuleEngineRuleArgs', 'RuleEngineRuleActionArgs', 'RuleEngineRuleActionCodeActionArgs', @@ -575,34 +583,564 @@ def instance_type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "instance_type", value) +@pulumi.input_type +class RealtimeLogDeliveryClsArgs: + def __init__(__self__, *, + log_set_id: pulumi.Input[str], + log_set_region: pulumi.Input[str], + topic_id: pulumi.Input[str]): + """ + :param pulumi.Input[str] log_set_id: Tencent Cloud CLS log set ID. + :param pulumi.Input[str] log_set_region: The region where the Tencent Cloud CLS log set is located. + :param pulumi.Input[str] topic_id: Tencent Cloud CLS log topic ID. + """ + pulumi.set(__self__, "log_set_id", log_set_id) + pulumi.set(__self__, "log_set_region", log_set_region) + pulumi.set(__self__, "topic_id", topic_id) + + @property + @pulumi.getter(name="logSetId") + def log_set_id(self) -> pulumi.Input[str]: + """ + Tencent Cloud CLS log set ID. + """ + return pulumi.get(self, "log_set_id") + + @log_set_id.setter + def log_set_id(self, value: pulumi.Input[str]): + pulumi.set(self, "log_set_id", value) + + @property + @pulumi.getter(name="logSetRegion") + def log_set_region(self) -> pulumi.Input[str]: + """ + The region where the Tencent Cloud CLS log set is located. + """ + return pulumi.get(self, "log_set_region") + + @log_set_region.setter + def log_set_region(self, value: pulumi.Input[str]): + pulumi.set(self, "log_set_region", value) + + @property + @pulumi.getter(name="topicId") + def topic_id(self) -> pulumi.Input[str]: + """ + Tencent Cloud CLS log topic ID. + """ + return pulumi.get(self, "topic_id") + + @topic_id.setter + def topic_id(self, value: pulumi.Input[str]): + pulumi.set(self, "topic_id", value) + + +@pulumi.input_type +class RealtimeLogDeliveryCustomEndpointArgs: + def __init__(__self__, *, + url: pulumi.Input[str], + access_id: Optional[pulumi.Input[str]] = None, + access_key: Optional[pulumi.Input[str]] = None, + compress_type: Optional[pulumi.Input[str]] = None, + headers: Optional[pulumi.Input[Sequence[pulumi.Input['RealtimeLogDeliveryCustomEndpointHeaderArgs']]]] = None, + protocol: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] url: The custom HTTP interface address for real-time log delivery. Currently, only HTTP/HTTPS protocols are supported. + :param pulumi.Input[str] access_id: Fill in a custom SecretId to generate an encrypted signature. This parameter is required if the source site requires authentication. + :param pulumi.Input[str] access_key: Fill in the custom SecretKey to generate the encrypted signature. This parameter is required if the source site requires authentication. + :param pulumi.Input[str] compress_type: Data compression type, the possible values are: `gzip`: use gzip compression. If it is not filled in, compression is not enabled. + :param pulumi.Input[Sequence[pulumi.Input['RealtimeLogDeliveryCustomEndpointHeaderArgs']]] headers: The custom request header carried when delivering logs. If the header name you fill in is the default header carried by EdgeOne log push, such as Content-Type, then the header value you fill in will overwrite the default value. The header value references a single variable ${batchSize} to obtain the number of logs included in each POST request. + :param pulumi.Input[str] protocol: When sending logs via POST request, the application layer protocol type used can be: `http`: HTTP protocol; `https`: HTTPS protocol. If not filled in, the protocol type will be parsed according to the filled in URL address. + """ + pulumi.set(__self__, "url", url) + if access_id is not None: + pulumi.set(__self__, "access_id", access_id) + if access_key is not None: + pulumi.set(__self__, "access_key", access_key) + if compress_type is not None: + pulumi.set(__self__, "compress_type", compress_type) + if headers is not None: + pulumi.set(__self__, "headers", headers) + if protocol is not None: + pulumi.set(__self__, "protocol", protocol) + + @property + @pulumi.getter + def url(self) -> pulumi.Input[str]: + """ + The custom HTTP interface address for real-time log delivery. Currently, only HTTP/HTTPS protocols are supported. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: pulumi.Input[str]): + pulumi.set(self, "url", value) + + @property + @pulumi.getter(name="accessId") + def access_id(self) -> Optional[pulumi.Input[str]]: + """ + Fill in a custom SecretId to generate an encrypted signature. This parameter is required if the source site requires authentication. + """ + return pulumi.get(self, "access_id") + + @access_id.setter + def access_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "access_id", value) + + @property + @pulumi.getter(name="accessKey") + def access_key(self) -> Optional[pulumi.Input[str]]: + """ + Fill in the custom SecretKey to generate the encrypted signature. This parameter is required if the source site requires authentication. + """ + return pulumi.get(self, "access_key") + + @access_key.setter + def access_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "access_key", value) + + @property + @pulumi.getter(name="compressType") + def compress_type(self) -> Optional[pulumi.Input[str]]: + """ + Data compression type, the possible values are: `gzip`: use gzip compression. If it is not filled in, compression is not enabled. + """ + return pulumi.get(self, "compress_type") + + @compress_type.setter + def compress_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "compress_type", value) + + @property + @pulumi.getter + def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RealtimeLogDeliveryCustomEndpointHeaderArgs']]]]: + """ + The custom request header carried when delivering logs. If the header name you fill in is the default header carried by EdgeOne log push, such as Content-Type, then the header value you fill in will overwrite the default value. The header value references a single variable ${batchSize} to obtain the number of logs included in each POST request. + """ + return pulumi.get(self, "headers") + + @headers.setter + def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RealtimeLogDeliveryCustomEndpointHeaderArgs']]]]): + pulumi.set(self, "headers", value) + + @property + @pulumi.getter + def protocol(self) -> Optional[pulumi.Input[str]]: + """ + When sending logs via POST request, the application layer protocol type used can be: `http`: HTTP protocol; `https`: HTTPS protocol. If not filled in, the protocol type will be parsed according to the filled in URL address. + """ + return pulumi.get(self, "protocol") + + @protocol.setter + def protocol(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "protocol", value) + + +@pulumi.input_type +class RealtimeLogDeliveryCustomEndpointHeaderArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + value: pulumi.Input[str]): + """ + :param pulumi.Input[str] name: HTTP header name. + :param pulumi.Input[str] value: HTTP header value. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + HTTP header name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[str]: + """ + HTTP header value. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[str]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class RealtimeLogDeliveryCustomFieldArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + value: pulumi.Input[str], + enabled: Optional[pulumi.Input[bool]] = None): + """ + :param pulumi.Input[str] name: Extract data from the specified location in the HTTP request and response. The values are: `ReqHeader`: extract the specified field value from the HTTP request header; `RspHeader`: extract the specified field value from the HTTP response header; `Cookie`: extract the specified field value from the Cookie. + :param pulumi.Input[str] value: The name of the parameter whose value needs to be extracted, for example: Accept-Language. + :param pulumi.Input[bool] enabled: Whether to deliver this field. If left blank, this field will not be delivered. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "value", value) + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + Extract data from the specified location in the HTTP request and response. The values are: `ReqHeader`: extract the specified field value from the HTTP request header; `RspHeader`: extract the specified field value from the HTTP response header; `Cookie`: extract the specified field value from the Cookie. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[str]: + """ + The name of the parameter whose value needs to be extracted, for example: Accept-Language. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[str]): + pulumi.set(self, "value", value) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Whether to deliver this field. If left blank, this field will not be delivered. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + +@pulumi.input_type +class RealtimeLogDeliveryDeliveryConditionArgs: + def __init__(__self__, *, + conditions: Optional[pulumi.Input[Sequence[pulumi.Input['RealtimeLogDeliveryDeliveryConditionConditionArgs']]]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input['RealtimeLogDeliveryDeliveryConditionConditionArgs']]] conditions: Log filtering conditions, the detailed filtering conditions are as follows: - `EdgeResponseStatusCode`: filter according to the status code returned by the EdgeOne node to the client. Supported operators: `equal`, `great`, `less`, `great_equal`, `less_equal`; Value range: any integer greater than or equal to 0; - `OriginResponseStatusCode`: filter according to the origin response status code. Supported operators: `equal`, `great`, `less`, `great_equal`, `less_equal`; Value range: any integer greater than or equal to -1; - `SecurityAction`: filter according to the final disposal action after the request hits the security rule. Supported operators: `equal`; Optional options are as follows: `-`: unknown/miss; `Monitor`: observe; `JSChallenge`: JavaScript challenge; `Deny`: intercept; `Allow`: allow; `BlockIP`: IP ban; `Redirect`: redirect; `ReturnCustomPage`: return to a custom page; `ManagedChallenge`: managed challenge; `Silence`: silent; `LongDelay`: respond after a long wait; `ShortDelay`: respond after a short wait; -`SecurityModule`: filter according to the name of the security module that finally handles the request. Supported operators: `equal`; Optional options: `-`: unknown/missed; `CustomRule`: Web Protection - Custom Rules; `RateLimitingCustomRule`: Web Protection - Rate Limiting Rules; `ManagedRule`: Web Protection - Managed Rules; `L7DDoS`: Web Protection - CC Attack Protection; `BotManagement`: Bot Management - Bot Basic Management; `BotClientReputation`: Bot Management - Client Profile Analysis; `BotBehaviorAnalysis`: Bot Management - Bot Intelligent Analysis; `BotCustomRule`: Bot Management - Custom Bot Rules; `BotActiveDetection`: Bot Management - Active Feature Recognition. + """ + if conditions is not None: + pulumi.set(__self__, "conditions", conditions) + + @property + @pulumi.getter + def conditions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RealtimeLogDeliveryDeliveryConditionConditionArgs']]]]: + """ + Log filtering conditions, the detailed filtering conditions are as follows: - `EdgeResponseStatusCode`: filter according to the status code returned by the EdgeOne node to the client. Supported operators: `equal`, `great`, `less`, `great_equal`, `less_equal`; Value range: any integer greater than or equal to 0; - `OriginResponseStatusCode`: filter according to the origin response status code. Supported operators: `equal`, `great`, `less`, `great_equal`, `less_equal`; Value range: any integer greater than or equal to -1; - `SecurityAction`: filter according to the final disposal action after the request hits the security rule. Supported operators: `equal`; Optional options are as follows: `-`: unknown/miss; `Monitor`: observe; `JSChallenge`: JavaScript challenge; `Deny`: intercept; `Allow`: allow; `BlockIP`: IP ban; `Redirect`: redirect; `ReturnCustomPage`: return to a custom page; `ManagedChallenge`: managed challenge; `Silence`: silent; `LongDelay`: respond after a long wait; `ShortDelay`: respond after a short wait; -`SecurityModule`: filter according to the name of the security module that finally handles the request. Supported operators: `equal`; Optional options: `-`: unknown/missed; `CustomRule`: Web Protection - Custom Rules; `RateLimitingCustomRule`: Web Protection - Rate Limiting Rules; `ManagedRule`: Web Protection - Managed Rules; `L7DDoS`: Web Protection - CC Attack Protection; `BotManagement`: Bot Management - Bot Basic Management; `BotClientReputation`: Bot Management - Client Profile Analysis; `BotBehaviorAnalysis`: Bot Management - Bot Intelligent Analysis; `BotCustomRule`: Bot Management - Custom Bot Rules; `BotActiveDetection`: Bot Management - Active Feature Recognition. + """ + return pulumi.get(self, "conditions") + + @conditions.setter + def conditions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RealtimeLogDeliveryDeliveryConditionConditionArgs']]]]): + pulumi.set(self, "conditions", value) + + +@pulumi.input_type +class RealtimeLogDeliveryDeliveryConditionConditionArgs: + def __init__(__self__, *, + key: pulumi.Input[str], + operator: pulumi.Input[str], + values: pulumi.Input[Sequence[pulumi.Input[str]]]): + """ + :param pulumi.Input[str] key: The key of the filter condition. + :param pulumi.Input[str] operator: Query condition operator, operation types are: `equals`: equal; `notEquals`: not equal; `include`: include; `notInclude`: not include; `startWith`: start with value; `notStartWith`: not start with value; `endWith`: end with value; `notEndWith`: not end with value. + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: The value of the filter condition. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "operator", operator) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> pulumi.Input[str]: + """ + The key of the filter condition. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: pulumi.Input[str]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter + def operator(self) -> pulumi.Input[str]: + """ + Query condition operator, operation types are: `equals`: equal; `notEquals`: not equal; `include`: include; `notInclude`: not include; `startWith`: start with value; `notStartWith`: not start with value; `endWith`: end with value; `notEndWith`: not end with value. + """ + return pulumi.get(self, "operator") + + @operator.setter + def operator(self, value: pulumi.Input[str]): + pulumi.set(self, "operator", value) + + @property + @pulumi.getter + def values(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + The value of the filter condition. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "values", value) + + +@pulumi.input_type +class RealtimeLogDeliveryLogFormatArgs: + def __init__(__self__, *, + format_type: pulumi.Input[str], + batch_prefix: Optional[pulumi.Input[str]] = None, + batch_suffix: Optional[pulumi.Input[str]] = None, + field_delimiter: Optional[pulumi.Input[str]] = None, + record_delimiter: Optional[pulumi.Input[str]] = None, + record_prefix: Optional[pulumi.Input[str]] = None, + record_suffix: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] format_type: The default output format type for log delivery. The possible values are: `json`: Use the default log output format JSON Lines. The fields in a single log are presented as key-value pairs; `csv`: Use the default log output format csv. Only field values are presented in a single log, without field names. + :param pulumi.Input[str] batch_prefix: A string to be added before each log delivery batch. Each log delivery batch may contain multiple log records. + :param pulumi.Input[str] batch_suffix: A string to append after each log delivery batch. + :param pulumi.Input[str] field_delimiter: In a single log record, a string is inserted between fields as a separator. The possible values are: ` `: tab character; `,`: comma; `;`: semicolon. + :param pulumi.Input[str] record_delimiter: The string inserted between log records as a separator. The possible values are: ` + `: newline character; ` `: tab character; `,`: comma. + :param pulumi.Input[str] record_prefix: A string to prepend to each log record. + :param pulumi.Input[str] record_suffix: A string to append to each log record. + + The `s3` object supports the following: + """ + pulumi.set(__self__, "format_type", format_type) + if batch_prefix is not None: + pulumi.set(__self__, "batch_prefix", batch_prefix) + if batch_suffix is not None: + pulumi.set(__self__, "batch_suffix", batch_suffix) + if field_delimiter is not None: + pulumi.set(__self__, "field_delimiter", field_delimiter) + if record_delimiter is not None: + pulumi.set(__self__, "record_delimiter", record_delimiter) + if record_prefix is not None: + pulumi.set(__self__, "record_prefix", record_prefix) + if record_suffix is not None: + pulumi.set(__self__, "record_suffix", record_suffix) + + @property + @pulumi.getter(name="formatType") + def format_type(self) -> pulumi.Input[str]: + """ + The default output format type for log delivery. The possible values are: `json`: Use the default log output format JSON Lines. The fields in a single log are presented as key-value pairs; `csv`: Use the default log output format csv. Only field values are presented in a single log, without field names. + """ + return pulumi.get(self, "format_type") + + @format_type.setter + def format_type(self, value: pulumi.Input[str]): + pulumi.set(self, "format_type", value) + + @property + @pulumi.getter(name="batchPrefix") + def batch_prefix(self) -> Optional[pulumi.Input[str]]: + """ + A string to be added before each log delivery batch. Each log delivery batch may contain multiple log records. + """ + return pulumi.get(self, "batch_prefix") + + @batch_prefix.setter + def batch_prefix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "batch_prefix", value) + + @property + @pulumi.getter(name="batchSuffix") + def batch_suffix(self) -> Optional[pulumi.Input[str]]: + """ + A string to append after each log delivery batch. + """ + return pulumi.get(self, "batch_suffix") + + @batch_suffix.setter + def batch_suffix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "batch_suffix", value) + + @property + @pulumi.getter(name="fieldDelimiter") + def field_delimiter(self) -> Optional[pulumi.Input[str]]: + """ + In a single log record, a string is inserted between fields as a separator. The possible values are: ` `: tab character; `,`: comma; `;`: semicolon. + """ + return pulumi.get(self, "field_delimiter") + + @field_delimiter.setter + def field_delimiter(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "field_delimiter", value) + + @property + @pulumi.getter(name="recordDelimiter") + def record_delimiter(self) -> Optional[pulumi.Input[str]]: + """ + The string inserted between log records as a separator. The possible values are: ` + `: newline character; ` `: tab character; `,`: comma. + """ + return pulumi.get(self, "record_delimiter") + + @record_delimiter.setter + def record_delimiter(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "record_delimiter", value) + + @property + @pulumi.getter(name="recordPrefix") + def record_prefix(self) -> Optional[pulumi.Input[str]]: + """ + A string to prepend to each log record. + """ + return pulumi.get(self, "record_prefix") + + @record_prefix.setter + def record_prefix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "record_prefix", value) + + @property + @pulumi.getter(name="recordSuffix") + def record_suffix(self) -> Optional[pulumi.Input[str]]: + """ + A string to append to each log record. + + The `s3` object supports the following: + """ + return pulumi.get(self, "record_suffix") + + @record_suffix.setter + def record_suffix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "record_suffix", value) + + +@pulumi.input_type +class RealtimeLogDeliveryS3Args: + def __init__(__self__, *, + access_id: pulumi.Input[str], + access_key: pulumi.Input[str], + bucket: pulumi.Input[str], + endpoint: pulumi.Input[str], + region: pulumi.Input[str], + compress_type: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] access_id: Fill in a custom SecretId to generate an encrypted signature. This parameter is required if the source site requires authentication. + :param pulumi.Input[str] access_key: Fill in the custom SecretKey to generate the encrypted signature. This parameter is required if the source site requires authentication. + :param pulumi.Input[str] bucket: Bucket name and log storage directory, for example: `your_bucket_name/EO-logs/`. If this directory does not exist in the bucket, it will be created automatically. + :param pulumi.Input[str] endpoint: URLs that do not include bucket names or paths, for example: `https://storage.googleapis.com`, `https://s3.ap-northeast-2.amazonaws.com`, `https://cos.ap-nanjing.myqcloud.com`. + :param pulumi.Input[str] region: The region where the bucket is located, for example: ap-northeast-2. + :param pulumi.Input[str] compress_type: Data compression type, the possible values are: `gzip`: use gzip compression. If it is not filled in, compression is not enabled. + """ + pulumi.set(__self__, "access_id", access_id) + pulumi.set(__self__, "access_key", access_key) + pulumi.set(__self__, "bucket", bucket) + pulumi.set(__self__, "endpoint", endpoint) + pulumi.set(__self__, "region", region) + if compress_type is not None: + pulumi.set(__self__, "compress_type", compress_type) + + @property + @pulumi.getter(name="accessId") + def access_id(self) -> pulumi.Input[str]: + """ + Fill in a custom SecretId to generate an encrypted signature. This parameter is required if the source site requires authentication. + """ + return pulumi.get(self, "access_id") + + @access_id.setter + def access_id(self, value: pulumi.Input[str]): + pulumi.set(self, "access_id", value) + + @property + @pulumi.getter(name="accessKey") + def access_key(self) -> pulumi.Input[str]: + """ + Fill in the custom SecretKey to generate the encrypted signature. This parameter is required if the source site requires authentication. + """ + return pulumi.get(self, "access_key") + + @access_key.setter + def access_key(self, value: pulumi.Input[str]): + pulumi.set(self, "access_key", value) + + @property + @pulumi.getter + def bucket(self) -> pulumi.Input[str]: + """ + Bucket name and log storage directory, for example: `your_bucket_name/EO-logs/`. If this directory does not exist in the bucket, it will be created automatically. + """ + return pulumi.get(self, "bucket") + + @bucket.setter + def bucket(self, value: pulumi.Input[str]): + pulumi.set(self, "bucket", value) + + @property + @pulumi.getter + def endpoint(self) -> pulumi.Input[str]: + """ + URLs that do not include bucket names or paths, for example: `https://storage.googleapis.com`, `https://s3.ap-northeast-2.amazonaws.com`, `https://cos.ap-nanjing.myqcloud.com`. + """ + return pulumi.get(self, "endpoint") + + @endpoint.setter + def endpoint(self, value: pulumi.Input[str]): + pulumi.set(self, "endpoint", value) + + @property + @pulumi.getter + def region(self) -> pulumi.Input[str]: + """ + The region where the bucket is located, for example: ap-northeast-2. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[str]): + pulumi.set(self, "region", value) + + @property + @pulumi.getter(name="compressType") + def compress_type(self) -> Optional[pulumi.Input[str]]: + """ + Data compression type, the possible values are: `gzip`: use gzip compression. If it is not filled in, compression is not enabled. + """ + return pulumi.get(self, "compress_type") + + @compress_type.setter + def compress_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "compress_type", value) + + @pulumi.input_type class RuleEngineRuleArgs: def __init__(__self__, *, - actions: pulumi.Input[Sequence[pulumi.Input['RuleEngineRuleActionArgs']]], ors: pulumi.Input[Sequence[pulumi.Input['RuleEngineRuleOrArgs']]], + actions: Optional[pulumi.Input[Sequence[pulumi.Input['RuleEngineRuleActionArgs']]]] = None, sub_rules: Optional[pulumi.Input[Sequence[pulumi.Input['RuleEngineRuleSubRuleArgs']]]] = None): """ - :param pulumi.Input[Sequence[pulumi.Input['RuleEngineRuleActionArgs']]] actions: Feature to be executed. :param pulumi.Input[Sequence[pulumi.Input['RuleEngineRuleOrArgs']]] ors: OR Conditions list of the rule. Rule would be triggered if any of the condition is true. + :param pulumi.Input[Sequence[pulumi.Input['RuleEngineRuleActionArgs']]] actions: Feature to be executed. :param pulumi.Input[Sequence[pulumi.Input['RuleEngineRuleSubRuleArgs']]] sub_rules: The nested rule. """ - pulumi.set(__self__, "actions", actions) pulumi.set(__self__, "ors", ors) + if actions is not None: + pulumi.set(__self__, "actions", actions) if sub_rules is not None: pulumi.set(__self__, "sub_rules", sub_rules) - @property - @pulumi.getter - def actions(self) -> pulumi.Input[Sequence[pulumi.Input['RuleEngineRuleActionArgs']]]: - """ - Feature to be executed. - """ - return pulumi.get(self, "actions") - - @actions.setter - def actions(self, value: pulumi.Input[Sequence[pulumi.Input['RuleEngineRuleActionArgs']]]): - pulumi.set(self, "actions", value) - @property @pulumi.getter def ors(self) -> pulumi.Input[Sequence[pulumi.Input['RuleEngineRuleOrArgs']]]: @@ -615,6 +1153,18 @@ def ors(self) -> pulumi.Input[Sequence[pulumi.Input['RuleEngineRuleOrArgs']]]: def ors(self, value: pulumi.Input[Sequence[pulumi.Input['RuleEngineRuleOrArgs']]]): pulumi.set(self, "ors", value) + @property + @pulumi.getter + def actions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RuleEngineRuleActionArgs']]]]: + """ + Feature to be executed. + """ + return pulumi.get(self, "actions") + + @actions.setter + def actions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RuleEngineRuleActionArgs']]]]): + pulumi.set(self, "actions", value) + @property @pulumi.getter(name="subRules") def sub_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RuleEngineRuleSubRuleArgs']]]]: @@ -1107,26 +1657,15 @@ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): @pulumi.input_type class RuleEngineRuleSubRuleRuleArgs: def __init__(__self__, *, - actions: pulumi.Input[Sequence[pulumi.Input['RuleEngineRuleSubRuleRuleActionArgs']]], - ors: pulumi.Input[Sequence[pulumi.Input['RuleEngineRuleSubRuleRuleOrArgs']]]): + ors: pulumi.Input[Sequence[pulumi.Input['RuleEngineRuleSubRuleRuleOrArgs']]], + actions: Optional[pulumi.Input[Sequence[pulumi.Input['RuleEngineRuleSubRuleRuleActionArgs']]]] = None): """ - :param pulumi.Input[Sequence[pulumi.Input['RuleEngineRuleSubRuleRuleActionArgs']]] actions: Feature to be executed. :param pulumi.Input[Sequence[pulumi.Input['RuleEngineRuleSubRuleRuleOrArgs']]] ors: OR Conditions list of the rule. Rule would be triggered if any of the condition is true. + :param pulumi.Input[Sequence[pulumi.Input['RuleEngineRuleSubRuleRuleActionArgs']]] actions: Feature to be executed. """ - pulumi.set(__self__, "actions", actions) pulumi.set(__self__, "ors", ors) - - @property - @pulumi.getter - def actions(self) -> pulumi.Input[Sequence[pulumi.Input['RuleEngineRuleSubRuleRuleActionArgs']]]: - """ - Feature to be executed. - """ - return pulumi.get(self, "actions") - - @actions.setter - def actions(self, value: pulumi.Input[Sequence[pulumi.Input['RuleEngineRuleSubRuleRuleActionArgs']]]): - pulumi.set(self, "actions", value) + if actions is not None: + pulumi.set(__self__, "actions", actions) @property @pulumi.getter @@ -1140,6 +1679,18 @@ def ors(self) -> pulumi.Input[Sequence[pulumi.Input['RuleEngineRuleSubRuleRuleOr def ors(self, value: pulumi.Input[Sequence[pulumi.Input['RuleEngineRuleSubRuleRuleOrArgs']]]): pulumi.set(self, "ors", value) + @property + @pulumi.getter + def actions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RuleEngineRuleSubRuleRuleActionArgs']]]]: + """ + Feature to be executed. + """ + return pulumi.get(self, "actions") + + @actions.setter + def actions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RuleEngineRuleSubRuleRuleActionArgs']]]]): + pulumi.set(self, "actions", value) + @pulumi.input_type class RuleEngineRuleSubRuleRuleActionArgs: diff --git a/sdk/python/tencentcloud_iac_pulumi/teo/acceleration_domain.py b/sdk/python/tencentcloud_iac_pulumi/teo/acceleration_domain.py index 5106ae95f..a846bb7a6 100644 --- a/sdk/python/tencentcloud_iac_pulumi/teo/acceleration_domain.py +++ b/sdk/python/tencentcloud_iac_pulumi/teo/acceleration_domain.py @@ -19,17 +19,33 @@ def __init__(__self__, *, domain_name: pulumi.Input[str], origin_info: pulumi.Input['AccelerationDomainOriginInfoArgs'], zone_id: pulumi.Input[str], + http_origin_port: Optional[pulumi.Input[int]] = None, + https_origin_port: Optional[pulumi.Input[int]] = None, + ipv6_status: Optional[pulumi.Input[str]] = None, + origin_protocol: Optional[pulumi.Input[str]] = None, status: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a AccelerationDomain resource. :param pulumi.Input[str] domain_name: Accelerated domain name. :param pulumi.Input['AccelerationDomainOriginInfoArgs'] origin_info: Details of the origin. :param pulumi.Input[str] zone_id: ID of the site related with the accelerated domain name. + :param pulumi.Input[int] http_origin_port: HTTP back-to-origin port, the value is 1-65535, effective when OriginProtocol=FOLLOW/HTTP, if not filled in, the default value is 80. + :param pulumi.Input[int] https_origin_port: HTTPS back-to-origin port. The value range is 1-65535. It takes effect when OriginProtocol=FOLLOW/HTTPS. If it is not filled in, the default value is 443. + :param pulumi.Input[str] ipv6_status: IPv6 status, the value is: `follow`: follow the site IPv6 configuration; `on`: on; `off`: off. If not filled in, the default is: `follow`. + :param pulumi.Input[str] origin_protocol: Origin return protocol, possible values are: `FOLLOW`: protocol follow; `HTTP`: HTTP protocol back to source; `HTTPS`: HTTPS protocol back to source. If not filled in, the default is: `FOLLOW`. :param pulumi.Input[str] status: Accelerated domain name status, the values are: `online`: enabled; `offline`: disabled. """ pulumi.set(__self__, "domain_name", domain_name) pulumi.set(__self__, "origin_info", origin_info) pulumi.set(__self__, "zone_id", zone_id) + if http_origin_port is not None: + pulumi.set(__self__, "http_origin_port", http_origin_port) + if https_origin_port is not None: + pulumi.set(__self__, "https_origin_port", https_origin_port) + if ipv6_status is not None: + pulumi.set(__self__, "ipv6_status", ipv6_status) + if origin_protocol is not None: + pulumi.set(__self__, "origin_protocol", origin_protocol) if status is not None: pulumi.set(__self__, "status", status) @@ -69,6 +85,54 @@ def zone_id(self) -> pulumi.Input[str]: def zone_id(self, value: pulumi.Input[str]): pulumi.set(self, "zone_id", value) + @property + @pulumi.getter(name="httpOriginPort") + def http_origin_port(self) -> Optional[pulumi.Input[int]]: + """ + HTTP back-to-origin port, the value is 1-65535, effective when OriginProtocol=FOLLOW/HTTP, if not filled in, the default value is 80. + """ + return pulumi.get(self, "http_origin_port") + + @http_origin_port.setter + def http_origin_port(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "http_origin_port", value) + + @property + @pulumi.getter(name="httpsOriginPort") + def https_origin_port(self) -> Optional[pulumi.Input[int]]: + """ + HTTPS back-to-origin port. The value range is 1-65535. It takes effect when OriginProtocol=FOLLOW/HTTPS. If it is not filled in, the default value is 443. + """ + return pulumi.get(self, "https_origin_port") + + @https_origin_port.setter + def https_origin_port(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "https_origin_port", value) + + @property + @pulumi.getter(name="ipv6Status") + def ipv6_status(self) -> Optional[pulumi.Input[str]]: + """ + IPv6 status, the value is: `follow`: follow the site IPv6 configuration; `on`: on; `off`: off. If not filled in, the default is: `follow`. + """ + return pulumi.get(self, "ipv6_status") + + @ipv6_status.setter + def ipv6_status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ipv6_status", value) + + @property + @pulumi.getter(name="originProtocol") + def origin_protocol(self) -> Optional[pulumi.Input[str]]: + """ + Origin return protocol, possible values are: `FOLLOW`: protocol follow; `HTTP`: HTTP protocol back to source; `HTTPS`: HTTPS protocol back to source. If not filled in, the default is: `FOLLOW`. + """ + return pulumi.get(self, "origin_protocol") + + @origin_protocol.setter + def origin_protocol(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "origin_protocol", value) + @property @pulumi.getter def status(self) -> Optional[pulumi.Input[str]]: @@ -87,14 +151,22 @@ class _AccelerationDomainState: def __init__(__self__, *, cname: Optional[pulumi.Input[str]] = None, domain_name: Optional[pulumi.Input[str]] = None, + http_origin_port: Optional[pulumi.Input[int]] = None, + https_origin_port: Optional[pulumi.Input[int]] = None, + ipv6_status: Optional[pulumi.Input[str]] = None, origin_info: Optional[pulumi.Input['AccelerationDomainOriginInfoArgs']] = None, + origin_protocol: Optional[pulumi.Input[str]] = None, status: Optional[pulumi.Input[str]] = None, zone_id: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering AccelerationDomain resources. :param pulumi.Input[str] cname: CNAME address. :param pulumi.Input[str] domain_name: Accelerated domain name. + :param pulumi.Input[int] http_origin_port: HTTP back-to-origin port, the value is 1-65535, effective when OriginProtocol=FOLLOW/HTTP, if not filled in, the default value is 80. + :param pulumi.Input[int] https_origin_port: HTTPS back-to-origin port. The value range is 1-65535. It takes effect when OriginProtocol=FOLLOW/HTTPS. If it is not filled in, the default value is 443. + :param pulumi.Input[str] ipv6_status: IPv6 status, the value is: `follow`: follow the site IPv6 configuration; `on`: on; `off`: off. If not filled in, the default is: `follow`. :param pulumi.Input['AccelerationDomainOriginInfoArgs'] origin_info: Details of the origin. + :param pulumi.Input[str] origin_protocol: Origin return protocol, possible values are: `FOLLOW`: protocol follow; `HTTP`: HTTP protocol back to source; `HTTPS`: HTTPS protocol back to source. If not filled in, the default is: `FOLLOW`. :param pulumi.Input[str] status: Accelerated domain name status, the values are: `online`: enabled; `offline`: disabled. :param pulumi.Input[str] zone_id: ID of the site related with the accelerated domain name. """ @@ -102,8 +174,16 @@ def __init__(__self__, *, pulumi.set(__self__, "cname", cname) if domain_name is not None: pulumi.set(__self__, "domain_name", domain_name) + if http_origin_port is not None: + pulumi.set(__self__, "http_origin_port", http_origin_port) + if https_origin_port is not None: + pulumi.set(__self__, "https_origin_port", https_origin_port) + if ipv6_status is not None: + pulumi.set(__self__, "ipv6_status", ipv6_status) if origin_info is not None: pulumi.set(__self__, "origin_info", origin_info) + if origin_protocol is not None: + pulumi.set(__self__, "origin_protocol", origin_protocol) if status is not None: pulumi.set(__self__, "status", status) if zone_id is not None: @@ -133,6 +213,42 @@ def domain_name(self) -> Optional[pulumi.Input[str]]: def domain_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "domain_name", value) + @property + @pulumi.getter(name="httpOriginPort") + def http_origin_port(self) -> Optional[pulumi.Input[int]]: + """ + HTTP back-to-origin port, the value is 1-65535, effective when OriginProtocol=FOLLOW/HTTP, if not filled in, the default value is 80. + """ + return pulumi.get(self, "http_origin_port") + + @http_origin_port.setter + def http_origin_port(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "http_origin_port", value) + + @property + @pulumi.getter(name="httpsOriginPort") + def https_origin_port(self) -> Optional[pulumi.Input[int]]: + """ + HTTPS back-to-origin port. The value range is 1-65535. It takes effect when OriginProtocol=FOLLOW/HTTPS. If it is not filled in, the default value is 443. + """ + return pulumi.get(self, "https_origin_port") + + @https_origin_port.setter + def https_origin_port(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "https_origin_port", value) + + @property + @pulumi.getter(name="ipv6Status") + def ipv6_status(self) -> Optional[pulumi.Input[str]]: + """ + IPv6 status, the value is: `follow`: follow the site IPv6 configuration; `on`: on; `off`: off. If not filled in, the default is: `follow`. + """ + return pulumi.get(self, "ipv6_status") + + @ipv6_status.setter + def ipv6_status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ipv6_status", value) + @property @pulumi.getter(name="originInfo") def origin_info(self) -> Optional[pulumi.Input['AccelerationDomainOriginInfoArgs']]: @@ -145,6 +261,18 @@ def origin_info(self) -> Optional[pulumi.Input['AccelerationDomainOriginInfoArgs def origin_info(self, value: Optional[pulumi.Input['AccelerationDomainOriginInfoArgs']]): pulumi.set(self, "origin_info", value) + @property + @pulumi.getter(name="originProtocol") + def origin_protocol(self) -> Optional[pulumi.Input[str]]: + """ + Origin return protocol, possible values are: `FOLLOW`: protocol follow; `HTTP`: HTTP protocol back to source; `HTTPS`: HTTPS protocol back to source. If not filled in, the default is: `FOLLOW`. + """ + return pulumi.get(self, "origin_protocol") + + @origin_protocol.setter + def origin_protocol(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "origin_protocol", value) + @property @pulumi.getter def status(self) -> Optional[pulumi.Input[str]]: @@ -176,7 +304,11 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, domain_name: Optional[pulumi.Input[str]] = None, + http_origin_port: Optional[pulumi.Input[int]] = None, + https_origin_port: Optional[pulumi.Input[int]] = None, + ipv6_status: Optional[pulumi.Input[str]] = None, origin_info: Optional[pulumi.Input[pulumi.InputType['AccelerationDomainOriginInfoArgs']]] = None, + origin_protocol: Optional[pulumi.Input[str]] = None, status: Optional[pulumi.Input[str]] = None, zone_id: Optional[pulumi.Input[str]] = None, __props__=None): @@ -211,7 +343,11 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] domain_name: Accelerated domain name. + :param pulumi.Input[int] http_origin_port: HTTP back-to-origin port, the value is 1-65535, effective when OriginProtocol=FOLLOW/HTTP, if not filled in, the default value is 80. + :param pulumi.Input[int] https_origin_port: HTTPS back-to-origin port. The value range is 1-65535. It takes effect when OriginProtocol=FOLLOW/HTTPS. If it is not filled in, the default value is 443. + :param pulumi.Input[str] ipv6_status: IPv6 status, the value is: `follow`: follow the site IPv6 configuration; `on`: on; `off`: off. If not filled in, the default is: `follow`. :param pulumi.Input[pulumi.InputType['AccelerationDomainOriginInfoArgs']] origin_info: Details of the origin. + :param pulumi.Input[str] origin_protocol: Origin return protocol, possible values are: `FOLLOW`: protocol follow; `HTTP`: HTTP protocol back to source; `HTTPS`: HTTPS protocol back to source. If not filled in, the default is: `FOLLOW`. :param pulumi.Input[str] status: Accelerated domain name status, the values are: `online`: enabled; `offline`: disabled. :param pulumi.Input[str] zone_id: ID of the site related with the accelerated domain name. """ @@ -265,7 +401,11 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, domain_name: Optional[pulumi.Input[str]] = None, + http_origin_port: Optional[pulumi.Input[int]] = None, + https_origin_port: Optional[pulumi.Input[int]] = None, + ipv6_status: Optional[pulumi.Input[str]] = None, origin_info: Optional[pulumi.Input[pulumi.InputType['AccelerationDomainOriginInfoArgs']]] = None, + origin_protocol: Optional[pulumi.Input[str]] = None, status: Optional[pulumi.Input[str]] = None, zone_id: Optional[pulumi.Input[str]] = None, __props__=None): @@ -280,9 +420,13 @@ def _internal_init(__self__, if domain_name is None and not opts.urn: raise TypeError("Missing required property 'domain_name'") __props__.__dict__["domain_name"] = domain_name + __props__.__dict__["http_origin_port"] = http_origin_port + __props__.__dict__["https_origin_port"] = https_origin_port + __props__.__dict__["ipv6_status"] = ipv6_status if origin_info is None and not opts.urn: raise TypeError("Missing required property 'origin_info'") __props__.__dict__["origin_info"] = origin_info + __props__.__dict__["origin_protocol"] = origin_protocol __props__.__dict__["status"] = status if zone_id is None and not opts.urn: raise TypeError("Missing required property 'zone_id'") @@ -300,7 +444,11 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, cname: Optional[pulumi.Input[str]] = None, domain_name: Optional[pulumi.Input[str]] = None, + http_origin_port: Optional[pulumi.Input[int]] = None, + https_origin_port: Optional[pulumi.Input[int]] = None, + ipv6_status: Optional[pulumi.Input[str]] = None, origin_info: Optional[pulumi.Input[pulumi.InputType['AccelerationDomainOriginInfoArgs']]] = None, + origin_protocol: Optional[pulumi.Input[str]] = None, status: Optional[pulumi.Input[str]] = None, zone_id: Optional[pulumi.Input[str]] = None) -> 'AccelerationDomain': """ @@ -312,7 +460,11 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] cname: CNAME address. :param pulumi.Input[str] domain_name: Accelerated domain name. + :param pulumi.Input[int] http_origin_port: HTTP back-to-origin port, the value is 1-65535, effective when OriginProtocol=FOLLOW/HTTP, if not filled in, the default value is 80. + :param pulumi.Input[int] https_origin_port: HTTPS back-to-origin port. The value range is 1-65535. It takes effect when OriginProtocol=FOLLOW/HTTPS. If it is not filled in, the default value is 443. + :param pulumi.Input[str] ipv6_status: IPv6 status, the value is: `follow`: follow the site IPv6 configuration; `on`: on; `off`: off. If not filled in, the default is: `follow`. :param pulumi.Input[pulumi.InputType['AccelerationDomainOriginInfoArgs']] origin_info: Details of the origin. + :param pulumi.Input[str] origin_protocol: Origin return protocol, possible values are: `FOLLOW`: protocol follow; `HTTP`: HTTP protocol back to source; `HTTPS`: HTTPS protocol back to source. If not filled in, the default is: `FOLLOW`. :param pulumi.Input[str] status: Accelerated domain name status, the values are: `online`: enabled; `offline`: disabled. :param pulumi.Input[str] zone_id: ID of the site related with the accelerated domain name. """ @@ -322,7 +474,11 @@ def get(resource_name: str, __props__.__dict__["cname"] = cname __props__.__dict__["domain_name"] = domain_name + __props__.__dict__["http_origin_port"] = http_origin_port + __props__.__dict__["https_origin_port"] = https_origin_port + __props__.__dict__["ipv6_status"] = ipv6_status __props__.__dict__["origin_info"] = origin_info + __props__.__dict__["origin_protocol"] = origin_protocol __props__.__dict__["status"] = status __props__.__dict__["zone_id"] = zone_id return AccelerationDomain(resource_name, opts=opts, __props__=__props__) @@ -343,6 +499,30 @@ def domain_name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "domain_name") + @property + @pulumi.getter(name="httpOriginPort") + def http_origin_port(self) -> pulumi.Output[int]: + """ + HTTP back-to-origin port, the value is 1-65535, effective when OriginProtocol=FOLLOW/HTTP, if not filled in, the default value is 80. + """ + return pulumi.get(self, "http_origin_port") + + @property + @pulumi.getter(name="httpsOriginPort") + def https_origin_port(self) -> pulumi.Output[int]: + """ + HTTPS back-to-origin port. The value range is 1-65535. It takes effect when OriginProtocol=FOLLOW/HTTPS. If it is not filled in, the default value is 443. + """ + return pulumi.get(self, "https_origin_port") + + @property + @pulumi.getter(name="ipv6Status") + def ipv6_status(self) -> pulumi.Output[str]: + """ + IPv6 status, the value is: `follow`: follow the site IPv6 configuration; `on`: on; `off`: off. If not filled in, the default is: `follow`. + """ + return pulumi.get(self, "ipv6_status") + @property @pulumi.getter(name="originInfo") def origin_info(self) -> pulumi.Output['outputs.AccelerationDomainOriginInfo']: @@ -351,6 +531,14 @@ def origin_info(self) -> pulumi.Output['outputs.AccelerationDomainOriginInfo']: """ return pulumi.get(self, "origin_info") + @property + @pulumi.getter(name="originProtocol") + def origin_protocol(self) -> pulumi.Output[str]: + """ + Origin return protocol, possible values are: `FOLLOW`: protocol follow; `HTTP`: HTTP protocol back to source; `HTTPS`: HTTPS protocol back to source. If not filled in, the default is: `FOLLOW`. + """ + return pulumi.get(self, "origin_protocol") + @property @pulumi.getter def status(self) -> pulumi.Output[Optional[str]]: diff --git a/sdk/python/tencentcloud_iac_pulumi/teo/outputs.py b/sdk/python/tencentcloud_iac_pulumi/teo/outputs.py index 34e816a41..49144e2ec 100644 --- a/sdk/python/tencentcloud_iac_pulumi/teo/outputs.py +++ b/sdk/python/tencentcloud_iac_pulumi/teo/outputs.py @@ -19,6 +19,14 @@ 'OriginGroupRecord', 'OriginGroupRecordPrivateParameter', 'OriginGroupReference', + 'RealtimeLogDeliveryCls', + 'RealtimeLogDeliveryCustomEndpoint', + 'RealtimeLogDeliveryCustomEndpointHeader', + 'RealtimeLogDeliveryCustomField', + 'RealtimeLogDeliveryDeliveryCondition', + 'RealtimeLogDeliveryDeliveryConditionCondition', + 'RealtimeLogDeliveryLogFormat', + 'RealtimeLogDeliveryS3', 'RuleEngineRule', 'RuleEngineRuleAction', 'RuleEngineRuleActionCodeAction', @@ -575,6 +583,515 @@ def instance_type(self) -> Optional[str]: return pulumi.get(self, "instance_type") +@pulumi.output_type +class RealtimeLogDeliveryCls(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "logSetId": + suggest = "log_set_id" + elif key == "logSetRegion": + suggest = "log_set_region" + elif key == "topicId": + suggest = "topic_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RealtimeLogDeliveryCls. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RealtimeLogDeliveryCls.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RealtimeLogDeliveryCls.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + log_set_id: str, + log_set_region: str, + topic_id: str): + """ + :param str log_set_id: Tencent Cloud CLS log set ID. + :param str log_set_region: The region where the Tencent Cloud CLS log set is located. + :param str topic_id: Tencent Cloud CLS log topic ID. + """ + pulumi.set(__self__, "log_set_id", log_set_id) + pulumi.set(__self__, "log_set_region", log_set_region) + pulumi.set(__self__, "topic_id", topic_id) + + @property + @pulumi.getter(name="logSetId") + def log_set_id(self) -> str: + """ + Tencent Cloud CLS log set ID. + """ + return pulumi.get(self, "log_set_id") + + @property + @pulumi.getter(name="logSetRegion") + def log_set_region(self) -> str: + """ + The region where the Tencent Cloud CLS log set is located. + """ + return pulumi.get(self, "log_set_region") + + @property + @pulumi.getter(name="topicId") + def topic_id(self) -> str: + """ + Tencent Cloud CLS log topic ID. + """ + return pulumi.get(self, "topic_id") + + +@pulumi.output_type +class RealtimeLogDeliveryCustomEndpoint(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "accessId": + suggest = "access_id" + elif key == "accessKey": + suggest = "access_key" + elif key == "compressType": + suggest = "compress_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RealtimeLogDeliveryCustomEndpoint. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RealtimeLogDeliveryCustomEndpoint.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RealtimeLogDeliveryCustomEndpoint.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + url: str, + access_id: Optional[str] = None, + access_key: Optional[str] = None, + compress_type: Optional[str] = None, + headers: Optional[Sequence['outputs.RealtimeLogDeliveryCustomEndpointHeader']] = None, + protocol: Optional[str] = None): + """ + :param str url: The custom HTTP interface address for real-time log delivery. Currently, only HTTP/HTTPS protocols are supported. + :param str access_id: Fill in a custom SecretId to generate an encrypted signature. This parameter is required if the source site requires authentication. + :param str access_key: Fill in the custom SecretKey to generate the encrypted signature. This parameter is required if the source site requires authentication. + :param str compress_type: Data compression type, the possible values are: `gzip`: use gzip compression. If it is not filled in, compression is not enabled. + :param Sequence['RealtimeLogDeliveryCustomEndpointHeaderArgs'] headers: The custom request header carried when delivering logs. If the header name you fill in is the default header carried by EdgeOne log push, such as Content-Type, then the header value you fill in will overwrite the default value. The header value references a single variable ${batchSize} to obtain the number of logs included in each POST request. + :param str protocol: When sending logs via POST request, the application layer protocol type used can be: `http`: HTTP protocol; `https`: HTTPS protocol. If not filled in, the protocol type will be parsed according to the filled in URL address. + """ + pulumi.set(__self__, "url", url) + if access_id is not None: + pulumi.set(__self__, "access_id", access_id) + if access_key is not None: + pulumi.set(__self__, "access_key", access_key) + if compress_type is not None: + pulumi.set(__self__, "compress_type", compress_type) + if headers is not None: + pulumi.set(__self__, "headers", headers) + if protocol is not None: + pulumi.set(__self__, "protocol", protocol) + + @property + @pulumi.getter + def url(self) -> str: + """ + The custom HTTP interface address for real-time log delivery. Currently, only HTTP/HTTPS protocols are supported. + """ + return pulumi.get(self, "url") + + @property + @pulumi.getter(name="accessId") + def access_id(self) -> Optional[str]: + """ + Fill in a custom SecretId to generate an encrypted signature. This parameter is required if the source site requires authentication. + """ + return pulumi.get(self, "access_id") + + @property + @pulumi.getter(name="accessKey") + def access_key(self) -> Optional[str]: + """ + Fill in the custom SecretKey to generate the encrypted signature. This parameter is required if the source site requires authentication. + """ + return pulumi.get(self, "access_key") + + @property + @pulumi.getter(name="compressType") + def compress_type(self) -> Optional[str]: + """ + Data compression type, the possible values are: `gzip`: use gzip compression. If it is not filled in, compression is not enabled. + """ + return pulumi.get(self, "compress_type") + + @property + @pulumi.getter + def headers(self) -> Optional[Sequence['outputs.RealtimeLogDeliveryCustomEndpointHeader']]: + """ + The custom request header carried when delivering logs. If the header name you fill in is the default header carried by EdgeOne log push, such as Content-Type, then the header value you fill in will overwrite the default value. The header value references a single variable ${batchSize} to obtain the number of logs included in each POST request. + """ + return pulumi.get(self, "headers") + + @property + @pulumi.getter + def protocol(self) -> Optional[str]: + """ + When sending logs via POST request, the application layer protocol type used can be: `http`: HTTP protocol; `https`: HTTPS protocol. If not filled in, the protocol type will be parsed according to the filled in URL address. + """ + return pulumi.get(self, "protocol") + + +@pulumi.output_type +class RealtimeLogDeliveryCustomEndpointHeader(dict): + def __init__(__self__, *, + name: str, + value: str): + """ + :param str name: HTTP header name. + :param str value: HTTP header value. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def name(self) -> str: + """ + HTTP header name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def value(self) -> str: + """ + HTTP header value. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class RealtimeLogDeliveryCustomField(dict): + def __init__(__self__, *, + name: str, + value: str, + enabled: Optional[bool] = None): + """ + :param str name: Extract data from the specified location in the HTTP request and response. The values are: `ReqHeader`: extract the specified field value from the HTTP request header; `RspHeader`: extract the specified field value from the HTTP response header; `Cookie`: extract the specified field value from the Cookie. + :param str value: The name of the parameter whose value needs to be extracted, for example: Accept-Language. + :param bool enabled: Whether to deliver this field. If left blank, this field will not be delivered. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "value", value) + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def name(self) -> str: + """ + Extract data from the specified location in the HTTP request and response. The values are: `ReqHeader`: extract the specified field value from the HTTP request header; `RspHeader`: extract the specified field value from the HTTP response header; `Cookie`: extract the specified field value from the Cookie. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def value(self) -> str: + """ + The name of the parameter whose value needs to be extracted, for example: Accept-Language. + """ + return pulumi.get(self, "value") + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + """ + Whether to deliver this field. If left blank, this field will not be delivered. + """ + return pulumi.get(self, "enabled") + + +@pulumi.output_type +class RealtimeLogDeliveryDeliveryCondition(dict): + def __init__(__self__, *, + conditions: Optional[Sequence['outputs.RealtimeLogDeliveryDeliveryConditionCondition']] = None): + """ + :param Sequence['RealtimeLogDeliveryDeliveryConditionConditionArgs'] conditions: Log filtering conditions, the detailed filtering conditions are as follows: - `EdgeResponseStatusCode`: filter according to the status code returned by the EdgeOne node to the client. Supported operators: `equal`, `great`, `less`, `great_equal`, `less_equal`; Value range: any integer greater than or equal to 0; - `OriginResponseStatusCode`: filter according to the origin response status code. Supported operators: `equal`, `great`, `less`, `great_equal`, `less_equal`; Value range: any integer greater than or equal to -1; - `SecurityAction`: filter according to the final disposal action after the request hits the security rule. Supported operators: `equal`; Optional options are as follows: `-`: unknown/miss; `Monitor`: observe; `JSChallenge`: JavaScript challenge; `Deny`: intercept; `Allow`: allow; `BlockIP`: IP ban; `Redirect`: redirect; `ReturnCustomPage`: return to a custom page; `ManagedChallenge`: managed challenge; `Silence`: silent; `LongDelay`: respond after a long wait; `ShortDelay`: respond after a short wait; -`SecurityModule`: filter according to the name of the security module that finally handles the request. Supported operators: `equal`; Optional options: `-`: unknown/missed; `CustomRule`: Web Protection - Custom Rules; `RateLimitingCustomRule`: Web Protection - Rate Limiting Rules; `ManagedRule`: Web Protection - Managed Rules; `L7DDoS`: Web Protection - CC Attack Protection; `BotManagement`: Bot Management - Bot Basic Management; `BotClientReputation`: Bot Management - Client Profile Analysis; `BotBehaviorAnalysis`: Bot Management - Bot Intelligent Analysis; `BotCustomRule`: Bot Management - Custom Bot Rules; `BotActiveDetection`: Bot Management - Active Feature Recognition. + """ + if conditions is not None: + pulumi.set(__self__, "conditions", conditions) + + @property + @pulumi.getter + def conditions(self) -> Optional[Sequence['outputs.RealtimeLogDeliveryDeliveryConditionCondition']]: + """ + Log filtering conditions, the detailed filtering conditions are as follows: - `EdgeResponseStatusCode`: filter according to the status code returned by the EdgeOne node to the client. Supported operators: `equal`, `great`, `less`, `great_equal`, `less_equal`; Value range: any integer greater than or equal to 0; - `OriginResponseStatusCode`: filter according to the origin response status code. Supported operators: `equal`, `great`, `less`, `great_equal`, `less_equal`; Value range: any integer greater than or equal to -1; - `SecurityAction`: filter according to the final disposal action after the request hits the security rule. Supported operators: `equal`; Optional options are as follows: `-`: unknown/miss; `Monitor`: observe; `JSChallenge`: JavaScript challenge; `Deny`: intercept; `Allow`: allow; `BlockIP`: IP ban; `Redirect`: redirect; `ReturnCustomPage`: return to a custom page; `ManagedChallenge`: managed challenge; `Silence`: silent; `LongDelay`: respond after a long wait; `ShortDelay`: respond after a short wait; -`SecurityModule`: filter according to the name of the security module that finally handles the request. Supported operators: `equal`; Optional options: `-`: unknown/missed; `CustomRule`: Web Protection - Custom Rules; `RateLimitingCustomRule`: Web Protection - Rate Limiting Rules; `ManagedRule`: Web Protection - Managed Rules; `L7DDoS`: Web Protection - CC Attack Protection; `BotManagement`: Bot Management - Bot Basic Management; `BotClientReputation`: Bot Management - Client Profile Analysis; `BotBehaviorAnalysis`: Bot Management - Bot Intelligent Analysis; `BotCustomRule`: Bot Management - Custom Bot Rules; `BotActiveDetection`: Bot Management - Active Feature Recognition. + """ + return pulumi.get(self, "conditions") + + +@pulumi.output_type +class RealtimeLogDeliveryDeliveryConditionCondition(dict): + def __init__(__self__, *, + key: str, + operator: str, + values: Sequence[str]): + """ + :param str key: The key of the filter condition. + :param str operator: Query condition operator, operation types are: `equals`: equal; `notEquals`: not equal; `include`: include; `notInclude`: not include; `startWith`: start with value; `notStartWith`: not start with value; `endWith`: end with value; `notEndWith`: not end with value. + :param Sequence[str] values: The value of the filter condition. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "operator", operator) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> str: + """ + The key of the filter condition. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter + def operator(self) -> str: + """ + Query condition operator, operation types are: `equals`: equal; `notEquals`: not equal; `include`: include; `notInclude`: not include; `startWith`: start with value; `notStartWith`: not start with value; `endWith`: end with value; `notEndWith`: not end with value. + """ + return pulumi.get(self, "operator") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + The value of the filter condition. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class RealtimeLogDeliveryLogFormat(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "formatType": + suggest = "format_type" + elif key == "batchPrefix": + suggest = "batch_prefix" + elif key == "batchSuffix": + suggest = "batch_suffix" + elif key == "fieldDelimiter": + suggest = "field_delimiter" + elif key == "recordDelimiter": + suggest = "record_delimiter" + elif key == "recordPrefix": + suggest = "record_prefix" + elif key == "recordSuffix": + suggest = "record_suffix" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RealtimeLogDeliveryLogFormat. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RealtimeLogDeliveryLogFormat.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RealtimeLogDeliveryLogFormat.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + format_type: str, + batch_prefix: Optional[str] = None, + batch_suffix: Optional[str] = None, + field_delimiter: Optional[str] = None, + record_delimiter: Optional[str] = None, + record_prefix: Optional[str] = None, + record_suffix: Optional[str] = None): + """ + :param str format_type: The default output format type for log delivery. The possible values are: `json`: Use the default log output format JSON Lines. The fields in a single log are presented as key-value pairs; `csv`: Use the default log output format csv. Only field values are presented in a single log, without field names. + :param str batch_prefix: A string to be added before each log delivery batch. Each log delivery batch may contain multiple log records. + :param str batch_suffix: A string to append after each log delivery batch. + :param str field_delimiter: In a single log record, a string is inserted between fields as a separator. The possible values are: ` `: tab character; `,`: comma; `;`: semicolon. + :param str record_delimiter: The string inserted between log records as a separator. The possible values are: ` + `: newline character; ` `: tab character; `,`: comma. + :param str record_prefix: A string to prepend to each log record. + :param str record_suffix: A string to append to each log record. + + The `s3` object supports the following: + """ + pulumi.set(__self__, "format_type", format_type) + if batch_prefix is not None: + pulumi.set(__self__, "batch_prefix", batch_prefix) + if batch_suffix is not None: + pulumi.set(__self__, "batch_suffix", batch_suffix) + if field_delimiter is not None: + pulumi.set(__self__, "field_delimiter", field_delimiter) + if record_delimiter is not None: + pulumi.set(__self__, "record_delimiter", record_delimiter) + if record_prefix is not None: + pulumi.set(__self__, "record_prefix", record_prefix) + if record_suffix is not None: + pulumi.set(__self__, "record_suffix", record_suffix) + + @property + @pulumi.getter(name="formatType") + def format_type(self) -> str: + """ + The default output format type for log delivery. The possible values are: `json`: Use the default log output format JSON Lines. The fields in a single log are presented as key-value pairs; `csv`: Use the default log output format csv. Only field values are presented in a single log, without field names. + """ + return pulumi.get(self, "format_type") + + @property + @pulumi.getter(name="batchPrefix") + def batch_prefix(self) -> Optional[str]: + """ + A string to be added before each log delivery batch. Each log delivery batch may contain multiple log records. + """ + return pulumi.get(self, "batch_prefix") + + @property + @pulumi.getter(name="batchSuffix") + def batch_suffix(self) -> Optional[str]: + """ + A string to append after each log delivery batch. + """ + return pulumi.get(self, "batch_suffix") + + @property + @pulumi.getter(name="fieldDelimiter") + def field_delimiter(self) -> Optional[str]: + """ + In a single log record, a string is inserted between fields as a separator. The possible values are: ` `: tab character; `,`: comma; `;`: semicolon. + """ + return pulumi.get(self, "field_delimiter") + + @property + @pulumi.getter(name="recordDelimiter") + def record_delimiter(self) -> Optional[str]: + """ + The string inserted between log records as a separator. The possible values are: ` + `: newline character; ` `: tab character; `,`: comma. + """ + return pulumi.get(self, "record_delimiter") + + @property + @pulumi.getter(name="recordPrefix") + def record_prefix(self) -> Optional[str]: + """ + A string to prepend to each log record. + """ + return pulumi.get(self, "record_prefix") + + @property + @pulumi.getter(name="recordSuffix") + def record_suffix(self) -> Optional[str]: + """ + A string to append to each log record. + + The `s3` object supports the following: + """ + return pulumi.get(self, "record_suffix") + + +@pulumi.output_type +class RealtimeLogDeliveryS3(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "accessId": + suggest = "access_id" + elif key == "accessKey": + suggest = "access_key" + elif key == "compressType": + suggest = "compress_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RealtimeLogDeliveryS3. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RealtimeLogDeliveryS3.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RealtimeLogDeliveryS3.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + access_id: str, + access_key: str, + bucket: str, + endpoint: str, + region: str, + compress_type: Optional[str] = None): + """ + :param str access_id: Fill in a custom SecretId to generate an encrypted signature. This parameter is required if the source site requires authentication. + :param str access_key: Fill in the custom SecretKey to generate the encrypted signature. This parameter is required if the source site requires authentication. + :param str bucket: Bucket name and log storage directory, for example: `your_bucket_name/EO-logs/`. If this directory does not exist in the bucket, it will be created automatically. + :param str endpoint: URLs that do not include bucket names or paths, for example: `https://storage.googleapis.com`, `https://s3.ap-northeast-2.amazonaws.com`, `https://cos.ap-nanjing.myqcloud.com`. + :param str region: The region where the bucket is located, for example: ap-northeast-2. + :param str compress_type: Data compression type, the possible values are: `gzip`: use gzip compression. If it is not filled in, compression is not enabled. + """ + pulumi.set(__self__, "access_id", access_id) + pulumi.set(__self__, "access_key", access_key) + pulumi.set(__self__, "bucket", bucket) + pulumi.set(__self__, "endpoint", endpoint) + pulumi.set(__self__, "region", region) + if compress_type is not None: + pulumi.set(__self__, "compress_type", compress_type) + + @property + @pulumi.getter(name="accessId") + def access_id(self) -> str: + """ + Fill in a custom SecretId to generate an encrypted signature. This parameter is required if the source site requires authentication. + """ + return pulumi.get(self, "access_id") + + @property + @pulumi.getter(name="accessKey") + def access_key(self) -> str: + """ + Fill in the custom SecretKey to generate the encrypted signature. This parameter is required if the source site requires authentication. + """ + return pulumi.get(self, "access_key") + + @property + @pulumi.getter + def bucket(self) -> str: + """ + Bucket name and log storage directory, for example: `your_bucket_name/EO-logs/`. If this directory does not exist in the bucket, it will be created automatically. + """ + return pulumi.get(self, "bucket") + + @property + @pulumi.getter + def endpoint(self) -> str: + """ + URLs that do not include bucket names or paths, for example: `https://storage.googleapis.com`, `https://s3.ap-northeast-2.amazonaws.com`, `https://cos.ap-nanjing.myqcloud.com`. + """ + return pulumi.get(self, "endpoint") + + @property + @pulumi.getter + def region(self) -> str: + """ + The region where the bucket is located, for example: ap-northeast-2. + """ + return pulumi.get(self, "region") + + @property + @pulumi.getter(name="compressType") + def compress_type(self) -> Optional[str]: + """ + Data compression type, the possible values are: `gzip`: use gzip compression. If it is not filled in, compression is not enabled. + """ + return pulumi.get(self, "compress_type") + + @pulumi.output_type class RuleEngineRule(dict): @staticmethod @@ -595,34 +1112,35 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - actions: Sequence['outputs.RuleEngineRuleAction'], ors: Sequence['outputs.RuleEngineRuleOr'], + actions: Optional[Sequence['outputs.RuleEngineRuleAction']] = None, sub_rules: Optional[Sequence['outputs.RuleEngineRuleSubRule']] = None): """ - :param Sequence['RuleEngineRuleActionArgs'] actions: Feature to be executed. :param Sequence['RuleEngineRuleOrArgs'] ors: OR Conditions list of the rule. Rule would be triggered if any of the condition is true. + :param Sequence['RuleEngineRuleActionArgs'] actions: Feature to be executed. :param Sequence['RuleEngineRuleSubRuleArgs'] sub_rules: The nested rule. """ - pulumi.set(__self__, "actions", actions) pulumi.set(__self__, "ors", ors) + if actions is not None: + pulumi.set(__self__, "actions", actions) if sub_rules is not None: pulumi.set(__self__, "sub_rules", sub_rules) @property @pulumi.getter - def actions(self) -> Sequence['outputs.RuleEngineRuleAction']: + def ors(self) -> Sequence['outputs.RuleEngineRuleOr']: """ - Feature to be executed. + OR Conditions list of the rule. Rule would be triggered if any of the condition is true. """ - return pulumi.get(self, "actions") + return pulumi.get(self, "ors") @property @pulumi.getter - def ors(self) -> Sequence['outputs.RuleEngineRuleOr']: + def actions(self) -> Optional[Sequence['outputs.RuleEngineRuleAction']]: """ - OR Conditions list of the rule. Rule would be triggered if any of the condition is true. + Feature to be executed. """ - return pulumi.get(self, "ors") + return pulumi.get(self, "actions") @property @pulumi.getter(name="subRules") @@ -1067,30 +1585,31 @@ def tags(self) -> Optional[Sequence[str]]: @pulumi.output_type class RuleEngineRuleSubRuleRule(dict): def __init__(__self__, *, - actions: Sequence['outputs.RuleEngineRuleSubRuleRuleAction'], - ors: Sequence['outputs.RuleEngineRuleSubRuleRuleOr']): + ors: Sequence['outputs.RuleEngineRuleSubRuleRuleOr'], + actions: Optional[Sequence['outputs.RuleEngineRuleSubRuleRuleAction']] = None): """ - :param Sequence['RuleEngineRuleSubRuleRuleActionArgs'] actions: Feature to be executed. :param Sequence['RuleEngineRuleSubRuleRuleOrArgs'] ors: OR Conditions list of the rule. Rule would be triggered if any of the condition is true. + :param Sequence['RuleEngineRuleSubRuleRuleActionArgs'] actions: Feature to be executed. """ - pulumi.set(__self__, "actions", actions) pulumi.set(__self__, "ors", ors) + if actions is not None: + pulumi.set(__self__, "actions", actions) @property @pulumi.getter - def actions(self) -> Sequence['outputs.RuleEngineRuleSubRuleRuleAction']: + def ors(self) -> Sequence['outputs.RuleEngineRuleSubRuleRuleOr']: """ - Feature to be executed. + OR Conditions list of the rule. Rule would be triggered if any of the condition is true. """ - return pulumi.get(self, "actions") + return pulumi.get(self, "ors") @property @pulumi.getter - def ors(self) -> Sequence['outputs.RuleEngineRuleSubRuleRuleOr']: + def actions(self) -> Optional[Sequence['outputs.RuleEngineRuleSubRuleRuleAction']]: """ - OR Conditions list of the rule. Rule would be triggered if any of the condition is true. + Feature to be executed. """ - return pulumi.get(self, "ors") + return pulumi.get(self, "actions") @pulumi.output_type diff --git a/sdk/python/tencentcloud_iac_pulumi/teo/realtime_log_delivery.py b/sdk/python/tencentcloud_iac_pulumi/teo/realtime_log_delivery.py new file mode 100644 index 000000000..e82afa003 --- /dev/null +++ b/sdk/python/tencentcloud_iac_pulumi/teo/realtime_log_delivery.py @@ -0,0 +1,957 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['RealtimeLogDeliveryArgs', 'RealtimeLogDelivery'] + +@pulumi.input_type +class RealtimeLogDeliveryArgs: + def __init__(__self__, *, + area: pulumi.Input[str], + entity_lists: pulumi.Input[Sequence[pulumi.Input[str]]], + fields: pulumi.Input[Sequence[pulumi.Input[str]]], + log_type: pulumi.Input[str], + sample: pulumi.Input[int], + task_name: pulumi.Input[str], + task_type: pulumi.Input[str], + zone_id: pulumi.Input[str], + cls: Optional[pulumi.Input['RealtimeLogDeliveryClsArgs']] = None, + custom_endpoint: Optional[pulumi.Input['RealtimeLogDeliveryCustomEndpointArgs']] = None, + custom_fields: Optional[pulumi.Input[Sequence[pulumi.Input['RealtimeLogDeliveryCustomFieldArgs']]]] = None, + delivery_conditions: Optional[pulumi.Input[Sequence[pulumi.Input['RealtimeLogDeliveryDeliveryConditionArgs']]]] = None, + delivery_status: Optional[pulumi.Input[str]] = None, + log_format: Optional[pulumi.Input['RealtimeLogDeliveryLogFormatArgs']] = None, + s3: Optional[pulumi.Input['RealtimeLogDeliveryS3Args']] = None): + """ + The set of arguments for constructing a RealtimeLogDelivery resource. + :param pulumi.Input[str] area: Data delivery area, possible values are: `mainland`: within mainland China; `overseas`: worldwide (excluding mainland China). + :param pulumi.Input[Sequence[pulumi.Input[str]]] entity_lists: List of entities (seven-layer domain names or four-layer proxy instances) corresponding to real-time log delivery tasks. Example values are as follows: Seven-layer domain name: `domain.example.com`; four-layer proxy instance: sid-2s69eb5wcms7. For values, refer to: `https://cloud.tencent.com/document/api/1552/80690`, `https://cloud.tencent.com/document/api/1552/86336`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] fields: A list of preset fields for delivery. + :param pulumi.Input[str] log_type: Data delivery type, the values are: `domain`: site acceleration log; `application`: four-layer proxy log; `web-rateLiming`: rate limit and CC attack protection log; `web-attack`: managed rule log; `web-rule`: custom rule log; `web-bot`: Bot management log. + :param pulumi.Input[int] sample: The sampling ratio is in thousandths, with a value range of 1-1000. For example, filling in 605 means the sampling ratio is 60.5%. Leaving it blank means the sampling ratio is 100%. + :param pulumi.Input[str] task_name: The name of the real-time log delivery task. The format is a combination of numbers, English, -, and _. The maximum length is 200 characters. + :param pulumi.Input[str] task_type: The real-time log delivery task type. The possible values are: `cls`: push to Tencent Cloud CLS; `custom_endpoint`: push to a custom HTTP(S) address; `s3`: push to an AWS S3 compatible storage bucket address. + :param pulumi.Input[str] zone_id: ID of the site. + :param pulumi.Input['RealtimeLogDeliveryClsArgs'] cls: CLS configuration information. This parameter is required when TaskType is cls. + :param pulumi.Input['RealtimeLogDeliveryCustomEndpointArgs'] custom_endpoint: Customize the configuration information of the HTTP service. This parameter is required when TaskType is set to custom_endpoint. + :param pulumi.Input[Sequence[pulumi.Input['RealtimeLogDeliveryCustomFieldArgs']]] custom_fields: The list of custom fields delivered supports extracting specified field values from HTTP request headers, response headers, and cookies. Custom field names cannot be repeated and cannot exceed 200 fields. + :param pulumi.Input[Sequence[pulumi.Input['RealtimeLogDeliveryDeliveryConditionArgs']]] delivery_conditions: The filter condition for log delivery. If it is not filled, all logs will be delivered. + :param pulumi.Input[str] delivery_status: The status of the real-time log delivery task. The values are: `enabled`: enabled; `disabled`: disabled. Leave it blank to keep the original configuration. Not required when creating. + :param pulumi.Input['RealtimeLogDeliveryLogFormatArgs'] log_format: The output format of log delivery. If it is not filled, it means the default format. The default format logic is as follows: when TaskType is `custom_endpoint`, the default format is an array of multiple JSON objects, each JSON object is a log; when TaskType is `s3`, the default format is JSON Lines; in particular, when TaskType is `cls`, the value of LogFormat.FormatType can only be json, and other parameters in LogFormat will be ignored. It is recommended not to pass LogFormat. + :param pulumi.Input['RealtimeLogDeliveryS3Args'] s3: Configuration information of AWS S3 compatible storage bucket. This parameter is required when TaskType is s3. + """ + pulumi.set(__self__, "area", area) + pulumi.set(__self__, "entity_lists", entity_lists) + pulumi.set(__self__, "fields", fields) + pulumi.set(__self__, "log_type", log_type) + pulumi.set(__self__, "sample", sample) + pulumi.set(__self__, "task_name", task_name) + pulumi.set(__self__, "task_type", task_type) + pulumi.set(__self__, "zone_id", zone_id) + if cls is not None: + pulumi.set(__self__, "cls", cls) + if custom_endpoint is not None: + pulumi.set(__self__, "custom_endpoint", custom_endpoint) + if custom_fields is not None: + pulumi.set(__self__, "custom_fields", custom_fields) + if delivery_conditions is not None: + pulumi.set(__self__, "delivery_conditions", delivery_conditions) + if delivery_status is not None: + pulumi.set(__self__, "delivery_status", delivery_status) + if log_format is not None: + pulumi.set(__self__, "log_format", log_format) + if s3 is not None: + pulumi.set(__self__, "s3", s3) + + @property + @pulumi.getter + def area(self) -> pulumi.Input[str]: + """ + Data delivery area, possible values are: `mainland`: within mainland China; `overseas`: worldwide (excluding mainland China). + """ + return pulumi.get(self, "area") + + @area.setter + def area(self, value: pulumi.Input[str]): + pulumi.set(self, "area", value) + + @property + @pulumi.getter(name="entityLists") + def entity_lists(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + List of entities (seven-layer domain names or four-layer proxy instances) corresponding to real-time log delivery tasks. Example values are as follows: Seven-layer domain name: `domain.example.com`; four-layer proxy instance: sid-2s69eb5wcms7. For values, refer to: `https://cloud.tencent.com/document/api/1552/80690`, `https://cloud.tencent.com/document/api/1552/86336`. + """ + return pulumi.get(self, "entity_lists") + + @entity_lists.setter + def entity_lists(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "entity_lists", value) + + @property + @pulumi.getter + def fields(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + A list of preset fields for delivery. + """ + return pulumi.get(self, "fields") + + @fields.setter + def fields(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "fields", value) + + @property + @pulumi.getter(name="logType") + def log_type(self) -> pulumi.Input[str]: + """ + Data delivery type, the values are: `domain`: site acceleration log; `application`: four-layer proxy log; `web-rateLiming`: rate limit and CC attack protection log; `web-attack`: managed rule log; `web-rule`: custom rule log; `web-bot`: Bot management log. + """ + return pulumi.get(self, "log_type") + + @log_type.setter + def log_type(self, value: pulumi.Input[str]): + pulumi.set(self, "log_type", value) + + @property + @pulumi.getter + def sample(self) -> pulumi.Input[int]: + """ + The sampling ratio is in thousandths, with a value range of 1-1000. For example, filling in 605 means the sampling ratio is 60.5%. Leaving it blank means the sampling ratio is 100%. + """ + return pulumi.get(self, "sample") + + @sample.setter + def sample(self, value: pulumi.Input[int]): + pulumi.set(self, "sample", value) + + @property + @pulumi.getter(name="taskName") + def task_name(self) -> pulumi.Input[str]: + """ + The name of the real-time log delivery task. The format is a combination of numbers, English, -, and _. The maximum length is 200 characters. + """ + return pulumi.get(self, "task_name") + + @task_name.setter + def task_name(self, value: pulumi.Input[str]): + pulumi.set(self, "task_name", value) + + @property + @pulumi.getter(name="taskType") + def task_type(self) -> pulumi.Input[str]: + """ + The real-time log delivery task type. The possible values are: `cls`: push to Tencent Cloud CLS; `custom_endpoint`: push to a custom HTTP(S) address; `s3`: push to an AWS S3 compatible storage bucket address. + """ + return pulumi.get(self, "task_type") + + @task_type.setter + def task_type(self, value: pulumi.Input[str]): + pulumi.set(self, "task_type", value) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Input[str]: + """ + ID of the site. + """ + return pulumi.get(self, "zone_id") + + @zone_id.setter + def zone_id(self, value: pulumi.Input[str]): + pulumi.set(self, "zone_id", value) + + @property + @pulumi.getter + def cls(self) -> Optional[pulumi.Input['RealtimeLogDeliveryClsArgs']]: + """ + CLS configuration information. This parameter is required when TaskType is cls. + """ + return pulumi.get(self, "cls") + + @cls.setter + def cls(self, value: Optional[pulumi.Input['RealtimeLogDeliveryClsArgs']]): + pulumi.set(self, "cls", value) + + @property + @pulumi.getter(name="customEndpoint") + def custom_endpoint(self) -> Optional[pulumi.Input['RealtimeLogDeliveryCustomEndpointArgs']]: + """ + Customize the configuration information of the HTTP service. This parameter is required when TaskType is set to custom_endpoint. + """ + return pulumi.get(self, "custom_endpoint") + + @custom_endpoint.setter + def custom_endpoint(self, value: Optional[pulumi.Input['RealtimeLogDeliveryCustomEndpointArgs']]): + pulumi.set(self, "custom_endpoint", value) + + @property + @pulumi.getter(name="customFields") + def custom_fields(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RealtimeLogDeliveryCustomFieldArgs']]]]: + """ + The list of custom fields delivered supports extracting specified field values from HTTP request headers, response headers, and cookies. Custom field names cannot be repeated and cannot exceed 200 fields. + """ + return pulumi.get(self, "custom_fields") + + @custom_fields.setter + def custom_fields(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RealtimeLogDeliveryCustomFieldArgs']]]]): + pulumi.set(self, "custom_fields", value) + + @property + @pulumi.getter(name="deliveryConditions") + def delivery_conditions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RealtimeLogDeliveryDeliveryConditionArgs']]]]: + """ + The filter condition for log delivery. If it is not filled, all logs will be delivered. + """ + return pulumi.get(self, "delivery_conditions") + + @delivery_conditions.setter + def delivery_conditions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RealtimeLogDeliveryDeliveryConditionArgs']]]]): + pulumi.set(self, "delivery_conditions", value) + + @property + @pulumi.getter(name="deliveryStatus") + def delivery_status(self) -> Optional[pulumi.Input[str]]: + """ + The status of the real-time log delivery task. The values are: `enabled`: enabled; `disabled`: disabled. Leave it blank to keep the original configuration. Not required when creating. + """ + return pulumi.get(self, "delivery_status") + + @delivery_status.setter + def delivery_status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "delivery_status", value) + + @property + @pulumi.getter(name="logFormat") + def log_format(self) -> Optional[pulumi.Input['RealtimeLogDeliveryLogFormatArgs']]: + """ + The output format of log delivery. If it is not filled, it means the default format. The default format logic is as follows: when TaskType is `custom_endpoint`, the default format is an array of multiple JSON objects, each JSON object is a log; when TaskType is `s3`, the default format is JSON Lines; in particular, when TaskType is `cls`, the value of LogFormat.FormatType can only be json, and other parameters in LogFormat will be ignored. It is recommended not to pass LogFormat. + """ + return pulumi.get(self, "log_format") + + @log_format.setter + def log_format(self, value: Optional[pulumi.Input['RealtimeLogDeliveryLogFormatArgs']]): + pulumi.set(self, "log_format", value) + + @property + @pulumi.getter + def s3(self) -> Optional[pulumi.Input['RealtimeLogDeliveryS3Args']]: + """ + Configuration information of AWS S3 compatible storage bucket. This parameter is required when TaskType is s3. + """ + return pulumi.get(self, "s3") + + @s3.setter + def s3(self, value: Optional[pulumi.Input['RealtimeLogDeliveryS3Args']]): + pulumi.set(self, "s3", value) + + +@pulumi.input_type +class _RealtimeLogDeliveryState: + def __init__(__self__, *, + area: Optional[pulumi.Input[str]] = None, + cls: Optional[pulumi.Input['RealtimeLogDeliveryClsArgs']] = None, + custom_endpoint: Optional[pulumi.Input['RealtimeLogDeliveryCustomEndpointArgs']] = None, + custom_fields: Optional[pulumi.Input[Sequence[pulumi.Input['RealtimeLogDeliveryCustomFieldArgs']]]] = None, + delivery_conditions: Optional[pulumi.Input[Sequence[pulumi.Input['RealtimeLogDeliveryDeliveryConditionArgs']]]] = None, + delivery_status: Optional[pulumi.Input[str]] = None, + entity_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + fields: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + log_format: Optional[pulumi.Input['RealtimeLogDeliveryLogFormatArgs']] = None, + log_type: Optional[pulumi.Input[str]] = None, + s3: Optional[pulumi.Input['RealtimeLogDeliveryS3Args']] = None, + sample: Optional[pulumi.Input[int]] = None, + task_id: Optional[pulumi.Input[str]] = None, + task_name: Optional[pulumi.Input[str]] = None, + task_type: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering RealtimeLogDelivery resources. + :param pulumi.Input[str] area: Data delivery area, possible values are: `mainland`: within mainland China; `overseas`: worldwide (excluding mainland China). + :param pulumi.Input['RealtimeLogDeliveryClsArgs'] cls: CLS configuration information. This parameter is required when TaskType is cls. + :param pulumi.Input['RealtimeLogDeliveryCustomEndpointArgs'] custom_endpoint: Customize the configuration information of the HTTP service. This parameter is required when TaskType is set to custom_endpoint. + :param pulumi.Input[Sequence[pulumi.Input['RealtimeLogDeliveryCustomFieldArgs']]] custom_fields: The list of custom fields delivered supports extracting specified field values from HTTP request headers, response headers, and cookies. Custom field names cannot be repeated and cannot exceed 200 fields. + :param pulumi.Input[Sequence[pulumi.Input['RealtimeLogDeliveryDeliveryConditionArgs']]] delivery_conditions: The filter condition for log delivery. If it is not filled, all logs will be delivered. + :param pulumi.Input[str] delivery_status: The status of the real-time log delivery task. The values are: `enabled`: enabled; `disabled`: disabled. Leave it blank to keep the original configuration. Not required when creating. + :param pulumi.Input[Sequence[pulumi.Input[str]]] entity_lists: List of entities (seven-layer domain names or four-layer proxy instances) corresponding to real-time log delivery tasks. Example values are as follows: Seven-layer domain name: `domain.example.com`; four-layer proxy instance: sid-2s69eb5wcms7. For values, refer to: `https://cloud.tencent.com/document/api/1552/80690`, `https://cloud.tencent.com/document/api/1552/86336`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] fields: A list of preset fields for delivery. + :param pulumi.Input['RealtimeLogDeliveryLogFormatArgs'] log_format: The output format of log delivery. If it is not filled, it means the default format. The default format logic is as follows: when TaskType is `custom_endpoint`, the default format is an array of multiple JSON objects, each JSON object is a log; when TaskType is `s3`, the default format is JSON Lines; in particular, when TaskType is `cls`, the value of LogFormat.FormatType can only be json, and other parameters in LogFormat will be ignored. It is recommended not to pass LogFormat. + :param pulumi.Input[str] log_type: Data delivery type, the values are: `domain`: site acceleration log; `application`: four-layer proxy log; `web-rateLiming`: rate limit and CC attack protection log; `web-attack`: managed rule log; `web-rule`: custom rule log; `web-bot`: Bot management log. + :param pulumi.Input['RealtimeLogDeliveryS3Args'] s3: Configuration information of AWS S3 compatible storage bucket. This parameter is required when TaskType is s3. + :param pulumi.Input[int] sample: The sampling ratio is in thousandths, with a value range of 1-1000. For example, filling in 605 means the sampling ratio is 60.5%. Leaving it blank means the sampling ratio is 100%. + :param pulumi.Input[str] task_id: Real-time log delivery task ID. + :param pulumi.Input[str] task_name: The name of the real-time log delivery task. The format is a combination of numbers, English, -, and _. The maximum length is 200 characters. + :param pulumi.Input[str] task_type: The real-time log delivery task type. The possible values are: `cls`: push to Tencent Cloud CLS; `custom_endpoint`: push to a custom HTTP(S) address; `s3`: push to an AWS S3 compatible storage bucket address. + :param pulumi.Input[str] zone_id: ID of the site. + """ + if area is not None: + pulumi.set(__self__, "area", area) + if cls is not None: + pulumi.set(__self__, "cls", cls) + if custom_endpoint is not None: + pulumi.set(__self__, "custom_endpoint", custom_endpoint) + if custom_fields is not None: + pulumi.set(__self__, "custom_fields", custom_fields) + if delivery_conditions is not None: + pulumi.set(__self__, "delivery_conditions", delivery_conditions) + if delivery_status is not None: + pulumi.set(__self__, "delivery_status", delivery_status) + if entity_lists is not None: + pulumi.set(__self__, "entity_lists", entity_lists) + if fields is not None: + pulumi.set(__self__, "fields", fields) + if log_format is not None: + pulumi.set(__self__, "log_format", log_format) + if log_type is not None: + pulumi.set(__self__, "log_type", log_type) + if s3 is not None: + pulumi.set(__self__, "s3", s3) + if sample is not None: + pulumi.set(__self__, "sample", sample) + if task_id is not None: + pulumi.set(__self__, "task_id", task_id) + if task_name is not None: + pulumi.set(__self__, "task_name", task_name) + if task_type is not None: + pulumi.set(__self__, "task_type", task_type) + if zone_id is not None: + pulumi.set(__self__, "zone_id", zone_id) + + @property + @pulumi.getter + def area(self) -> Optional[pulumi.Input[str]]: + """ + Data delivery area, possible values are: `mainland`: within mainland China; `overseas`: worldwide (excluding mainland China). + """ + return pulumi.get(self, "area") + + @area.setter + def area(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "area", value) + + @property + @pulumi.getter + def cls(self) -> Optional[pulumi.Input['RealtimeLogDeliveryClsArgs']]: + """ + CLS configuration information. This parameter is required when TaskType is cls. + """ + return pulumi.get(self, "cls") + + @cls.setter + def cls(self, value: Optional[pulumi.Input['RealtimeLogDeliveryClsArgs']]): + pulumi.set(self, "cls", value) + + @property + @pulumi.getter(name="customEndpoint") + def custom_endpoint(self) -> Optional[pulumi.Input['RealtimeLogDeliveryCustomEndpointArgs']]: + """ + Customize the configuration information of the HTTP service. This parameter is required when TaskType is set to custom_endpoint. + """ + return pulumi.get(self, "custom_endpoint") + + @custom_endpoint.setter + def custom_endpoint(self, value: Optional[pulumi.Input['RealtimeLogDeliveryCustomEndpointArgs']]): + pulumi.set(self, "custom_endpoint", value) + + @property + @pulumi.getter(name="customFields") + def custom_fields(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RealtimeLogDeliveryCustomFieldArgs']]]]: + """ + The list of custom fields delivered supports extracting specified field values from HTTP request headers, response headers, and cookies. Custom field names cannot be repeated and cannot exceed 200 fields. + """ + return pulumi.get(self, "custom_fields") + + @custom_fields.setter + def custom_fields(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RealtimeLogDeliveryCustomFieldArgs']]]]): + pulumi.set(self, "custom_fields", value) + + @property + @pulumi.getter(name="deliveryConditions") + def delivery_conditions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RealtimeLogDeliveryDeliveryConditionArgs']]]]: + """ + The filter condition for log delivery. If it is not filled, all logs will be delivered. + """ + return pulumi.get(self, "delivery_conditions") + + @delivery_conditions.setter + def delivery_conditions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RealtimeLogDeliveryDeliveryConditionArgs']]]]): + pulumi.set(self, "delivery_conditions", value) + + @property + @pulumi.getter(name="deliveryStatus") + def delivery_status(self) -> Optional[pulumi.Input[str]]: + """ + The status of the real-time log delivery task. The values are: `enabled`: enabled; `disabled`: disabled. Leave it blank to keep the original configuration. Not required when creating. + """ + return pulumi.get(self, "delivery_status") + + @delivery_status.setter + def delivery_status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "delivery_status", value) + + @property + @pulumi.getter(name="entityLists") + def entity_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of entities (seven-layer domain names or four-layer proxy instances) corresponding to real-time log delivery tasks. Example values are as follows: Seven-layer domain name: `domain.example.com`; four-layer proxy instance: sid-2s69eb5wcms7. For values, refer to: `https://cloud.tencent.com/document/api/1552/80690`, `https://cloud.tencent.com/document/api/1552/86336`. + """ + return pulumi.get(self, "entity_lists") + + @entity_lists.setter + def entity_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "entity_lists", value) + + @property + @pulumi.getter + def fields(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + A list of preset fields for delivery. + """ + return pulumi.get(self, "fields") + + @fields.setter + def fields(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "fields", value) + + @property + @pulumi.getter(name="logFormat") + def log_format(self) -> Optional[pulumi.Input['RealtimeLogDeliveryLogFormatArgs']]: + """ + The output format of log delivery. If it is not filled, it means the default format. The default format logic is as follows: when TaskType is `custom_endpoint`, the default format is an array of multiple JSON objects, each JSON object is a log; when TaskType is `s3`, the default format is JSON Lines; in particular, when TaskType is `cls`, the value of LogFormat.FormatType can only be json, and other parameters in LogFormat will be ignored. It is recommended not to pass LogFormat. + """ + return pulumi.get(self, "log_format") + + @log_format.setter + def log_format(self, value: Optional[pulumi.Input['RealtimeLogDeliveryLogFormatArgs']]): + pulumi.set(self, "log_format", value) + + @property + @pulumi.getter(name="logType") + def log_type(self) -> Optional[pulumi.Input[str]]: + """ + Data delivery type, the values are: `domain`: site acceleration log; `application`: four-layer proxy log; `web-rateLiming`: rate limit and CC attack protection log; `web-attack`: managed rule log; `web-rule`: custom rule log; `web-bot`: Bot management log. + """ + return pulumi.get(self, "log_type") + + @log_type.setter + def log_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "log_type", value) + + @property + @pulumi.getter + def s3(self) -> Optional[pulumi.Input['RealtimeLogDeliveryS3Args']]: + """ + Configuration information of AWS S3 compatible storage bucket. This parameter is required when TaskType is s3. + """ + return pulumi.get(self, "s3") + + @s3.setter + def s3(self, value: Optional[pulumi.Input['RealtimeLogDeliveryS3Args']]): + pulumi.set(self, "s3", value) + + @property + @pulumi.getter + def sample(self) -> Optional[pulumi.Input[int]]: + """ + The sampling ratio is in thousandths, with a value range of 1-1000. For example, filling in 605 means the sampling ratio is 60.5%. Leaving it blank means the sampling ratio is 100%. + """ + return pulumi.get(self, "sample") + + @sample.setter + def sample(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "sample", value) + + @property + @pulumi.getter(name="taskId") + def task_id(self) -> Optional[pulumi.Input[str]]: + """ + Real-time log delivery task ID. + """ + return pulumi.get(self, "task_id") + + @task_id.setter + def task_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "task_id", value) + + @property + @pulumi.getter(name="taskName") + def task_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the real-time log delivery task. The format is a combination of numbers, English, -, and _. The maximum length is 200 characters. + """ + return pulumi.get(self, "task_name") + + @task_name.setter + def task_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "task_name", value) + + @property + @pulumi.getter(name="taskType") + def task_type(self) -> Optional[pulumi.Input[str]]: + """ + The real-time log delivery task type. The possible values are: `cls`: push to Tencent Cloud CLS; `custom_endpoint`: push to a custom HTTP(S) address; `s3`: push to an AWS S3 compatible storage bucket address. + """ + return pulumi.get(self, "task_type") + + @task_type.setter + def task_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "task_type", value) + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the site. + """ + return pulumi.get(self, "zone_id") + + @zone_id.setter + def zone_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "zone_id", value) + + +class RealtimeLogDelivery(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + area: Optional[pulumi.Input[str]] = None, + cls: Optional[pulumi.Input[pulumi.InputType['RealtimeLogDeliveryClsArgs']]] = None, + custom_endpoint: Optional[pulumi.Input[pulumi.InputType['RealtimeLogDeliveryCustomEndpointArgs']]] = None, + custom_fields: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RealtimeLogDeliveryCustomFieldArgs']]]]] = None, + delivery_conditions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RealtimeLogDeliveryDeliveryConditionArgs']]]]] = None, + delivery_status: Optional[pulumi.Input[str]] = None, + entity_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + fields: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + log_format: Optional[pulumi.Input[pulumi.InputType['RealtimeLogDeliveryLogFormatArgs']]] = None, + log_type: Optional[pulumi.Input[str]] = None, + s3: Optional[pulumi.Input[pulumi.InputType['RealtimeLogDeliveryS3Args']]] = None, + sample: Optional[pulumi.Input[int]] = None, + task_name: Optional[pulumi.Input[str]] = None, + task_type: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides a resource to create a teo teo_realtime_log_delivery + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + teo_realtime_log_delivery = tencentcloud.teo.RealtimeLogDelivery("teoRealtimeLogDelivery", + area="overseas", + delivery_status="disabled", + entity_lists=["sid-2yvhjw98uaco"], + fields=[ + "ServiceID", + "ConnectTimeStamp", + "DisconnetTimeStamp", + "DisconnetReason", + "ClientRealIP", + "ClientRegion", + "EdgeIP", + "ForwardProtocol", + "ForwardPort", + "SentBytes", + "ReceivedBytes", + "LogTimeStamp", + ], + log_format=tencentcloud.teo.RealtimeLogDeliveryLogFormatArgs( + field_delimiter=",", + format_type="json", + record_delimiter=\"\"\" + + \"\"\", + record_prefix="{", + record_suffix="}", + ), + log_type="application", + s3=tencentcloud.teo.RealtimeLogDeliveryS3Args( + access_id="xxxxxxxxxx", + access_key="xxxxxxxxxx", + bucket="test-1253833068", + compress_type="gzip", + endpoint="https://test-1253833068.cos.ap-nanjing.myqcloud.com", + region="ap-nanjing", + ), + sample=0, + task_name="test", + task_type="s3", + zone_id="zone-2qtuhspy7cr6") + ``` + + + ## Import + + teo teo_realtime_log_delivery can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Teo/realtimeLogDelivery:RealtimeLogDelivery teo_realtime_log_delivery zoneId#taskId + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] area: Data delivery area, possible values are: `mainland`: within mainland China; `overseas`: worldwide (excluding mainland China). + :param pulumi.Input[pulumi.InputType['RealtimeLogDeliveryClsArgs']] cls: CLS configuration information. This parameter is required when TaskType is cls. + :param pulumi.Input[pulumi.InputType['RealtimeLogDeliveryCustomEndpointArgs']] custom_endpoint: Customize the configuration information of the HTTP service. This parameter is required when TaskType is set to custom_endpoint. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RealtimeLogDeliveryCustomFieldArgs']]]] custom_fields: The list of custom fields delivered supports extracting specified field values from HTTP request headers, response headers, and cookies. Custom field names cannot be repeated and cannot exceed 200 fields. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RealtimeLogDeliveryDeliveryConditionArgs']]]] delivery_conditions: The filter condition for log delivery. If it is not filled, all logs will be delivered. + :param pulumi.Input[str] delivery_status: The status of the real-time log delivery task. The values are: `enabled`: enabled; `disabled`: disabled. Leave it blank to keep the original configuration. Not required when creating. + :param pulumi.Input[Sequence[pulumi.Input[str]]] entity_lists: List of entities (seven-layer domain names or four-layer proxy instances) corresponding to real-time log delivery tasks. Example values are as follows: Seven-layer domain name: `domain.example.com`; four-layer proxy instance: sid-2s69eb5wcms7. For values, refer to: `https://cloud.tencent.com/document/api/1552/80690`, `https://cloud.tencent.com/document/api/1552/86336`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] fields: A list of preset fields for delivery. + :param pulumi.Input[pulumi.InputType['RealtimeLogDeliveryLogFormatArgs']] log_format: The output format of log delivery. If it is not filled, it means the default format. The default format logic is as follows: when TaskType is `custom_endpoint`, the default format is an array of multiple JSON objects, each JSON object is a log; when TaskType is `s3`, the default format is JSON Lines; in particular, when TaskType is `cls`, the value of LogFormat.FormatType can only be json, and other parameters in LogFormat will be ignored. It is recommended not to pass LogFormat. + :param pulumi.Input[str] log_type: Data delivery type, the values are: `domain`: site acceleration log; `application`: four-layer proxy log; `web-rateLiming`: rate limit and CC attack protection log; `web-attack`: managed rule log; `web-rule`: custom rule log; `web-bot`: Bot management log. + :param pulumi.Input[pulumi.InputType['RealtimeLogDeliveryS3Args']] s3: Configuration information of AWS S3 compatible storage bucket. This parameter is required when TaskType is s3. + :param pulumi.Input[int] sample: The sampling ratio is in thousandths, with a value range of 1-1000. For example, filling in 605 means the sampling ratio is 60.5%. Leaving it blank means the sampling ratio is 100%. + :param pulumi.Input[str] task_name: The name of the real-time log delivery task. The format is a combination of numbers, English, -, and _. The maximum length is 200 characters. + :param pulumi.Input[str] task_type: The real-time log delivery task type. The possible values are: `cls`: push to Tencent Cloud CLS; `custom_endpoint`: push to a custom HTTP(S) address; `s3`: push to an AWS S3 compatible storage bucket address. + :param pulumi.Input[str] zone_id: ID of the site. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: RealtimeLogDeliveryArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource to create a teo teo_realtime_log_delivery + + ## Example Usage + + + ```python + import pulumi + import tencentcloud_iac_pulumi as tencentcloud + + teo_realtime_log_delivery = tencentcloud.teo.RealtimeLogDelivery("teoRealtimeLogDelivery", + area="overseas", + delivery_status="disabled", + entity_lists=["sid-2yvhjw98uaco"], + fields=[ + "ServiceID", + "ConnectTimeStamp", + "DisconnetTimeStamp", + "DisconnetReason", + "ClientRealIP", + "ClientRegion", + "EdgeIP", + "ForwardProtocol", + "ForwardPort", + "SentBytes", + "ReceivedBytes", + "LogTimeStamp", + ], + log_format=tencentcloud.teo.RealtimeLogDeliveryLogFormatArgs( + field_delimiter=",", + format_type="json", + record_delimiter=\"\"\" + + \"\"\", + record_prefix="{", + record_suffix="}", + ), + log_type="application", + s3=tencentcloud.teo.RealtimeLogDeliveryS3Args( + access_id="xxxxxxxxxx", + access_key="xxxxxxxxxx", + bucket="test-1253833068", + compress_type="gzip", + endpoint="https://test-1253833068.cos.ap-nanjing.myqcloud.com", + region="ap-nanjing", + ), + sample=0, + task_name="test", + task_type="s3", + zone_id="zone-2qtuhspy7cr6") + ``` + + + ## Import + + teo teo_realtime_log_delivery can be imported using the id, e.g. + + ```sh + $ pulumi import tencentcloud:Teo/realtimeLogDelivery:RealtimeLogDelivery teo_realtime_log_delivery zoneId#taskId + ``` + + :param str resource_name: The name of the resource. + :param RealtimeLogDeliveryArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(RealtimeLogDeliveryArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + area: Optional[pulumi.Input[str]] = None, + cls: Optional[pulumi.Input[pulumi.InputType['RealtimeLogDeliveryClsArgs']]] = None, + custom_endpoint: Optional[pulumi.Input[pulumi.InputType['RealtimeLogDeliveryCustomEndpointArgs']]] = None, + custom_fields: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RealtimeLogDeliveryCustomFieldArgs']]]]] = None, + delivery_conditions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RealtimeLogDeliveryDeliveryConditionArgs']]]]] = None, + delivery_status: Optional[pulumi.Input[str]] = None, + entity_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + fields: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + log_format: Optional[pulumi.Input[pulumi.InputType['RealtimeLogDeliveryLogFormatArgs']]] = None, + log_type: Optional[pulumi.Input[str]] = None, + s3: Optional[pulumi.Input[pulumi.InputType['RealtimeLogDeliveryS3Args']]] = None, + sample: Optional[pulumi.Input[int]] = None, + task_name: Optional[pulumi.Input[str]] = None, + task_type: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = RealtimeLogDeliveryArgs.__new__(RealtimeLogDeliveryArgs) + + if area is None and not opts.urn: + raise TypeError("Missing required property 'area'") + __props__.__dict__["area"] = area + __props__.__dict__["cls"] = cls + __props__.__dict__["custom_endpoint"] = custom_endpoint + __props__.__dict__["custom_fields"] = custom_fields + __props__.__dict__["delivery_conditions"] = delivery_conditions + __props__.__dict__["delivery_status"] = delivery_status + if entity_lists is None and not opts.urn: + raise TypeError("Missing required property 'entity_lists'") + __props__.__dict__["entity_lists"] = entity_lists + if fields is None and not opts.urn: + raise TypeError("Missing required property 'fields'") + __props__.__dict__["fields"] = fields + __props__.__dict__["log_format"] = log_format + if log_type is None and not opts.urn: + raise TypeError("Missing required property 'log_type'") + __props__.__dict__["log_type"] = log_type + __props__.__dict__["s3"] = s3 + if sample is None and not opts.urn: + raise TypeError("Missing required property 'sample'") + __props__.__dict__["sample"] = sample + if task_name is None and not opts.urn: + raise TypeError("Missing required property 'task_name'") + __props__.__dict__["task_name"] = task_name + if task_type is None and not opts.urn: + raise TypeError("Missing required property 'task_type'") + __props__.__dict__["task_type"] = task_type + if zone_id is None and not opts.urn: + raise TypeError("Missing required property 'zone_id'") + __props__.__dict__["zone_id"] = zone_id + __props__.__dict__["task_id"] = None + super(RealtimeLogDelivery, __self__).__init__( + 'tencentcloud:Teo/realtimeLogDelivery:RealtimeLogDelivery', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + area: Optional[pulumi.Input[str]] = None, + cls: Optional[pulumi.Input[pulumi.InputType['RealtimeLogDeliveryClsArgs']]] = None, + custom_endpoint: Optional[pulumi.Input[pulumi.InputType['RealtimeLogDeliveryCustomEndpointArgs']]] = None, + custom_fields: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RealtimeLogDeliveryCustomFieldArgs']]]]] = None, + delivery_conditions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RealtimeLogDeliveryDeliveryConditionArgs']]]]] = None, + delivery_status: Optional[pulumi.Input[str]] = None, + entity_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + fields: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + log_format: Optional[pulumi.Input[pulumi.InputType['RealtimeLogDeliveryLogFormatArgs']]] = None, + log_type: Optional[pulumi.Input[str]] = None, + s3: Optional[pulumi.Input[pulumi.InputType['RealtimeLogDeliveryS3Args']]] = None, + sample: Optional[pulumi.Input[int]] = None, + task_id: Optional[pulumi.Input[str]] = None, + task_name: Optional[pulumi.Input[str]] = None, + task_type: Optional[pulumi.Input[str]] = None, + zone_id: Optional[pulumi.Input[str]] = None) -> 'RealtimeLogDelivery': + """ + Get an existing RealtimeLogDelivery resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] area: Data delivery area, possible values are: `mainland`: within mainland China; `overseas`: worldwide (excluding mainland China). + :param pulumi.Input[pulumi.InputType['RealtimeLogDeliveryClsArgs']] cls: CLS configuration information. This parameter is required when TaskType is cls. + :param pulumi.Input[pulumi.InputType['RealtimeLogDeliveryCustomEndpointArgs']] custom_endpoint: Customize the configuration information of the HTTP service. This parameter is required when TaskType is set to custom_endpoint. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RealtimeLogDeliveryCustomFieldArgs']]]] custom_fields: The list of custom fields delivered supports extracting specified field values from HTTP request headers, response headers, and cookies. Custom field names cannot be repeated and cannot exceed 200 fields. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RealtimeLogDeliveryDeliveryConditionArgs']]]] delivery_conditions: The filter condition for log delivery. If it is not filled, all logs will be delivered. + :param pulumi.Input[str] delivery_status: The status of the real-time log delivery task. The values are: `enabled`: enabled; `disabled`: disabled. Leave it blank to keep the original configuration. Not required when creating. + :param pulumi.Input[Sequence[pulumi.Input[str]]] entity_lists: List of entities (seven-layer domain names or four-layer proxy instances) corresponding to real-time log delivery tasks. Example values are as follows: Seven-layer domain name: `domain.example.com`; four-layer proxy instance: sid-2s69eb5wcms7. For values, refer to: `https://cloud.tencent.com/document/api/1552/80690`, `https://cloud.tencent.com/document/api/1552/86336`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] fields: A list of preset fields for delivery. + :param pulumi.Input[pulumi.InputType['RealtimeLogDeliveryLogFormatArgs']] log_format: The output format of log delivery. If it is not filled, it means the default format. The default format logic is as follows: when TaskType is `custom_endpoint`, the default format is an array of multiple JSON objects, each JSON object is a log; when TaskType is `s3`, the default format is JSON Lines; in particular, when TaskType is `cls`, the value of LogFormat.FormatType can only be json, and other parameters in LogFormat will be ignored. It is recommended not to pass LogFormat. + :param pulumi.Input[str] log_type: Data delivery type, the values are: `domain`: site acceleration log; `application`: four-layer proxy log; `web-rateLiming`: rate limit and CC attack protection log; `web-attack`: managed rule log; `web-rule`: custom rule log; `web-bot`: Bot management log. + :param pulumi.Input[pulumi.InputType['RealtimeLogDeliveryS3Args']] s3: Configuration information of AWS S3 compatible storage bucket. This parameter is required when TaskType is s3. + :param pulumi.Input[int] sample: The sampling ratio is in thousandths, with a value range of 1-1000. For example, filling in 605 means the sampling ratio is 60.5%. Leaving it blank means the sampling ratio is 100%. + :param pulumi.Input[str] task_id: Real-time log delivery task ID. + :param pulumi.Input[str] task_name: The name of the real-time log delivery task. The format is a combination of numbers, English, -, and _. The maximum length is 200 characters. + :param pulumi.Input[str] task_type: The real-time log delivery task type. The possible values are: `cls`: push to Tencent Cloud CLS; `custom_endpoint`: push to a custom HTTP(S) address; `s3`: push to an AWS S3 compatible storage bucket address. + :param pulumi.Input[str] zone_id: ID of the site. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _RealtimeLogDeliveryState.__new__(_RealtimeLogDeliveryState) + + __props__.__dict__["area"] = area + __props__.__dict__["cls"] = cls + __props__.__dict__["custom_endpoint"] = custom_endpoint + __props__.__dict__["custom_fields"] = custom_fields + __props__.__dict__["delivery_conditions"] = delivery_conditions + __props__.__dict__["delivery_status"] = delivery_status + __props__.__dict__["entity_lists"] = entity_lists + __props__.__dict__["fields"] = fields + __props__.__dict__["log_format"] = log_format + __props__.__dict__["log_type"] = log_type + __props__.__dict__["s3"] = s3 + __props__.__dict__["sample"] = sample + __props__.__dict__["task_id"] = task_id + __props__.__dict__["task_name"] = task_name + __props__.__dict__["task_type"] = task_type + __props__.__dict__["zone_id"] = zone_id + return RealtimeLogDelivery(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def area(self) -> pulumi.Output[str]: + """ + Data delivery area, possible values are: `mainland`: within mainland China; `overseas`: worldwide (excluding mainland China). + """ + return pulumi.get(self, "area") + + @property + @pulumi.getter + def cls(self) -> pulumi.Output['outputs.RealtimeLogDeliveryCls']: + """ + CLS configuration information. This parameter is required when TaskType is cls. + """ + return pulumi.get(self, "cls") + + @property + @pulumi.getter(name="customEndpoint") + def custom_endpoint(self) -> pulumi.Output['outputs.RealtimeLogDeliveryCustomEndpoint']: + """ + Customize the configuration information of the HTTP service. This parameter is required when TaskType is set to custom_endpoint. + """ + return pulumi.get(self, "custom_endpoint") + + @property + @pulumi.getter(name="customFields") + def custom_fields(self) -> pulumi.Output[Sequence['outputs.RealtimeLogDeliveryCustomField']]: + """ + The list of custom fields delivered supports extracting specified field values from HTTP request headers, response headers, and cookies. Custom field names cannot be repeated and cannot exceed 200 fields. + """ + return pulumi.get(self, "custom_fields") + + @property + @pulumi.getter(name="deliveryConditions") + def delivery_conditions(self) -> pulumi.Output[Sequence['outputs.RealtimeLogDeliveryDeliveryCondition']]: + """ + The filter condition for log delivery. If it is not filled, all logs will be delivered. + """ + return pulumi.get(self, "delivery_conditions") + + @property + @pulumi.getter(name="deliveryStatus") + def delivery_status(self) -> pulumi.Output[str]: + """ + The status of the real-time log delivery task. The values are: `enabled`: enabled; `disabled`: disabled. Leave it blank to keep the original configuration. Not required when creating. + """ + return pulumi.get(self, "delivery_status") + + @property + @pulumi.getter(name="entityLists") + def entity_lists(self) -> pulumi.Output[Sequence[str]]: + """ + List of entities (seven-layer domain names or four-layer proxy instances) corresponding to real-time log delivery tasks. Example values are as follows: Seven-layer domain name: `domain.example.com`; four-layer proxy instance: sid-2s69eb5wcms7. For values, refer to: `https://cloud.tencent.com/document/api/1552/80690`, `https://cloud.tencent.com/document/api/1552/86336`. + """ + return pulumi.get(self, "entity_lists") + + @property + @pulumi.getter + def fields(self) -> pulumi.Output[Sequence[str]]: + """ + A list of preset fields for delivery. + """ + return pulumi.get(self, "fields") + + @property + @pulumi.getter(name="logFormat") + def log_format(self) -> pulumi.Output['outputs.RealtimeLogDeliveryLogFormat']: + """ + The output format of log delivery. If it is not filled, it means the default format. The default format logic is as follows: when TaskType is `custom_endpoint`, the default format is an array of multiple JSON objects, each JSON object is a log; when TaskType is `s3`, the default format is JSON Lines; in particular, when TaskType is `cls`, the value of LogFormat.FormatType can only be json, and other parameters in LogFormat will be ignored. It is recommended not to pass LogFormat. + """ + return pulumi.get(self, "log_format") + + @property + @pulumi.getter(name="logType") + def log_type(self) -> pulumi.Output[str]: + """ + Data delivery type, the values are: `domain`: site acceleration log; `application`: four-layer proxy log; `web-rateLiming`: rate limit and CC attack protection log; `web-attack`: managed rule log; `web-rule`: custom rule log; `web-bot`: Bot management log. + """ + return pulumi.get(self, "log_type") + + @property + @pulumi.getter + def s3(self) -> pulumi.Output['outputs.RealtimeLogDeliveryS3']: + """ + Configuration information of AWS S3 compatible storage bucket. This parameter is required when TaskType is s3. + """ + return pulumi.get(self, "s3") + + @property + @pulumi.getter + def sample(self) -> pulumi.Output[int]: + """ + The sampling ratio is in thousandths, with a value range of 1-1000. For example, filling in 605 means the sampling ratio is 60.5%. Leaving it blank means the sampling ratio is 100%. + """ + return pulumi.get(self, "sample") + + @property + @pulumi.getter(name="taskId") + def task_id(self) -> pulumi.Output[str]: + """ + Real-time log delivery task ID. + """ + return pulumi.get(self, "task_id") + + @property + @pulumi.getter(name="taskName") + def task_name(self) -> pulumi.Output[str]: + """ + The name of the real-time log delivery task. The format is a combination of numbers, English, -, and _. The maximum length is 200 characters. + """ + return pulumi.get(self, "task_name") + + @property + @pulumi.getter(name="taskType") + def task_type(self) -> pulumi.Output[str]: + """ + The real-time log delivery task type. The possible values are: `cls`: push to Tencent Cloud CLS; `custom_endpoint`: push to a custom HTTP(S) address; `s3`: push to an AWS S3 compatible storage bucket address. + """ + return pulumi.get(self, "task_type") + + @property + @pulumi.getter(name="zoneId") + def zone_id(self) -> pulumi.Output[str]: + """ + ID of the site. + """ + return pulumi.get(self, "zone_id") + diff --git a/sdk/python/tencentcloud_iac_pulumi/trocket/rocketmq_instance.py b/sdk/python/tencentcloud_iac_pulumi/trocket/rocketmq_instance.py index 0a3a719d8..283c24639 100644 --- a/sdk/python/tencentcloud_iac_pulumi/trocket/rocketmq_instance.py +++ b/sdk/python/tencentcloud_iac_pulumi/trocket/rocketmq_instance.py @@ -30,7 +30,7 @@ def __init__(__self__, *, """ The set of arguments for constructing a RocketmqInstance resource. :param pulumi.Input[str] instance_type: Instance type. Valid values: `EXPERIMENT`, `BASIC`, `PRO`, `PLATINUM`. - :param pulumi.Input[str] sku_code: SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_4k, basic_6k. + :param pulumi.Input[str] sku_code: SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_3k, basic_4k, basic_5k, basic_6k, basic_7k, basic_8k, basic_9k, basic_10k, pro_4k, pro_6k, pro_8k, pro_1w, pro_15k, pro_2w, pro_25k, pro_3w, pro_35k, pro_4w, pro_45k, pro_5w, pro_55k, pro_60k, pro_65k, pro_70k, pro_75k, pro_80k, pro_85k, pro_90k, pro_95k, pro_100k, platinum_1w, platinum_2w, platinum_3w, platinum_4w, platinum_5w, platinum_6w, platinum_7w, platinum_8w, platinum_9w, platinum_10w, platinum_12w, platinum_14w, platinum_16w, platinum_18w, platinum_20w, platinum_25w, platinum_30w, platinum_35w, platinum_40w, platinum_45w, platinum_50w, platinum_60w, platinum_70w, platinum_80w, platinum_90w, platinum_100w. :param pulumi.Input[str] subnet_id: Subnet id. :param pulumi.Input[str] vpc_id: VPC id. :param pulumi.Input[int] bandwidth: Public network bandwidth. `bandwidth` must be greater than zero when `enable_public` equal true. @@ -76,7 +76,7 @@ def instance_type(self, value: pulumi.Input[str]): @pulumi.getter(name="skuCode") def sku_code(self) -> pulumi.Input[str]: """ - SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_4k, basic_6k. + SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_3k, basic_4k, basic_5k, basic_6k, basic_7k, basic_8k, basic_9k, basic_10k, pro_4k, pro_6k, pro_8k, pro_1w, pro_15k, pro_2w, pro_25k, pro_3w, pro_35k, pro_4w, pro_45k, pro_5w, pro_55k, pro_60k, pro_65k, pro_70k, pro_75k, pro_80k, pro_85k, pro_90k, pro_95k, pro_100k, platinum_1w, platinum_2w, platinum_3w, platinum_4w, platinum_5w, platinum_6w, platinum_7w, platinum_8w, platinum_9w, platinum_10w, platinum_12w, platinum_14w, platinum_16w, platinum_18w, platinum_20w, platinum_25w, platinum_30w, platinum_35w, platinum_40w, platinum_45w, platinum_50w, platinum_60w, platinum_70w, platinum_80w, platinum_90w, platinum_100w. """ return pulumi.get(self, "sku_code") @@ -219,7 +219,7 @@ def __init__(__self__, *, :param pulumi.Input[str] name: Instance name. :param pulumi.Input[str] public_end_point: Public network access address. :param pulumi.Input[str] remark: Remark. - :param pulumi.Input[str] sku_code: SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_4k, basic_6k. + :param pulumi.Input[str] sku_code: SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_3k, basic_4k, basic_5k, basic_6k, basic_7k, basic_8k, basic_9k, basic_10k, pro_4k, pro_6k, pro_8k, pro_1w, pro_15k, pro_2w, pro_25k, pro_3w, pro_35k, pro_4w, pro_45k, pro_5w, pro_55k, pro_60k, pro_65k, pro_70k, pro_75k, pro_80k, pro_85k, pro_90k, pro_95k, pro_100k, platinum_1w, platinum_2w, platinum_3w, platinum_4w, platinum_5w, platinum_6w, platinum_7w, platinum_8w, platinum_9w, platinum_10w, platinum_12w, platinum_14w, platinum_16w, platinum_18w, platinum_20w, platinum_25w, platinum_30w, platinum_35w, platinum_40w, platinum_45w, platinum_50w, platinum_60w, platinum_70w, platinum_80w, platinum_90w, platinum_100w. :param pulumi.Input[str] subnet_id: Subnet id. :param pulumi.Input[Mapping[str, Any]] tags: Tag description list. :param pulumi.Input[str] vpc_end_point: VPC access address. @@ -352,7 +352,7 @@ def remark(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="skuCode") def sku_code(self) -> Optional[pulumi.Input[str]]: """ - SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_4k, basic_6k. + SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_3k, basic_4k, basic_5k, basic_6k, basic_7k, basic_8k, basic_9k, basic_10k, pro_4k, pro_6k, pro_8k, pro_1w, pro_15k, pro_2w, pro_25k, pro_3w, pro_35k, pro_4w, pro_45k, pro_5w, pro_55k, pro_60k, pro_65k, pro_70k, pro_75k, pro_80k, pro_85k, pro_90k, pro_95k, pro_100k, platinum_1w, platinum_2w, platinum_3w, platinum_4w, platinum_5w, platinum_6w, platinum_7w, platinum_8w, platinum_9w, platinum_10w, platinum_12w, platinum_14w, platinum_16w, platinum_18w, platinum_20w, platinum_25w, platinum_30w, platinum_35w, platinum_40w, platinum_45w, platinum_50w, platinum_60w, platinum_70w, platinum_80w, platinum_90w, platinum_100w. """ return pulumi.get(self, "sku_code") @@ -429,49 +429,67 @@ def __init__(__self__, """ Provides a resource to create a rocketmq 5.x instance - > **NOTE:** It only support create postpaid rocketmq 5.x instance. + > **NOTE:** It only supports create postpaid rocketmq 5.x instance. ## Example Usage - ### Basic Instance + ### Create Basic Instance ```python import pulumi import tencentcloud_iac_pulumi as tencentcloud - rocketmq_instance = tencentcloud.trocket.RocketmqInstance("rocketmqInstance", - instance_type="EXPERIMENT", + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create vpc subnet + subnet = tencentcloud.subnet.Instance("subnet", + vpc_id=vpc.id, + availability_zone="ap-guangzhou-6", + cidr_block="10.0.20.0/28", + is_multicast=False) + # create rocketmq instance + example = tencentcloud.trocket.RocketmqInstance("example", + instance_type="PRO", + sku_code="pro_4k", remark="remark", - sku_code="experiment_500", - subnet_id="subnet-xxxxxx", + vpc_id=vpc.id, + subnet_id=subnet.id, tags={ "tag_key": "rocketmq", "tag_value": "5.x", - }, - vpc_id="vpc-xxxxxx") + }) ``` - ### Enable Public Instance + ### Create Enable Public Network Instance ```python import pulumi import tencentcloud_iac_pulumi as tencentcloud - rocketmq_instance_public = tencentcloud.trocket.RocketmqInstance("rocketmqInstancePublic", - bandwidth=1, - enable_public=True, - instance_type="EXPERIMENT", + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create vpc subnet + subnet = tencentcloud.subnet.Instance("subnet", + vpc_id=vpc.id, + availability_zone="ap-guangzhou-6", + cidr_block="10.0.20.0/28", + is_multicast=False) + # create rocketmq instance + example = tencentcloud.trocket.RocketmqInstance("example", + instance_type="PRO", + sku_code="pro_4k", remark="remark", - sku_code="experiment_500", - subnet_id="subnet-xxxxxx", + vpc_id=vpc.id, + subnet_id=subnet.id, + enable_public=True, + bandwidth=10, tags={ "tag_key": "rocketmq", "tag_value": "5.x", - }, - vpc_id="vpc-xxxxxx") + }) ``` @@ -480,7 +498,7 @@ def __init__(__self__, trocket rocketmq_instance can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Trocket/rocketmqInstance:RocketmqInstance rocketmq_instance rocketmq_instance_id + $ pulumi import tencentcloud:Trocket/rocketmqInstance:RocketmqInstance rocketmq_instance rmq-n5qado7m ``` :param str resource_name: The name of the resource. @@ -492,7 +510,7 @@ def __init__(__self__, :param pulumi.Input[int] message_retention: Message retention time in hours. :param pulumi.Input[str] name: Instance name. :param pulumi.Input[str] remark: Remark. - :param pulumi.Input[str] sku_code: SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_4k, basic_6k. + :param pulumi.Input[str] sku_code: SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_3k, basic_4k, basic_5k, basic_6k, basic_7k, basic_8k, basic_9k, basic_10k, pro_4k, pro_6k, pro_8k, pro_1w, pro_15k, pro_2w, pro_25k, pro_3w, pro_35k, pro_4w, pro_45k, pro_5w, pro_55k, pro_60k, pro_65k, pro_70k, pro_75k, pro_80k, pro_85k, pro_90k, pro_95k, pro_100k, platinum_1w, platinum_2w, platinum_3w, platinum_4w, platinum_5w, platinum_6w, platinum_7w, platinum_8w, platinum_9w, platinum_10w, platinum_12w, platinum_14w, platinum_16w, platinum_18w, platinum_20w, platinum_25w, platinum_30w, platinum_35w, platinum_40w, platinum_45w, platinum_50w, platinum_60w, platinum_70w, platinum_80w, platinum_90w, platinum_100w. :param pulumi.Input[str] subnet_id: Subnet id. :param pulumi.Input[Mapping[str, Any]] tags: Tag description list. :param pulumi.Input[str] vpc_id: VPC id. @@ -506,49 +524,67 @@ def __init__(__self__, """ Provides a resource to create a rocketmq 5.x instance - > **NOTE:** It only support create postpaid rocketmq 5.x instance. + > **NOTE:** It only supports create postpaid rocketmq 5.x instance. ## Example Usage - ### Basic Instance + ### Create Basic Instance ```python import pulumi import tencentcloud_iac_pulumi as tencentcloud - rocketmq_instance = tencentcloud.trocket.RocketmqInstance("rocketmqInstance", - instance_type="EXPERIMENT", + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create vpc subnet + subnet = tencentcloud.subnet.Instance("subnet", + vpc_id=vpc.id, + availability_zone="ap-guangzhou-6", + cidr_block="10.0.20.0/28", + is_multicast=False) + # create rocketmq instance + example = tencentcloud.trocket.RocketmqInstance("example", + instance_type="PRO", + sku_code="pro_4k", remark="remark", - sku_code="experiment_500", - subnet_id="subnet-xxxxxx", + vpc_id=vpc.id, + subnet_id=subnet.id, tags={ "tag_key": "rocketmq", "tag_value": "5.x", - }, - vpc_id="vpc-xxxxxx") + }) ``` - ### Enable Public Instance + ### Create Enable Public Network Instance ```python import pulumi import tencentcloud_iac_pulumi as tencentcloud - rocketmq_instance_public = tencentcloud.trocket.RocketmqInstance("rocketmqInstancePublic", - bandwidth=1, - enable_public=True, - instance_type="EXPERIMENT", + # create vpc + vpc = tencentcloud.vpc.Instance("vpc", cidr_block="10.0.0.0/16") + # create vpc subnet + subnet = tencentcloud.subnet.Instance("subnet", + vpc_id=vpc.id, + availability_zone="ap-guangzhou-6", + cidr_block="10.0.20.0/28", + is_multicast=False) + # create rocketmq instance + example = tencentcloud.trocket.RocketmqInstance("example", + instance_type="PRO", + sku_code="pro_4k", remark="remark", - sku_code="experiment_500", - subnet_id="subnet-xxxxxx", + vpc_id=vpc.id, + subnet_id=subnet.id, + enable_public=True, + bandwidth=10, tags={ "tag_key": "rocketmq", "tag_value": "5.x", - }, - vpc_id="vpc-xxxxxx") + }) ``` @@ -557,7 +593,7 @@ def __init__(__self__, trocket rocketmq_instance can be imported using the id, e.g. ```sh - $ pulumi import tencentcloud:Trocket/rocketmqInstance:RocketmqInstance rocketmq_instance rocketmq_instance_id + $ pulumi import tencentcloud:Trocket/rocketmqInstance:RocketmqInstance rocketmq_instance rmq-n5qado7m ``` :param str resource_name: The name of the resource. @@ -654,7 +690,7 @@ def get(resource_name: str, :param pulumi.Input[str] name: Instance name. :param pulumi.Input[str] public_end_point: Public network access address. :param pulumi.Input[str] remark: Remark. - :param pulumi.Input[str] sku_code: SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_4k, basic_6k. + :param pulumi.Input[str] sku_code: SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_3k, basic_4k, basic_5k, basic_6k, basic_7k, basic_8k, basic_9k, basic_10k, pro_4k, pro_6k, pro_8k, pro_1w, pro_15k, pro_2w, pro_25k, pro_3w, pro_35k, pro_4w, pro_45k, pro_5w, pro_55k, pro_60k, pro_65k, pro_70k, pro_75k, pro_80k, pro_85k, pro_90k, pro_95k, pro_100k, platinum_1w, platinum_2w, platinum_3w, platinum_4w, platinum_5w, platinum_6w, platinum_7w, platinum_8w, platinum_9w, platinum_10w, platinum_12w, platinum_14w, platinum_16w, platinum_18w, platinum_20w, platinum_25w, platinum_30w, platinum_35w, platinum_40w, platinum_45w, platinum_50w, platinum_60w, platinum_70w, platinum_80w, platinum_90w, platinum_100w. :param pulumi.Input[str] subnet_id: Subnet id. :param pulumi.Input[Mapping[str, Any]] tags: Tag description list. :param pulumi.Input[str] vpc_end_point: VPC access address. @@ -747,7 +783,7 @@ def remark(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="skuCode") def sku_code(self) -> pulumi.Output[str]: """ - SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_4k, basic_6k. + SKU code. Available specifications are as follows: experiment_500, basic_1k, basic_2k, basic_3k, basic_4k, basic_5k, basic_6k, basic_7k, basic_8k, basic_9k, basic_10k, pro_4k, pro_6k, pro_8k, pro_1w, pro_15k, pro_2w, pro_25k, pro_3w, pro_35k, pro_4w, pro_45k, pro_5w, pro_55k, pro_60k, pro_65k, pro_70k, pro_75k, pro_80k, pro_85k, pro_90k, pro_95k, pro_100k, platinum_1w, platinum_2w, platinum_3w, platinum_4w, platinum_5w, platinum_6w, platinum_7w, platinum_8w, platinum_9w, platinum_10w, platinum_12w, platinum_14w, platinum_16w, platinum_18w, platinum_20w, platinum_25w, platinum_30w, platinum_35w, platinum_40w, platinum_45w, platinum_50w, platinum_60w, platinum_70w, platinum_80w, platinum_90w, platinum_100w. """ return pulumi.get(self, "sku_code")